X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Frender-tasks%2Fscene-graph-camera.h;h=7021b5a58c4fda6777c5ee824b9a09fa90eaec42;hb=d353bae63798f48237dc24c078c2e8cb2aa0bc62;hp=37aead69ae93d18d3aea3a89d9256367cf1234e8;hpb=7e5dd9cc2f97fce444ff5da936f4e04c8698d07e;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/render-tasks/scene-graph-camera.h b/dali/internal/update/render-tasks/scene-graph-camera.h index 37aead6..7021b5a 100644 --- a/dali/internal/update/render-tasks/scene-graph-camera.h +++ b/dali/internal/update/render-tasks/scene-graph-camera.h @@ -165,6 +165,21 @@ public: void SetTargetPosition( const Vector3& targetPosition ); /** + * Sets the reflection plane + * @param[in] plane reflection plane + */ + void SetReflectByPlane( const Vector4& plane ); + + /** + * Tests whether reflection is used + * @return True if used, False otherwise + */ + bool GetReflectionUsed() const + { + return mUseReflection; + } + + /** * Retrieve the view-matrix; this is double buffered for input handling. * @param[in] bufferIndex The buffer to read from. * @return The view-matrix. @@ -277,6 +292,13 @@ private: */ void UpdateFrustum( BufferIndex updateBufferIndex, bool normalize = true ); + /** + * Adjust near plane for reflection + * @param perspective Perspective matrix + * @param clipPlane Clipping plane + */ + void AdjustNearPlaneForPerspective( Matrix& perspective, const Vector4& clipPlane ); + uint32_t mUpdateViewFlag; ///< This is non-zero if the view matrix requires an update uint32_t mUpdateProjectionFlag; ///< This is non-zero if the projection matrix requires an update int mProjectionRotation; ///< The rotaion angle of the projection @@ -297,6 +319,12 @@ public: // PROPERTIES float mFarClippingPlane; Vector3 mTargetPosition; + Dali::Matrix mReflectionMtx; + Dali::Vector4 mReflectionPlane; + Dali::Vector4 mReflectionEye; + bool mUseReflection{ false }; + bool mUseReflectionClip{ false }; + InheritedMatrix mViewMatrix; ///< The viewMatrix; this is double buffered for input handling. InheritedMatrix mProjectionMatrix; ///< The projectionMatrix; this is double buffered for input handling.