3D Scene initial
This commit is contained in:
parent
805c891557
commit
5c90192c9f
8 changed files with 117 additions and 77 deletions
43
3DScene/public/Scene.hpp
Normal file
43
3DScene/public/Scene.hpp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#pragma once
|
||||
|
||||
#include "Topology.hpp"
|
||||
#include "Buffer2D.hpp"
|
||||
#include "Camera.hpp"
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace tp {
|
||||
class GPUBuffers {
|
||||
public:
|
||||
GPUBuffers() = default;
|
||||
virtual ~GPUBuffers() = default;
|
||||
};
|
||||
|
||||
class Object {
|
||||
public:
|
||||
Object() = default;
|
||||
|
||||
public:
|
||||
Topology mTopology;
|
||||
TopologyCache mCache;
|
||||
GPUBuffers* mGUPBuffers = nullptr;
|
||||
};
|
||||
|
||||
struct PointLight {
|
||||
Vec3F pos;
|
||||
halnf fallOut = 1.f;
|
||||
halnf intensity = 1.f;
|
||||
};
|
||||
|
||||
class Scene {
|
||||
public:
|
||||
Scene() = default;
|
||||
|
||||
bool load(const std::string& scenePath);
|
||||
|
||||
public:
|
||||
Buffer<Object> mObjects;
|
||||
Buffer<PointLight> mLights;
|
||||
Camera mCamera;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue