mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-04 02:29:49 -06:00
Only create RenderData if we actually want to render the Renderable
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include <ghoul/filesystem/filesystem.h>
|
||||
#include <ghoul/io/texture/texturereader.h>
|
||||
#include <ghoul/misc/defer.h>
|
||||
#include <ghoul/misc/profiling.h>
|
||||
#include <ghoul/opengl/programobject.h>
|
||||
#include <ghoul/opengl/texture.h>
|
||||
#include <ghoul/opengl/textureunit.h>
|
||||
@@ -166,6 +167,8 @@ bool RenderablePlane::isReady() const {
|
||||
}
|
||||
|
||||
void RenderablePlane::initializeGL() {
|
||||
ZoneScoped
|
||||
|
||||
glGenVertexArrays(1, &_quad); // generate array
|
||||
glGenBuffers(1, &_vertexPositionBuffer); // generate buffer
|
||||
createPlane();
|
||||
@@ -183,6 +186,8 @@ void RenderablePlane::initializeGL() {
|
||||
}
|
||||
|
||||
void RenderablePlane::deinitializeGL() {
|
||||
ZoneScoped
|
||||
|
||||
glDeleteVertexArrays(1, &_quad);
|
||||
_quad = 0;
|
||||
|
||||
@@ -199,8 +204,9 @@ void RenderablePlane::deinitializeGL() {
|
||||
}
|
||||
|
||||
void RenderablePlane::render(const RenderData& data, RendererTasks&) {
|
||||
_shader->activate();
|
||||
ZoneScoped
|
||||
|
||||
_shader->activate();
|
||||
_shader->setUniform("opacity", _opacity);
|
||||
|
||||
glm::dvec3 objectPositionWorld = glm::dvec3(
|
||||
@@ -277,6 +283,8 @@ void RenderablePlane::bindTexture() {}
|
||||
void RenderablePlane::unbindTexture() {}
|
||||
|
||||
void RenderablePlane::update(const UpdateData&) {
|
||||
ZoneScoped
|
||||
|
||||
if (_shader->isDirty()) {
|
||||
_shader->rebuildFromFile();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user