1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-09 18:50:54 +03:00
kgv 0d828ac838 0032208: Tests - refactor visualization tests to cover several graphic drivers
Removed testgrids 'bugs/vis' and '3rdparty'; tests have been redistributed across other grids.
Moved testgrid 'v3d/ivtk' into dedicated 'vtk/ivtk'.

Added testgrid 'vselect' dedicated to 3D viewer picking/selection functionality
and filled with tests from 'v3d/vertex', 'v3d/face' and similar groups.

Added testgrid 'opengl' dedicated to OpenGL driver low-level functionality (GLSL programs and similar)
and filled with tests from 'v3d/glsl', 'v3d/raytrace', '3rdparty/fonts', 'bugs/vis' (portion) and similar.

Added testgrid 'opengles3' dedicated to OpenGL ES 3.0 driver low-level functionality
and reusing tests from 'opengl' testgrid.
Subgroup 'opengles3/raytrace' is disabled on Windows, as Ray-Tracing currently requires OpenGL ES 3.2.
while ANGLE library implements only OpenGL ES 3.0.

Added testgrid 'opengles2' dedicated to OpenGL ES 2.0 driver low-level functionality
and reusing a limited subset of passing tests from 'opengl' testgrid.
Currently testgrid is activated only on Windows platform when using ANGLE library
(properietary OpenGL ES drivers do not allow creation of restricted 2.0 context).

Test cases have been cleaned out to put bug description into log,
to properly load necessary plugins and to explicitly dump viewer.
2021-03-25 19:14:33 +03:00

61 lines
1.5 KiB
Plaintext

puts "========"
puts "0031571: Visualization, TKOpenGl - provide depth peeling OIT option"
puts "========"
pload MODELING VISUALIZATION
if { $::tcl_platform(os) == "Darwin" } { vcaps -core }
# create objects
pcylinder c 0.5 1
box b1 -1 -1 -0.5 1 1 1
box b2 0 0 -0.5 1 1 1
box b3 -1 0 -0.5 1 1 1
vclear
vinit View1
vdisplay -dispMode 1 c b1 b2 b3
vaspects c -color yellow -transparency 0.4
vaspects b1 -color blue -transparency 0.8
vaspects b2 -color green -transparency 0.0
vaspects b3 -color red -transparency 0.5
vfit
vaxo
vzoom 0.9
if { ![string match "OpenGL ES 2.0*" [vglinfo VERSION]] && ![string match "OpenGL ES 3.0*" [vglinfo VERSION]] } {
vraytrace 1
vrenderparams -rayDepth 10
vdump $imagedir/${casename}_raytrace.png
}
vraytrace 0
vrenderparams -oit off
vdump $imagedir/${casename}_nooit.png
vrenderparams -oit weight 0.0
vdump $imagedir/${casename}_weight.png
vrenderparams -oit peeling 4
vdump $imagedir/${casename}_peel.png
# VTK viewer, just for comparison
set hasVtk 0
if { [vdriver -default] == "TKOpenGl" } {
set hasVtk 1
if { [catch { pload VIS }] } { set hasVtk 0 }
}
if { $hasVtk == 1 } {
ivtkinit -msaa 0 -srgb 0
ivtkdisplay c b1 b2 b3
ivtkaxo
ivtksetdispmode 1
ivtksetcolor c yellow
ivtksetcolor b1 blue
ivtksetcolor b2 green
ivtksetcolor b3 red
ivtksettransparency c 0.4
ivtksettransparency b1 0.8
ivtksettransparency b2 0.0
ivtksettransparency b3 0.5
ivtkrenderparams -depthPeeling 4
ivtkdump $imagedir/${casename}_vtk.png
}