xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
xcal
render
impl
opengl
object
path.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include <
xcal/mobject/objects/path.hpp
>
4
#include <
xcal/render/impl/opengl/gl/buffer.hpp
>
5
#include <
xcal/render/impl/opengl/object/object.hpp
>
6
#include <
xcal/render/impl/opengl/utils/singlemobjectwrapper.hpp
>
7
#include <
xcmath/xcmath.hpp
>
8
9
namespace
xcal::render::opengl::object
{
10
class
XCAL_API
Path
:
public
Object
{
11
public
:
12
using
mat
=
xcmath::mat<float_t, 4, 4>
;
13
14
private
:
15
GL::Buffer
stroke_vbo_;
16
GL::Buffer
fill_vbo_;
17
GL::Buffer
position_vbo_;
18
utils::SingleComposedMObjectWrapper<mobject::Path>
mobject_{
nullptr
};
19
std::shared_ptr<GL::ShaderProgram> stroke_shader_program_;
20
std::shared_ptr<GL::ShaderProgram> fill_shader_program_;
21
22
public
:
23
explicit
Path
(
mobject::Path
*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
Path
(
const
Path
&) =
delete
;
31
};
32
}
// namespace xcal::render::opengl::object
33
XCAL_OPENGL_REGIST_OBJECT
(
xcal::render::opengl::object::Path
, Path);
buffer.hpp
xcal::mobject::Path
Definition
path.hpp:12
xcal::render::opengl::GL::Buffer
Definition
buffer.hpp:10
xcal::render::opengl::object::Object
Definition
object.hpp:15
xcal::render::opengl::object::Path
Definition
path.hpp:10
xcal::render::opengl::object::Path::Path
Path(const Path &)=delete
xcal::render::opengl::utils::SingleComposedMObjectWrapper
Definition
singlemobjectwrapper.hpp:13
xcmath::mat< float_t, 4, 4 >
path.hpp
xcal::render::opengl::object
Definition
typedef.hpp:36
xcal::render::opengl::object::create
xcal::render::opengl::object::object_ptr create(T *mobject)
object.hpp
XCAL_OPENGL_REGIST_OBJECT
#define XCAL_OPENGL_REGIST_OBJECT(class_, type)
Definition
object.hpp:44
XCAL_API
#define XCAL_API
Definition
public.h:69
singlemobjectwrapper.hpp
xcmath.hpp
生成于 2025年 九月 19日 星期五 21:12:12 , 为 xcal使用
1.9.8