Точки пространства в каскадах
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
// Ближняя граница области отсечения
|
||||
#define CAMERA_NEAR 0.1f
|
||||
// Дальняя граница области отсечения
|
||||
#define CAMERA_FAR 15.0f
|
||||
#define CAMERA_FAR 100.0f
|
||||
// Вектор, задающий верх для камеры
|
||||
#define CAMERA_UP_VECTOR glm::vec3(0.0f, 1.0f, 0.0f)
|
||||
// Вектор, задающий стандартный поворот углами Эйлера (в положительном направлении оси Z)
|
||||
@@ -20,6 +20,11 @@
|
||||
#define CAMERA_FOVy 60.0f
|
||||
// Стандартная чувствительность
|
||||
#define CAMERA_DEFAULT_SENSIVITY 0.005f
|
||||
// Количество каскадов для карт теней
|
||||
#define CAMERA_CASCADE_COUNT 4
|
||||
|
||||
// Данные о дистанциях каскадов
|
||||
extern const float camera_cascade_distances[]; // src/Camera.cpp
|
||||
|
||||
// Данные о камере для шейдера
|
||||
struct CameraData
|
||||
@@ -54,7 +59,7 @@ class Camera : public Node
|
||||
static Camera& current(); // Ссылка на текущую используемую камеру
|
||||
|
||||
CameraData& getData(); // Данные о камере для шейдера
|
||||
std::pair<bool, const glm::vec4*> getProjCoords(); // Доступ к координатам с флагом изменения, описывающим пространство вида с пересчетом, если это требуется
|
||||
std::pair<bool, const glm::vec4(*)[8]> getProjCoords(); // Доступ к координатам с флагом изменения, описывающим пространство вида с пересчетом, если это требуется
|
||||
protected:
|
||||
Camera(const glm::vec3 &position, const glm::vec3 &initialRotation); // Защищенный (protected) конструктор камеры без перспективы
|
||||
|
||||
@@ -63,7 +68,8 @@ class Camera : public Node
|
||||
glm::mat4 vp; // Матрица произведения вида и проекции
|
||||
bool requiredRecalcVP; // Необходимость пересчета матрицы вида и проекции камеры
|
||||
bool requiredRecalcCoords; // Необходимость пересчета точек, описывающих пространство камеры
|
||||
glm::vec4 coords[8]; // Координаты, описывающие пространство камеры
|
||||
glm::vec4 coords[CAMERA_CASCADE_COUNT][8]; // Координаты, описывающие пространство камеры
|
||||
glm::mat4 cascade_proj[CAMERA_CASCADE_COUNT]; // Матрицы проекций каскадов
|
||||
|
||||
float sensitivity; // Чувствительность мыши
|
||||
|
||||
|
||||
Reference in New Issue
Block a user