From 699239e457ebf500b50fff8cc9d10cbc870563b2 Mon Sep 17 00:00:00 2001 From: apl Date: Wed, 15 Apr 2015 12:27:05 +0300 Subject: [PATCH] 0025778: Gradient background will cut view if there is ClipPlane defined. --- src/OpenGl/OpenGl_View_2.cxx | 1 + tests/bugs/vis/bug25778 | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 tests/bugs/vis/bug25778 diff --git a/src/OpenGl/OpenGl_View_2.cxx b/src/OpenGl/OpenGl_View_2.cxx index db638b5a38..4240be52da 100644 --- a/src/OpenGl/OpenGl_View_2.cxx +++ b/src/OpenGl/OpenGl_View_2.cxx @@ -232,6 +232,7 @@ void OpenGl_View::DrawBackground (const Handle(OpenGl_Workspace)& theWorkspace) aCtx->WorldViewState.Pop(); aCtx->ProjectionState.Pop(); aCtx->ApplyProjectionMatrix(); + aCtx->ApplyWorldViewMatrix(); if (theWorkspace->UseZBuffer()) { diff --git a/tests/bugs/vis/bug25778 b/tests/bugs/vis/bug25778 new file mode 100644 index 0000000000..8b254f0f50 --- /dev/null +++ b/tests/bugs/vis/bug25778 @@ -0,0 +1,34 @@ +puts "================================================================" +puts "CR25778" +puts "Gradient background will cut view if there is ClipPlane defined." +puts "================================================================" +puts "" + +set aExpectedImg $imagedir/${casename}_expected_img.png +set aVerifiedImg $imagedir/${casename}_verified_img.png +set aDiff $imagedir/${casename}_diff.png + +vinit View1 +vclear +vaxo +vsetdispmode 1 +box b 1 1 1 +vdisplay b +vfit + +vclipplane create pln +vclipplane set pln view Driver1/Viewer1/View1 +vclipplane change pln equation 0 1 0 -0.5 + +vsetgradientbg 0 0 0 0 0 0 0 + +vdump $aExpectedImg + +vsetgradientbg 0 0 0 0 0 0 1 + +vdump $aVerifiedImg + +set aDiffRes [diffimage $aExpectedImg $aVerifiedImg 0.1 0 0 $aDiff] +if {$aDiffRes != 0} { + puts "ERROR : Test failed: gradient background affects clipping." +}