change interfaces from pointer to reference

This commit is contained in:
Emil Axelsson
2016-03-23 14:00:40 +01:00
parent c5aba19d52
commit 80fe89dbc8
28 changed files with 84 additions and 80 deletions

View File

@@ -162,7 +162,7 @@ void RenderableConstellationBounds::render(const RenderData& data) {
glm::mat4 viewMatrix = data.camera.viewMatrix();
glm::mat4 projectionMatrix = data.camera.projectionMatrix();
setPscUniforms(_program.get(), &data.camera, data.position);
setPscUniforms(*_program.get(), data.camera, data.position);
_program->setUniform("exponent", _distance);
_program->setUniform("ViewProjection", data.camera.viewProjectionMatrix());

View File

@@ -200,7 +200,7 @@ void RenderableModel::render(const RenderData& data) {
_programObject->setUniform("sun_pos", _sunPosition.vec3());
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform", transform);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
_programObject->setUniform("_performShading", _performShading);

View File

@@ -162,7 +162,7 @@ void RenderablePath::render(const RenderData& data) {
_programObject->setUniform("ModelTransform", transform);
_programObject->setUniform("color", _lineColor);
_programObject->setUniform("lastPosition", _lastPosition);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
if (_drawLine) {
glLineWidth(_lineWidth);

View File

@@ -206,7 +206,7 @@ void RenderablePlane::render(const RenderData& data) {
_shader->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_shader->setUniform("ModelTransform", transform);
setPscUniforms(_shader.get(), &data.camera, data.position);
setPscUniforms(*_shader.get(), data.camera, data.position);
ghoul::opengl::TextureUnit unit;
unit.activate();

View File

@@ -213,7 +213,7 @@ void RenderablePlanet::render(const RenderData& data)
_programObject->setUniform("transparency", _alpha);
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform", transform);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
_programObject->setUniform("_performShading", _performShading);

View File

@@ -162,7 +162,7 @@ void RenderableSphere::render(const RenderData& data) {
_shader->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_shader->setUniform("ModelTransform", transform);
setPscUniforms(_shader.get(), &data.camera, data.position);
setPscUniforms(*_shader.get(), data.camera, data.position);
_shader->setUniform("alpha", _transparency);
ghoul::opengl::TextureUnit unit;

View File

@@ -212,7 +212,7 @@ void RenderableSphericalGrid::render(const RenderData& data){
_gridProgram->setIgnoreUniformLocationError(IgnoreError::Yes);
_gridProgram->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_gridProgram->setUniform("ModelTransform", transform);
setPscUniforms(_gridProgram, &data.camera, data.position);
setPscUniforms(*_gridProgram, data.camera, data.position);
_gridProgram->setUniform("gridColor", _gridColor);
glLineWidth(0.5f);

View File

@@ -203,7 +203,7 @@ void RenderableStars::render(const RenderData& data) {
_program->setUniform("scaleFactor", _scaleFactor);
_program->setUniform("minBillboardSize", _minBillboardSize);
setPscUniforms(_program.get(), &data.camera, data.position);
setPscUniforms(*_program.get(), data.camera, data.position);
_program->setUniform("scaling", scaling);
ghoul::opengl::TextureUnit psfUnit;

View File

@@ -155,7 +155,7 @@ void RenderableTrail::render(const RenderData& data) {
// setup the data to the shader
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform", transform);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
_programObject->setUniform("color", _lineColor);
_programObject->setUniform("nVertices", static_cast<unsigned int>(_vertexArray.size()));

View File

@@ -140,7 +140,7 @@ void RenderableCrawlingLine::render(const RenderData& data) {
_program->setUniform("_alpha", alpha);
_program->setUniform("color", _lineColor);
setPscUniforms(_program.get(), &data.camera, data.position);
setPscUniforms(*_program.get(), data.camera, data.position);
glBindVertexArray(_vao);
glBindBuffer(GL_ARRAY_BUFFER, _vbo);

View File

@@ -549,7 +549,7 @@ void RenderableFov::render(const RenderData& data) {
// setup the data to the shader
_programObject->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform", glm::mat4(1));
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
if (openspace::ImageSequencer2::ref().isReady())
_drawFOV = ImageSequencer2::ref().instrumentActive(_instrumentID);

View File

@@ -331,7 +331,7 @@ void RenderableModelProjection::render(const RenderData& data) {
_viewProjection = data.camera.viewProjectionMatrix();
_programObject->setUniform("ViewProjection", _viewProjection);
_programObject->setUniform("ModelTransform", _transform);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
textureBind();
_geometry->render();

View File

@@ -147,7 +147,7 @@ void RenderablePlaneProjection::render(const RenderData& data) {
_shader->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_shader->setUniform("ModelTransform", transform);
setPscUniforms(_shader.get(), &data.camera, data.position);
setPscUniforms(*_shader.get(), data.camera, data.position);
ghoul::opengl::TextureUnit unit;
unit.activate();

View File

@@ -541,7 +541,7 @@ void RenderablePlanetProjection::render(const RenderData& data){
_programObject->setUniform("ViewProjection" , data.camera.viewProjectionMatrix());
_programObject->setUniform("ModelTransform" , _transform);
_programObject->setUniform("boresight" , _boresight);
setPscUniforms(_programObject.get(), &data.camera, data.position);
setPscUniforms(*_programObject.get(), data.camera, data.position);
textureBind();

View File

@@ -136,7 +136,7 @@ void RenderableShadowCylinder::render(const RenderData& data){
_shader->setUniform("ViewProjection", data.camera.viewProjectionMatrix());
_shader->setUniform("ModelTransform", _transform);
_shader->setUniform("shadowColor", _shadowColor);
setPscUniforms(_shader.get(), &data.camera, data.position);
setPscUniforms(*_shader.get(), data.camera, data.position);
glBindVertexArray(_vao);
glDrawArrays(GL_TRIANGLE_STRIP, 0, static_cast<GLsizei>(_vertices.size()));

View File

@@ -80,14 +80,14 @@ bool RenderableToyVolume::initialize() {
_raycaster = std::make_unique<ToyVolumeRaycaster>(ToyVolumeRaycaster(_color));
_raycaster->initialize();
OsEng.renderEngine().raycasterManager().attachRaycaster(_raycaster.get());
OsEng.renderEngine().raycasterManager().attachRaycaster(*_raycaster.get());
std::function<void(bool)> onChange = [&](bool enabled) {
if (enabled) {
OsEng.renderEngine().raycasterManager().attachRaycaster(_raycaster.get());
OsEng.renderEngine().raycasterManager().attachRaycaster(*_raycaster.get());
}
else {
OsEng.renderEngine().raycasterManager().detachRaycaster(_raycaster.get());
OsEng.renderEngine().raycasterManager().detachRaycaster(*_raycaster.get());
}
};
@@ -105,7 +105,7 @@ bool RenderableToyVolume::initialize() {
bool RenderableToyVolume::deinitialize() {
if (_raycaster) {
OsEng.renderEngine().raycasterManager().detachRaycaster(_raycaster.get());
OsEng.renderEngine().raycasterManager().detachRaycaster(*_raycaster.get());
_raycaster = nullptr;
}
return true;

View File

@@ -53,10 +53,10 @@ void ToyVolumeRaycaster::initialize() {
void ToyVolumeRaycaster::deinitialize() {
}
void ToyVolumeRaycaster::renderEntryPoints(const RenderData& data, ghoul::opengl::ProgramObject* program) {
program->setUniform("modelTransform", _modelTransform);
program->setUniform("viewProjection", data.camera.viewProjectionMatrix());
Renderable::setPscUniforms(program, &data.camera, data.position);
void ToyVolumeRaycaster::renderEntryPoints(const RenderData& data, ghoul::opengl::ProgramObject& program) {
program.setUniform("modelTransform", _modelTransform);
program.setUniform("viewProjection", data.camera.viewProjectionMatrix());
Renderable::setPscUniforms(program, data.camera, data.position);
// Cull back face
glEnable(GL_CULL_FACE);
@@ -66,11 +66,11 @@ void ToyVolumeRaycaster::renderEntryPoints(const RenderData& data, ghoul::opengl
_boundingBox.render();
}
void ToyVolumeRaycaster::renderExitPoints(const RenderData& data, ghoul::opengl::ProgramObject* program) {
void ToyVolumeRaycaster::renderExitPoints(const RenderData& data, ghoul::opengl::ProgramObject& program) {
// Uniforms
program->setUniform("modelTransform", _modelTransform);
program->setUniform("viewProjection", data.camera.viewProjectionMatrix());
Renderable::setPscUniforms(program, &data.camera, data.position);
program.setUniform("modelTransform", _modelTransform);
program.setUniform("viewProjection", data.camera.viewProjectionMatrix());
Renderable::setPscUniforms(program, data.camera, data.position);
// Cull front face
glEnable(GL_CULL_FACE);
@@ -83,16 +83,16 @@ void ToyVolumeRaycaster::renderExitPoints(const RenderData& data, ghoul::opengl:
glCullFace(GL_BACK);
}
void ToyVolumeRaycaster::preRaycast(const RaycastData& data, ghoul::opengl::ProgramObject* program) {
void ToyVolumeRaycaster::preRaycast(const RaycastData& data, ghoul::opengl::ProgramObject& program) {
std::string colorUniformName = "color" + std::to_string(data.id);
std::string timeUniformName = "time" + std::to_string(data.id);
std::string stepSizeUniformName = "maxStepSize" + std::to_string(data.id);
program->setUniform(colorUniformName, _color);
program->setUniform(stepSizeUniformName, _stepSize);
program->setUniform(timeUniformName, static_cast<float>(std::fmod(_time, 3600.0)));
program.setUniform(colorUniformName, _color);
program.setUniform(stepSizeUniformName, _stepSize);
program.setUniform(timeUniformName, static_cast<float>(std::fmod(_time, 3600.0)));
}
void ToyVolumeRaycaster::postRaycast(const RaycastData& data, ghoul::opengl::ProgramObject* program) {
void ToyVolumeRaycaster::postRaycast(const RaycastData& data, ghoul::opengl::ProgramObject& program) {
// For example: release texture units
}

View File

@@ -52,10 +52,10 @@ public:
virtual ~ToyVolumeRaycaster();
void initialize();
void deinitialize();
void renderEntryPoints(const RenderData& data, ghoul::opengl::ProgramObject* program) override;
void renderExitPoints(const RenderData& data, ghoul::opengl::ProgramObject* program) override;
void preRaycast(const RaycastData& data, ghoul::opengl::ProgramObject* program) override;
void postRaycast(const RaycastData& data, ghoul::opengl::ProgramObject* program) override;
void renderEntryPoints(const RenderData& data, ghoul::opengl::ProgramObject& program) override;
void renderExitPoints(const RenderData& data, ghoul::opengl::ProgramObject& program) override;
void preRaycast(const RaycastData& data, ghoul::opengl::ProgramObject& program) override;
void postRaycast(const RaycastData& data, ghoul::opengl::ProgramObject& program) override;
std::string getBoundsVsPath() const override;
std::string getBoundsFsPath() const override;