mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-23 05:19:18 -06:00
Volume rendering compatible with abuffer and framebuffer renderers
This commit is contained in:
@@ -244,7 +244,7 @@ void SceneGraphNode::evaluate(const Camera* camera, const psc& parentPosition) {
|
||||
// child->evaluate(camera, psc());
|
||||
}
|
||||
|
||||
void SceneGraphNode::render(const RenderData& data) {
|
||||
void SceneGraphNode::render(const RenderData& data, RendererTasks& tasks) {
|
||||
const psc thisPosition = worldPosition();
|
||||
|
||||
RenderData newData = {data.camera, thisPosition, data.doPerformanceMeasurement};
|
||||
@@ -255,14 +255,14 @@ void SceneGraphNode::render(const RenderData& data) {
|
||||
glFinish();
|
||||
auto start = std::chrono::high_resolution_clock::now();
|
||||
|
||||
_renderable->render(newData);
|
||||
_renderable->render(newData, tasks);
|
||||
|
||||
glFinish();
|
||||
auto end = std::chrono::high_resolution_clock::now();
|
||||
_performanceRecord.renderTime = (end - start).count();
|
||||
}
|
||||
else
|
||||
_renderable->render(newData);
|
||||
_renderable->render(newData, tasks);
|
||||
}
|
||||
|
||||
// evaluate all the children, tail-recursive function(?)
|
||||
@@ -271,18 +271,6 @@ void SceneGraphNode::render(const RenderData& data) {
|
||||
// child->render(newData);
|
||||
}
|
||||
|
||||
std::vector<std::pair<Volume*, RenderData>> SceneGraphNode::volumesToRender(const RenderData& data) const {
|
||||
const psc thisPosition = worldPosition();
|
||||
RenderData newData = {data.camera, thisPosition, data.doPerformanceMeasurement};
|
||||
std::vector<std::pair<Volume*, RenderData>> toRender;
|
||||
if (_renderableVisible && _renderable->isVisible() && _renderable->isReady() && _renderable->isEnabled()) {
|
||||
std::vector<Volume*> volumes = _renderable->volumesToRender(newData);
|
||||
for (Volume* v : volumes) {
|
||||
toRender.push_back(std::make_pair(v, newData));
|
||||
}
|
||||
}
|
||||
return toRender;
|
||||
}
|
||||
|
||||
// not used anymore @AA
|
||||
//void SceneGraphNode::addNode(SceneGraphNode* child)
|
||||
|
||||
Reference in New Issue
Block a user