1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-04 18:06:22 +03:00

0026975: Visualization, TKOpenGl - handle triangle strips correctly within Ray-Tracing core

This commit is contained in:
isk 2015-12-10 14:18:38 +03:00 committed by bugmaster
parent 702ef49f22
commit ad2a55b2f3
2 changed files with 31 additions and 4 deletions

View File

@ -807,8 +807,8 @@ Standard_Boolean OpenGl_View::addRaytraceTriangleStripArray (OpenGl_TriangleSet&
{
for (Standard_Integer aVert = theOffset, aCW = 0; aVert < theOffset + theCount - 2; ++aVert, aCW = (aCW + 1) % 2)
{
theSet.Elements.push_back (BVH_Vec4i (theIndices->Index (aVert + aCW ? 1 : 0),
theIndices->Index (aVert + aCW ? 0 : 1),
theSet.Elements.push_back (BVH_Vec4i (theIndices->Index (aVert + (aCW ? 1 : 0)),
theIndices->Index (aVert + (aCW ? 0 : 1)),
theIndices->Index (aVert + 2),
theMatID));
}
@ -817,8 +817,8 @@ Standard_Boolean OpenGl_View::addRaytraceTriangleStripArray (OpenGl_TriangleSet&
{
for (Standard_Integer aVert = theOffset, aCW = 0; aVert < theOffset + theCount - 2; ++aVert, aCW = (aCW + 1) % 2)
{
theSet.Elements.push_back (BVH_Vec4i (aVert + aCW ? 1 : 0,
aVert + aCW ? 0 : 1,
theSet.Elements.push_back (BVH_Vec4i (aVert + (aCW ? 1 : 0),
aVert + (aCW ? 0 : 1),
aVert + 2,
theMatID));
}

27
tests/bugs/vis/bug26975 Normal file
View File

@ -0,0 +1,27 @@
puts "============"
puts "CR26975"
puts "============"
puts ""
##########################################################################################
puts "Visualization, TKOpenGl - handle triangle strips correctly within Ray-Tracing core"
##########################################################################################
pload MODELING VISUALIZATION
vclear
vinit View1
vraytrace 0
vdrawparray s trianglestrips v 0 0 0 n 0 0 1 v 0 2 0 n 0 0 1 v 2 0 0 n 0 0 1 v 2 2 0 n 0 0 1
vfit
vdump $imagedir/${casename}_rt_off.png
vraytrace 1
vdump $imagedir/${casename}_rt_on.png
set color [vreadpixel 250 250 rgb name]
puts $color
if { $color == "BLACK" } {
puts "ERROR: CR26975 is reproduced. Triangle strips incorrect within Ray-Tracing core."
}