Skip to content
Snippets Groups Projects
Commit 8bf8f8e0 authored by Mara Vogt's avatar Mara Vogt
Browse files

[#94] fixed alignment issues and descriptorwrite overwrite issues

parent 1bed07e8
No related branches found
No related tags found
1 merge request!77Resolve "SAF-R Module"
Pipeline #26900 passed
......@@ -2,19 +2,19 @@
#extension GL_ARB_separate_shader_objects : enable
struct Material {
vec3 diffuse_color;
vec3 albedo;
vec3 diffuse_color;
float specular_exponent;
};
layout(std430, binding = 0) coherent buffer Lights{
vec3 position [];
float intensity [];
vec3 position;
float intensity;
};
layout(std430, binding = 1) coherent buffer Materials{
vec3 diffuse_color;
vec3 albedo;
vec3 diffuse_color;
float specular_exponent;
};
......
......@@ -119,19 +119,19 @@ int main(int argc, const char** argv) {
vkcv::Buffer<safrScene::Light> lightsBuffer = core.createBuffer<safrScene::Light>(
vkcv::BufferType::STORAGE,
lights.size()
);
);
lightsBuffer.fill(lights);
vkcv::Buffer<safrScene::Sphere> sphereBuffer = core.createBuffer<safrScene::Sphere>(
vkcv::BufferType::STORAGE,
spheres.size()
);
);
sphereBuffer.fill(spheres);
vkcv::Buffer<safrScene::Material> materialBuffer = core.createBuffer<safrScene::Material>(
vkcv::BufferType::STORAGE,
materials.size()
);
);
materialBuffer.fill(materials);
......@@ -142,7 +142,9 @@ int main(int argc, const char** argv) {
vkcv::DescriptorWrites computeWrites;
computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(0,lightsBuffer.getHandle()) };
core.writeDescriptorSet(computeDescriptorSet, computeWrites);
computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(1,materialBuffer.getHandle()) };
core.writeDescriptorSet(computeDescriptorSet, computeWrites);
computeWrites.storageBufferWrites = { vkcv::BufferDescriptorWrite(2,sphereBuffer.getHandle()) };
core.writeDescriptorSet(computeDescriptorSet, computeWrites);
......
......@@ -39,8 +39,8 @@ public:
struct Material {
Material(const glm::vec3& a, const glm::vec3& color, const float& spec) : albedo(a), diffuse_color(color), specular_exponent(spec) {}
Material() : albedo(1, 0, 0), diffuse_color(), specular_exponent() {}
glm::vec3 diffuse_color;
glm::vec3 albedo;
alignas(16) glm::vec3 diffuse_color;
float specular_exponent;
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment