+ | Multiple sphere sent to GPU working

This commit is contained in:
TheRedShip
2024-12-24 01:44:53 +01:00
parent 7b56daf149
commit 216e9a684a
10 changed files with 166 additions and 62 deletions

View File

@ -15,6 +15,19 @@
# include "RT.hpp"
struct GPUObject
{
glm::vec3 position;
int padding_1;
glm::vec3 color;
int padding_2;
float roughness;
float specular;
float radius;
int type;
};
class Sphere;
class Camera;
class Scene
@ -23,11 +36,16 @@ class Scene
Scene();
~Scene();
Camera *getCamera(void) const;
// Object *getObjects(void) const;
Camera *getCamera(void) const;
void addObject(std::unique_ptr<Object> object);
void updateGPUData();
const std::vector<GPUObject>& getGPUData() const;
private:
// Object *_objects;
std::vector<std::unique_ptr<Object>> _objects;
std::vector<GPUObject> _gpuObjects;
Camera *_camera;
};