cast cast what
This commit is contained in:
@@ -50,7 +50,8 @@ public:
|
||||
std::vector<Material*>* mats,
|
||||
std::vector<int>* indicies) = 0;
|
||||
|
||||
virtual void submitQueue(std::queue<Ray*> queue) = 0;
|
||||
// module keeps queue reference
|
||||
virtual void submitQueue(std::vector<Ray*> queue) = 0;
|
||||
virtual void pushtoQueue(Ray* ray) = 0;
|
||||
|
||||
inline void passHitCallback(HART_HIT_CALLBACK callback)
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#include "hart_module.hpp"
|
||||
|
||||
#include <renderer/ray_source.hpp>
|
||||
#include <scene/scene.hpp>
|
||||
#include <scene/mesh.hpp>
|
||||
|
||||
using namespace inferno;
|
||||
|
||||
HHM::HHM()
|
||||
@@ -20,26 +24,35 @@ HARTModuleDirectory* HHM::getModuleDirectory()
|
||||
|
||||
void HHM::newScene(Scene* scene)
|
||||
{
|
||||
// extract mesh's
|
||||
HARTModule* mod = mDirectory.getActiveModule();
|
||||
std::vector<Mesh*> meshs = scene->getRenderables();
|
||||
for (const auto* mesh : meshs) {
|
||||
// mesh->getVerticies();
|
||||
}
|
||||
// mod->submitTris();
|
||||
}
|
||||
|
||||
void HHM::notifySceneUpdate()
|
||||
{
|
||||
HARTModule* mod = mDirectory.getActiveModule();
|
||||
// same again
|
||||
}
|
||||
|
||||
void HHM::startTrace(RaySource* sourceScatter)
|
||||
void HHM::startTrace(RayField* sourceScatter)
|
||||
{
|
||||
|
||||
HARTModule* mod = mDirectory.getActiveModule();
|
||||
mod->submitQueue(reinterpret_cast<std::vector<Ray*>>(sourceScatter));
|
||||
}
|
||||
|
||||
void HHM::rayReturn(HitInfo* hit)
|
||||
{
|
||||
HARTModule* mod = mDirectory.getActiveModule();
|
||||
|
||||
}
|
||||
|
||||
void HHM::bounce(Ray* newRay)
|
||||
{
|
||||
HARTModule* mod = mDirectory.getActiveModule();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace inferno {
|
||||
|
||||
class Scene;
|
||||
class Ray;
|
||||
class RaySource;
|
||||
class RayField;
|
||||
class HitInfo;
|
||||
|
||||
class HARTModule;
|
||||
@@ -25,7 +25,7 @@ public:
|
||||
void newScene(Scene* scene);
|
||||
void notifySceneUpdate();
|
||||
|
||||
void startTrace(RaySource* sourceScatter);
|
||||
void startTrace(RayField* sourceScatter);
|
||||
|
||||
void rayReturn(HitInfo* hit);
|
||||
void bounce(Ray* newRay);
|
||||
|
||||
@@ -42,6 +42,7 @@ void RayRenderer::setScene(Scene* scene)
|
||||
delete mRaySource;
|
||||
}
|
||||
mRaySource = new RaySource(scene->getCamera());
|
||||
mIface->newScene(scene);
|
||||
}
|
||||
|
||||
void RayRenderer::setTargetSize(glm::ivec2 size)
|
||||
@@ -70,6 +71,7 @@ void RayRenderer::prepare()
|
||||
void RayRenderer::draw()
|
||||
{
|
||||
RayField startRays = mRaySource->getInitialRays(true);
|
||||
mIface->startTrace(&startRays);
|
||||
|
||||
for (int x = 0; x < mRenderTargetSize.x; x++)
|
||||
for (int y = 0; y < mRenderTargetSize.y; y++)
|
||||
|
||||
Reference in New Issue
Block a user