-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;
我需要以某種方式排列的數據?