-1
struct Light {
glm::vec4 position;
glm::vec4 color;
glm::vec4 attenuation;
};
struct UBO {
// View and projection matrix
glm::mat4 view;
glm::mat4 proj;
// Fog
glm::vec4 skyColor;
float density;
float gradient;
// Clipping plane
glm::vec4 clippingPlane;
// Lights
Light lights[4];
};
比对福尔康API:UBOs以及它们在福尔康
的UBO结构是每个更新的每个帧,然后传递到顶点着色器上形成均匀缓冲区。 渲染的图像颜色错误,因为光阵列没有正确传递。
顶点着色器绑定:
layout (binding = 1) uniform UBO {
// View and projection matrix
mat4 view;
mat4 proj;
// Fog
vec4 skyColor;
float density;
float gradient;
// Clipping plane
vec4 clippingPlane;
// Lights
Light lights[4];
} ubo;
我需要以某种方式排列的数据?