1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00
kgv 78c4e836b1 0031571: Visualization, TKOpenGl - provide depth peeling OIT option
Graphic3d_RenderTransparentMethod has been extended by Graphic3d_RTM_DEPTH_PEELING_OIT,
which is handled by OpenGl_LayerList::renderTransparent().

OpenGl_FrameBuffer::Init() now does not silently ignore unknown color attachment format and return failure.
OpenGl_FrameBuffer::InitWrapper() - added constructor wrapping existing color textures.

v3d/transparency/oit: test case added
2021-01-20 21:21:59 +03:00

56 lines
1.3 KiB
Plaintext

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
}