mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-03-13 17:09:05 -05:00
discard fragment if alpha is 0 in screenspacerenderables
This commit is contained in:
@@ -39,6 +39,9 @@ Fragment getFragment(){
|
||||
float depth = (1.0 + log(abs(OcclusionDepth) + 1/pow(k, 1.0))/log(k)) / 27.0;
|
||||
frag.color = texture(texture1, vs_st);
|
||||
frag.color.a = (frag.color.a != 0.0f) ? Alpha : frag.color.a;
|
||||
if(frag.color.a == 0.0f){
|
||||
discard;
|
||||
}
|
||||
frag.depth = depth;
|
||||
|
||||
return frag;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user