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;
私は何とかデータを整列させる必要がありますか?