occt: master 8613985b
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
kgv | kgv | master | 2016-12-22 09:48:16 | master decdee7d |
Changeset | 0028180: Visualization, TKOpenGl - Performance of Shaded presentation dropped due to FFP disabled by default FFP state management (light sources, matrices, clipping planes) has been moved to OpenGl_ShaderManager for consistency with Programmable Pipeline. OpenGl_Context::BindProgram() does not re-bind already active Program. OpenGl_PrimitiveArray::Render() does not reset active Program at the end. OpenGl_Context::ApplyModelViewMatrix() now checks if matrix differs from already set one before modifying state in Shader Manager. This allows avoing redundant state changes, matrix uploads onto GPU and re-computation of inversed matrices. NCollection_Mat4 has been extended with equality check operators for proper comparison. OpenGl_ShaderManager - the tracking Material state has been added. Removed unreachable states OPENGL_NS_RESMAT, OPENGL_NS_TEXTURE and OPENGL_NS_WHITEBACK. Fixed resetting FFP material state after displaying GL_COLOR_ARRAY vertices; the Material state within Shader Manager is now invalidated within OpenGl_VertexBuffer::unbindFixedColor(). OpenGl_Workspace::ApplyAspectFace() - fixed invalidating Material State when only Highlighting style is changing. |
|||
mod - src/NCollection/NCollection_Mat4.hxx | Diff File | |||
mod - src/NCollection/NCollection_Vec2.hxx | Diff File | |||
mod - src/NCollection/NCollection_Vec3.hxx | Diff File | |||
mod - src/NCollection/NCollection_Vec4.hxx | Diff File | |||
mod - src/OpenGl/FILES | Diff File | |||
mod - src/OpenGl/OpenGl_Clipping.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Clipping.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_Context.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Context.hxx | Diff File | |||
add - src/OpenGl/OpenGl_Material.hxx | Diff File | |||
add - src/OpenGl/OpenGl_MaterialState.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_NamedStatus.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_PrimitiveArray.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderManager.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderManager.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderProgram.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderProgram.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderStates.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_ShaderStates.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_Structure.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Text.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_VertexBuffer.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_VertexBuffer.hxx | Diff File | |||
mod - src/OpenGl/OpenGl_VertexBuffer.lxx | Diff File | |||
mod - src/OpenGl/OpenGl_View_Redraw.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Workspace.cxx | Diff File | |||
mod - src/OpenGl/OpenGl_Workspace.hxx | Diff File | |||
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx | Diff File |