Covellite++
Version: 2.3.2 Revision: 2584 Platform: x64 Build: 19:03 05.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Toggle main menu visibility
Загрузка...
Поиск...
Не найдено
Shadows.hpp
1
2
#pragma once
3
#include "GameObject.hpp"
4
#include "CubeCoords.hpp"
5
#include "Defines.hpp"
6
#include "Lights.hpp"
7
8
namespace
basement
9
{
10
11
namespace
model
12
{
13
30
class
Shadows final :
31
public
GameObject
32
{
33
using
CursorDataPtr_t = ::std::shared_ptr<::basement::Cursor>;
34
using
ComponentPtr_t = ::covellite::api::Component::ComponentPtr_t;
35
using
Updater_t = ::covellite::api::Updater_t;
36
37
struct
Light_s
38
{
39
::glm::mat4 View;
40
::glm::mat4 Projection;
41
};
42
43
struct
Object_s
44
{
45
float
IdX, IdY, dummy2, dummy3;
46
};
47
48
struct
Cursor_s
49
{
50
float
X, Y, dummy2, dummy3;
51
};
52
53
struct
ShaderData
54
{
55
Light_s Light;
56
Cursor_s Cursor;
57
Lights_t Lights;
58
};
59
60
public
:
61
Objects_t
GetObject
(
const
Any_t &)
const override
;
62
63
private
:
64
Object_t GetPass1(
void
)
const
;
65
Object_t GetPass2(
void
)
const
;
66
Object_t GetPass3(
void
)
const
;
67
68
private
:
69
Object_t GetTextureSurface(
const
bool
)
const
;
70
Object_t GetShadowCamera(
void
)
const
;
71
static
Object_t GetShadowShaders(
void
);
72
Object_t GetSceneCamera(
void
)
const
;
73
static
Object_t GetSceneShaders(
void
);
74
Object_t GetShaderData(
const
CubeCoords
&)
const
;
75
Object_t GetTransformData(
const
CubeCoords
&)
const
;
76
static
Object_t GetTransform(
const
Object_t &);
77
static
Object_t GetFlatCamera(
void
);
78
Object_t GetFlatShaders(
const
String_t & = uT(
"psExperimental"
))
const
;
79
Object_t GetTextureObject(
const
String_t &,
const
float
= 0.0f)
const
;
80
81
private
:
82
float
m_ScaleFactor = 1.5f;
83
ComponentPtr_t m_pLightCamera;
84
Object_t m_ShadowMap;
85
Object_t m_SurfaceTextures;
86
ComponentPtr_t m_pSceneCamera;
87
ComponentPtr_t m_pBkSurface;
88
::std::shared_ptr<ShaderData> m_pShaderData;
89
mutable
CursorDataPtr_t m_pCursorData;
90
Object_t m_SceneObjects_pass1;
91
Object_t m_SceneObjects_pass2;
92
93
private
:
94
explicit
Shadows(
const
Another::Value);
95
friend
GameObject;
96
};
97
98
}
// namespace model
99
100
}
// namespace basement
basement
Определения
Common.hpp:10
basement::model::CubeCoords
Класс входит в проект Example Класс манипуляции кубическими координатами.
Определения
CubeCoords.hpp:26
basement::model::Shadows::GetObject
Objects_t GetObject(const Any_t &) const override
Функция получения уникального набора компонентов игрового объекта.
Определения
Shadows.cpp:222
Solution
Solution
Example
Example
Basements
Demo
Shadows.hpp
Документация по Covellite++. Последние изменения:
. Создано системой
1.18.0