0031571: Visualization, TKOpenGl - provide depth peeling OIT option
[occt.git] / tests / v3d / transparency / oit
diff --git a/tests/v3d/transparency/oit b/tests/v3d/transparency/oit
new file mode 100644 (file)
index 0000000..2d5e23c
--- /dev/null
@@ -0,0 +1,55 @@
+puts "========"
+puts "0031571: Visualization, TKOpenGl - provide depth peeling OIT option"
+puts "========"
+
+pload MODELING VISUALIZATION
+if { $::tcl_platform(os) == "Darwin" } { vcaps -core }
+set hasVtk 1
+if { [catch { pload VIS }] } { set hasVtk 0 }
+
+# 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
+
+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
+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
+}