mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
VizFwk: Add scissoring to cvf::Rendering
This commit is contained in:
@@ -57,6 +57,7 @@
|
||||
#include "cvfRayIntersectSpec.h"
|
||||
#include "cvfHitItemCollection.h"
|
||||
#include "cvfLogManager.h"
|
||||
#include "cvfRenderingScissor.h"
|
||||
|
||||
namespace cvf {
|
||||
|
||||
@@ -214,7 +215,17 @@ void Rendering::render(OpenGLContext* oglContext)
|
||||
|
||||
// Setup camera and view
|
||||
// -------------------------------------------------------------------------
|
||||
m_camera->viewport()->applyOpenGL(oglContext, m_clearMode);
|
||||
|
||||
if (m_renderingScissor.notNull())
|
||||
{
|
||||
m_camera->viewport()->applyOpenGL(oglContext, Viewport::DO_NOT_CLEAR);
|
||||
m_renderingScissor->applyOpenGL(oglContext, m_clearMode, m_camera->viewport()->clearColor());
|
||||
}
|
||||
else
|
||||
{
|
||||
m_camera->viewport()->applyOpenGL(oglContext, m_clearMode);
|
||||
}
|
||||
|
||||
m_camera->applyOpenGL();
|
||||
|
||||
// Update dynamic uniforms and dynamic uniform sets
|
||||
@@ -261,6 +272,11 @@ void Rendering::render(OpenGLContext* oglContext)
|
||||
size_t numPartsToDraw = std::min(m_maxNumPartsToDraw, renderQueue.count());
|
||||
m_renderEngine.render(oglContext, &renderQueue, numPartsToDraw, *m_camera, globalUniformSet);
|
||||
|
||||
if (m_renderingScissor.notNull())
|
||||
{
|
||||
m_renderingScissor->unApplyOpenGL(oglContext);
|
||||
}
|
||||
|
||||
if (renderTimer.notNull())
|
||||
{
|
||||
m_performanceInfo.renderEngineTime = renderTimer->lapTime();
|
||||
@@ -662,6 +678,14 @@ Viewport::ClearMode Rendering::clearMode() const
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void Rendering::setRenderingScissor(RenderingScissor* scissor)
|
||||
{
|
||||
m_renderingScissor = scissor;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user