don't need to pass around a camera
This commit is contained in:
@@ -26,8 +26,7 @@ void Renderer::Init(DisplayInterface* display) {
|
||||
m_interface = display;
|
||||
}
|
||||
|
||||
void Renderer::InitRender(Camera* camera, Scene* scene) {
|
||||
m_camera = camera;
|
||||
void Renderer::InitRender(Scene* scene) {
|
||||
m_scene = scene;
|
||||
RendererInitialized = true;
|
||||
}
|
||||
@@ -58,7 +57,7 @@ void Renderer::Render(uint32_t* framebuffer) {
|
||||
void Renderer::RenderProgressive() {
|
||||
m_progressive = new ProgressiveRenderer();
|
||||
|
||||
m_progressive->Init(m_interface, m_camera, m_scene);
|
||||
m_progressive->Init(m_interface, m_scene);
|
||||
m_progressive->Render();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ class DisplayInterface;
|
||||
|
||||
class ProgressiveRenderer;
|
||||
|
||||
class Camera;
|
||||
class Scene;
|
||||
|
||||
// Function initProgressive or whatever takes a pointer to the display
|
||||
@@ -20,7 +19,7 @@ public:
|
||||
void Init();
|
||||
|
||||
void Init(DisplayInterface* display);
|
||||
void InitRender(Camera* camera, Scene* scene);
|
||||
void InitRender(Scene* scene);
|
||||
|
||||
bool RendererInitialized = false;
|
||||
|
||||
@@ -34,7 +33,6 @@ private:
|
||||
DisplayInterface* m_interface = nullptr;
|
||||
uint32_t* m_framebuffer = nullptr;
|
||||
|
||||
Camera* m_camera = nullptr;
|
||||
Scene* m_scene = nullptr;
|
||||
|
||||
void RenderProgressive();
|
||||
|
||||
@@ -11,9 +11,8 @@ ProgressiveRenderer::ProgressiveRenderer() {
|
||||
|
||||
}
|
||||
|
||||
void ProgressiveRenderer::Init(DisplayInterface* interface, Camera* camera, Scene* scene) {
|
||||
void ProgressiveRenderer::Init(DisplayInterface* interface, Scene* scene) {
|
||||
m_interface = interface;
|
||||
m_camera = camera;
|
||||
m_scene = scene;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,21 +3,19 @@
|
||||
|
||||
class DisplayInterface;
|
||||
|
||||
class Camera;
|
||||
class Scene;
|
||||
|
||||
class ProgressiveRenderer {
|
||||
public:
|
||||
ProgressiveRenderer();
|
||||
|
||||
void Init(DisplayInterface* interface, Camera* camera, Scene* scene);
|
||||
void Init(DisplayInterface* interface, Scene* scene);
|
||||
|
||||
void Render();
|
||||
|
||||
private:
|
||||
DisplayInterface* m_interface = nullptr;
|
||||
|
||||
Camera* m_camera = nullptr;
|
||||
Scene* m_scene = nullptr;
|
||||
};
|
||||
|
||||
|
||||
@@ -49,18 +49,10 @@ void InfernoEngine::SetScene(Scene* scene) {
|
||||
m_scene = scene;
|
||||
}
|
||||
|
||||
void InfernoEngine::SetCamera(Camera* camera) {
|
||||
m_camera = camera;
|
||||
}
|
||||
|
||||
void InfernoEngine::AutoInitCamera() {
|
||||
// set up a camera
|
||||
}
|
||||
|
||||
void InfernoEngine::Ready() {
|
||||
if (!m_camera || !m_scene) return;
|
||||
m_renderer->InitRender(m_camera, m_scene);
|
||||
|
||||
if (!m_scene) return;
|
||||
m_renderer->InitRender(m_scene);
|
||||
|
||||
if (!m_initialized) m_initialized = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,6 @@ public:
|
||||
|
||||
// Functions related to raytracing
|
||||
void SetScene(Scene* scene);
|
||||
void SetCamera(Camera* camera);
|
||||
void AutoInitCamera();
|
||||
|
||||
void Ready();
|
||||
void Render();
|
||||
@@ -61,7 +59,6 @@ private:
|
||||
Display* m_display = nullptr;
|
||||
Renderer* m_renderer = nullptr;
|
||||
|
||||
Camera* m_camera = nullptr;
|
||||
Scene* m_scene = nullptr;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ int main(int argc, char** argv) {
|
||||
std::cout << "Error initializing window: " << inferno.LastError() << std::endl;
|
||||
}
|
||||
|
||||
inferno.SetCamera(new Camera());
|
||||
inferno.SetScene(new Scene());
|
||||
|
||||
inferno.Ready();
|
||||
|
||||
Reference in New Issue
Block a user