Переделка камеры

This commit is contained in:
2022-11-23 14:14:20 +03:00
parent f94d55aaf4
commit 5c88cabf7e
4 changed files with 24 additions and 5 deletions

View File

@@ -181,3 +181,11 @@ Camera& Camera::current()
else
return *p_current;
}
// Данные о камере для шейдера
CameraData& Camera::getData()
{
static CameraData data;
data = {getProjection(), getView(), position};
return data;
}

View File

@@ -112,7 +112,7 @@ int main(void)
};
// Uniform-буферы
UBO cameraUB(sizeof(glm::mat4)*2, 0);
UBO cameraUB(sizeof(CameraData), 0);
UBO material_data(sizeof(Material), 1);
UBO light_data(&light, sizeof(LightData), 2);
@@ -122,8 +122,7 @@ int main(void)
while(!glfwWindowShouldClose(window))
{
// Загрузка данных о камере
cameraUB.loadSub(&Camera::current().getProjection(), sizeof(glm::mat4), 0);
cameraUB.loadSub(&Camera::current().getView(), sizeof(glm::mat4), sizeof(glm::mat4));
cameraUB.loadSub(&Camera::current().getData(), sizeof(CameraData));
// Очистка буфера цвета
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);