Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
Simple3DObject.hpp
1
2#pragma once
3#include <Covellite/Covellite.hpp>
4#include "Common.hpp"
5
6namespace events
7{
8
9class Simple3DObject_t
10{
11public:
12 enum Id
13 {
14 Start = 0,
15 LightsChanged,
16 };
17};
18
19namespace { Simple3DObject_t Simple3DObject; }
20
21} // namespace events
22
23namespace basement
24{
25
26class Lights final
27{
28public:
29 enum Type
30 {
31 Ambient = 0,
32 Directional,
33 Red,
34 Green,
35 Blue,
36 PBR,
37 };
38};
39
55class Simple3DObject final :
56 public Common
57{
61
62public:
63 void Notify(int, const ::boost::any &) override;
64
65private:
66 Updater_t GetUpdater(void);
67
68private:
69 ObjectId_t BuildCamera(void);
70 ObjectId_t BuildShader(int, bool);
71 ObjectId_t BuildLights(int);
72 void BuildSimpleCubes(int, float);
73 void BuildInstanceCubes(int, int, float);
74 void BuildCubeData(int);
75 ObjectId_t BuildSimpleCubeObject(float, float, float);
76
77private:
78 Component_t::ComponentPtr_t m_pCubeRotation;
79 ObjectId_t m_CameraId;
80 ObjectId_t m_ShaderId;
81 ObjectId_t m_LightsId;
82 ::std::vector<Vertex_t> m_VertexData;
83 ::std::vector<int> m_IndexData;
84 ::std::vector<ObjectId_t> m_Cubes;
85 ::std::vector<float> m_InstanceData;
86
87public:
88 Simple3DObject(WindowExpanse_t &, const int, const int);
89 ~Simple3DObject(void);
90};
91
92} // namespace basement
Definition Common.hpp:10
Класс входит в проект Covellite.Api Класс формата вертексного буфера.
Definition Vertex.hpp:34
Класс входит в проект Covellite.Expanse Интерфейс класса окна.
Definition IWindow.hpp:32
Класс входит в проект Example Класс общей логики отрисовки 3D сцены.
Definition Common.hpp:31
Класс входит в проект Example Класс отрисовки простого 3D объекта для слоя Draw3DObject.
Definition Simple3DObject.hpp:57
void Notify(int, const ::boost::any &) override
[Vertex format]
Definition Simple3DObject.cpp:103
ObjectId_t BuildShader(int, bool)
Definition Simple3DObject.cpp:197
ObjectId_t BuildSimpleCubeObject(float, float, float)
Definition Simple3DObject.cpp:554
ObjectId_t BuildLights(int)
Definition Simple3DObject.cpp:292
ObjectId_t BuildCamera(void)
Definition Simple3DObject.cpp:135