X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Fcommon%2Frender-algorithms.h;h=98c219bf511a5135292589d60320aa1e56a89116;hb=91881471b1bc1566777bca94a8ac046611922845;hp=5d4e44ffd59eaf66517c9cb97a7eddbc13fdf4ca;hpb=afa7ce29cc34aa631272ce5569b4298aa00490bf;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/common/render-algorithms.h b/dali/internal/render/common/render-algorithms.h index 5d4e44f..98c219b 100644 --- a/dali/internal/render/common/render-algorithms.h +++ b/dali/internal/render/common/render-algorithms.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_RENDER_ALGORITHMS_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ */ // INTERNAL INCLUDES +#include #include #include @@ -52,11 +53,20 @@ class RenderAlgorithms /** * Process a render-instruction. - * @param[in] instruction The render-instruction to process. - * @param[in] context The GL context. - * @param[in] bufferIndex The current render buffer index (previous update buffer) + * @param[in] instruction The render-instruction to process. + * @param[in] context The GL context. + * @param[in] bufferIndex The current render buffer index (previous update buffer) + * @param[in] depthBufferAvailable Whether the depth buffer is available + * @param[in] stencilBufferAvailable Whether the stencil buffer is available + * @param[in] boundTextures The textures bound for rendering */ - void ProcessRenderInstruction( const SceneGraph::RenderInstruction& instruction, Context& context, BufferIndex bufferIndex ); + void ProcessRenderInstruction( const SceneGraph::RenderInstruction& instruction, + Context& context, + BufferIndex bufferIndex, + Integration::DepthBufferAvailable depthBufferAvailable, + Integration::StencilBufferAvailable stencilBufferAvailable, + Vector& boundTextures, + int orientation); private: @@ -79,7 +89,7 @@ class RenderAlgorithms * @param[in] item The current RenderItem (about to be rendered) * @param[in] context The current Context */ - inline void SetupScissorClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context ); + inline void SetupScissorClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context, int orientation ); /** * @brief Set up the clipping based on the specified clipping settings. @@ -88,18 +98,36 @@ class RenderAlgorithms * @param[in/out] usedStencilBuffer True if the stencil buffer has been used so far within this RenderList. Used by StencilMode::ON. * @param[in/out] lastClippingDepth The stencil depth of the last renderer drawn. Used by the clipping feature. * @param[in/out] lastClippingId The clipping ID of the last renderer drawn. Used by the clipping feature. + * @param[in] stencilBufferAvailable Whether the stencil buffer is available */ - inline void SetupClipping( const Dali::Internal::SceneGraph::RenderItem& item, Context& context, bool& usedStencilBuffer, uint32_t& lastClippingDepth, uint32_t& lastClippingId ); + inline void SetupClipping( const Dali::Internal::SceneGraph::RenderItem& item, + Context& context, + bool& usedStencilBuffer, + uint32_t& lastClippingDepth, + uint32_t& lastClippingId, + Integration::StencilBufferAvailable stencilBufferAvailable, + int orientation ); /** * @brief Process a render-list. - * @param[in] renderList The render-list to process. - * @param[in] context The GL context. - * @param[in] buffer The current render buffer index (previous update buffer) - * @param[in] viewMatrix The view matrix from the appropriate camera. - * @param[in] projectionMatrix The projection matrix from the appropriate camera. + * @param[in] renderList The render-list to process. + * @param[in] context The GL context. + * @param[in] buffer The current render buffer index (previous update buffer) + * @param[in] viewMatrix The view matrix from the appropriate camera. + * @param[in] projectionMatrix The projection matrix from the appropriate camera. + * @param[in] depthBufferAvailable Whether the depth buffer is available + * @param[in] stencilBufferAvailable Whether the stencil buffer is available + * @param[in] boundTextures The textures bound for rendering */ - inline void ProcessRenderList( const Dali::Internal::SceneGraph::RenderList& renderList, Context& context, BufferIndex bufferIndex, const Matrix& viewMatrix, const Matrix& projectionMatrix ); + inline void ProcessRenderList( const Dali::Internal::SceneGraph::RenderList& renderList, + Context& context, + BufferIndex bufferIndex, + const Matrix& viewMatrix, + const Matrix& projectionMatrix, + Integration::DepthBufferAvailable depthBufferAvailable, + Integration::StencilBufferAvailable stencilBufferAvailable, + Vector& boundTextures, + int orientation ); // Prevent copying: RenderAlgorithms( RenderAlgorithms& rhs );