Merge with antialiased abuffer

This commit is contained in:
Emil Axelsson
2016-02-03 17:47:29 +01:00
81 changed files with 2375 additions and 3142 deletions

View File

@@ -22,9 +22,11 @@
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#include <modules/base/rendering/renderablesphere.h>
#include <openspace/engine/openspaceengine.h>
#include <openspace/rendering/renderengine.h>
#include <ghoul/io/texture/texturereader.h>
#include <ghoul/opengl/textureunit.h>
#include <ghoul/filesystem/filesystem.h>
@@ -115,7 +117,8 @@ bool RenderableSphere::initialize() {
_sphere->initialize();
// pscstandard
_shader = ghoul::opengl::ProgramObject::Build("Sphere",
RenderEngine& renderEngine = OsEng.renderEngine();
_shader = renderEngine.buildRenderProgram("Sphere",
"${MODULES}/base/shaders/sphere_vs.glsl",
"${MODULES}/base/shaders/sphere_fs.glsl");
if (!_shader)
@@ -132,7 +135,12 @@ bool RenderableSphere::deinitialize() {
_texture = nullptr;
_shader = nullptr;
RenderEngine& renderEngine = OsEng.renderEngine();
if (_shader) {
renderEngine.removeRenderProgram(_shader);
_shader = nullptr;
}
return true;
}
@@ -150,8 +158,8 @@ 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;
@@ -159,6 +167,9 @@ void RenderableSphere::render(const RenderData& data) {
_texture->bind();
_shader->setUniform("texture1", unit);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
_sphere->render();
_shader->setIgnoreUniformLocationError(false);