From db8d271d0761ff814b58bb08dc3ab42b00892ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anselme=20FRAN=C3=87OIS?= Date: Fri, 24 Jun 2016 18:54:02 +0200 Subject: [PATCH] fixed issues in deferred pipeline and trackballcamera --- src/deferredpipeline.cpp | 18 +++++++++--------- src/deferredpipeline.h | 4 ++-- src/trackballcamera.cpp | 7 +++++++ src/trackballcamera.h | 3 ++- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/deferredpipeline.cpp b/src/deferredpipeline.cpp index 555149a..5fbcb90 100644 --- a/src/deferredpipeline.cpp +++ b/src/deferredpipeline.cpp @@ -1,13 +1,13 @@ -#include +#include "sparrowrenderer.h" #include "deferredpipeline.h" -#include -#include -#include -#include +#include "texture.h" +#include "scene.h" +#include "mesh.h" +#include "shader.h" #include -#include -#include -#include +#include "shadersource.h" +#include "phongmaterial.h" +#include "camera.h" #include RESOURCE_PACK(shaders) @@ -195,7 +195,7 @@ void DeferredPipeline::resizeGL(int w, int h) m_lightingBuffer = new LightingBuffer(w, h); } -void setSources(ShaderSource *gBufferSource, ShaderSource *lightingSource, Shader *postEffectsShader) +void DeferredPipeline::setSources(ShaderSource *gBufferSource, ShaderSource *lightingSource, Shader *postEffectsShader) { if(m_gBufferSource != NULL) delete m_gBufferSource; diff --git a/src/deferredpipeline.h b/src/deferredpipeline.h index 66ab8b9..870fc53 100644 --- a/src/deferredpipeline.h +++ b/src/deferredpipeline.h @@ -1,8 +1,8 @@ #ifndef DEFERREDPIPELINE_H #define DEFERREDPIPELINE_H -#include -#include +#include "pipeline.h" +#include "framebuffer.h" #include class Shader; diff --git a/src/trackballcamera.cpp b/src/trackballcamera.cpp index 10f276c..9bf2177 100644 --- a/src/trackballcamera.cpp +++ b/src/trackballcamera.cpp @@ -63,3 +63,10 @@ void TrackBallCamera::zoom(int nbUnits) } computeView(); } + +glm::vec3 TrackBallCamera::getDefaultPxInfo() +{ + glm::vec4 screenPos(m_center, 1); + screenPos = (m_projection * m_view) * screenPos; + return glm::vec3(m_dist/m_far, 1/screenPos.w, 0); +} diff --git a/src/trackballcamera.h b/src/trackballcamera.h index 31e67e2..e4e0d5a 100644 --- a/src/trackballcamera.h +++ b/src/trackballcamera.h @@ -16,12 +16,13 @@ private: void computeView(); public: - TrackBallCamera(float myFov = 70.f, float myNear = 0.1f, float myFar = 100.f); + TrackBallCamera(float myFov = 70.f, float myNear = 0.1f, float myFar = 1000.f); void rotateCamera(float dx, float dy); void moveCamera(float dx, float dy); void zoom(int nbScrolls); void reset(); + glm::vec3 getDefaultPxInfo(); }; #endif // TRACKBALLCAMERA_H