xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
xcal
render
impl
opengl
object
circle.hpp
浏览该文件的文档.
1
#pragma once
2
#include <
xcal/public.h
>
3
4
#include <
xcal/mobject/objects/circle.hpp
>
5
#include <
xcal/render/impl/opengl/gl/buffer.hpp
>
6
#include <
xcal/render/impl/opengl/object/object.hpp
>
7
#include <
xcal/render/impl/opengl/utils/singlemobjectwrapper.hpp
>
8
#include <
xcmath/mobject/mat.hpp
>
9
#include <
xcmath/xcmath.hpp
>
10
11
namespace
xcal::render::opengl::object
{
12
class
XCAL_API
Circle
:
public
Object
{
13
public
:
14
using
mat
=
xcmath::mat<float_t, 4, 4>
;
15
16
private
:
17
GL::Buffer
vbo_;
18
utils::SingleComposedMObjectWrapper<mobject::Circle>
mobject_{
nullptr
};
19
std::shared_ptr<GL::ShaderProgram> shader_program_;
20
int
segments_{36};
// Number of segments to approximate circle
21
22
public
:
23
explicit
Circle(
mobject::Circle
*mobject);
24
void
create()
override
;
25
void
destroy()
override
;
26
void
render()
const override
;
27
virtual
void
update_projection_view(
28
const
xcmath::mat4<float_t>
&projection_view)
override
;
29
30
Circle
(
const
Circle
&) =
delete
;
31
};
32
}
// namespace xcal::render::opengl::object
33
XCAL_OPENGL_REGIST_OBJECT
(
xcal::render::opengl::object::Circle
, Circle);
buffer.hpp
xcal::mobject::Circle
圆形图形对象类
Definition
circle.hpp:18
xcal::render::opengl::GL::Buffer
Definition
buffer.hpp:10
xcal::render::opengl::object::Circle
Definition
circle.hpp:12
xcal::render::opengl::object::Circle::Circle
Circle(const Circle &)=delete
xcal::render::opengl::object::Object
Definition
object.hpp:15
xcal::render::opengl::utils::SingleComposedMObjectWrapper
Definition
singlemobjectwrapper.hpp:13
xcmath::mat< float_t, 4, 4 >
mat.hpp
Header file for matrix class template and related utilities
circle.hpp
xcal::render::opengl::object
Definition
typedef.hpp:36
object.hpp
XCAL_OPENGL_REGIST_OBJECT
#define XCAL_OPENGL_REGIST_OBJECT(class_, type)
Definition
object.hpp:44
public.h
XCAL_API
#define XCAL_API
Definition
public.h:69
singlemobjectwrapper.hpp
xcmath.hpp
生成于 2025年 九月 19日 星期五 21:12:12 , 为 xcal使用
1.9.8