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

[#94] fixed compile error by re-adding the textureData struct in the saf-r project itself

parent 25adc727
No related branches found
No related tags found
1 merge request!77Resolve "SAF-R Module"
Pipeline #26899 passed
......@@ -101,7 +101,7 @@ int main(int argc, const char** argv) {
lights.push_back(safrScene::Light(glm::vec3(30, 20, 30), 1.7));
//create the raytracer image for rendering
safrScene scene;
vkcv::asset::TextureData texData = scene.render(spheres, lights);
safrScene::TextureData texData = scene.render(spheres, lights);
vkcv::Image texture = core.createImage(vk::Format::eR8G8B8A8Unorm, texData.width, texData.height);
texture.fill(texData.data.data());
......
......@@ -56,7 +56,7 @@ glm::vec3 safrScene::castRay(const glm::vec3& orig, const glm::vec3& dir, const
glm::vec3(1., 1., 1.) * specular_light_intensity * material.albedo[1] + reflect_color * material.albedo[2];
}
vkcv::asset::TextureData safrScene::render(const std::vector<safrScene::Sphere>& spheres, const std::vector<safrScene::Light>& lights) {
safrScene::TextureData safrScene::render(const std::vector<safrScene::Sphere>& spheres, const std::vector<safrScene::Light>& lights) {
//constants for the image data
const int width = 800;
const int height = 600;
......@@ -86,7 +86,7 @@ vkcv::asset::TextureData safrScene::render(const std::vector<safrScene::Sphere>&
data.push_back(static_cast<uint8_t>(255.f));
}
vkcv::asset::TextureData textureData;
safrScene::TextureData textureData;
textureData.width = width;
textureData.height = height;
textureData.componentCount = 4;
......
......@@ -13,6 +13,17 @@
class safrScene {
public:
/**
* WORKAROUND
* moved the texture data struct from the old asset loader version, because it is necessary for our rendering for now
*/
struct TextureData {
int width;
int height;
int componentCount;
std::vector<char*> data;
};
/*
* Light struct with a position and intensity of the light source
*/
......@@ -68,7 +79,7 @@ public:
* @param vector: all light sources in the scene
* @return TextureData: texture data for the buffers
*/
vkcv::asset::TextureData render(const std::vector<Sphere>& spheres, const std::vector<Light>& lights);
TextureData render(const std::vector<Sphere>& spheres, const std::vector<Light>& lights);
private:
/*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment