discard fragment if alpha is 0 in screenspacerenderables

This commit is contained in:
Michael Nilsson
2016-03-18 13:52:11 -04:00
parent 5553ec02c9
commit af8880274c
3 changed files with 13 additions and 9 deletions
+4 -4
View File
@@ -207,14 +207,14 @@ bool RenderEngine::initialize() {
ghoul::io::TextureReader::ref().addReader(std::make_shared<ghoul::io::TextureReaderCMAP>());
//For testing screenspacerenderables
ssr = std::make_shared<ScreenSpaceImage>("${OPENSPACE_DATA}/test2.jpg");
registerScreenSpaceRenderable(ssr);
std::shared_ptr<ScreenSpaceFramebuffer> ssfb = std::make_shared<ScreenSpaceFramebuffer>();
ssfb->addRenderFunction(std::make_shared<std::function<void()>>([this](){renderInformation();}));
ssfb->addRenderFunction(std::make_shared<std::function<void()>>([this](){ssr->render();}));
registerScreenSpaceRenderable(ssfb);
//For testing screenspacerenderables
ssr = std::make_shared<ScreenSpaceImage>("${OPENSPACE_DATA}/test2.jpg");
registerScreenSpaceRenderable(ssr);
return true;
}
+6 -5
View File
@@ -209,11 +209,12 @@ void ScreenSpaceRenderable::draw(glm::mat4 modelTransform){
glEnable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);
_shader->activate();
_shader->setUniform("OcclusionDepth", occlusionDepth);
_shader->setUniform("Alpha", _alpha);
_shader->setUniform("ModelTransform",modelTransform);
_shader->setUniform("ViewProjectionMatrix", OsEng.renderEngine().camera()->viewProjectionMatrix());
_shader->activate();
_shader->setUniform("OcclusionDepth", occlusionDepth);
_shader->setUniform("Alpha", _alpha);
_shader->setUniform("ModelTransform",modelTransform);
_shader->setUniform("ViewProjectionMatrix", OsEng.renderEngine().camera()->viewProjectionMatrix());
ghoul::opengl::TextureUnit unit;
unit.activate();
_texture->bind();