1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-09 18:50:54 +03:00
occt/tests/v3d/glsl/pbr_attenuation
iko 88b312d3a4 0031099: Visualization, TKOpenGl - support Point light source with artistic full cut-off distance
"Range" parameter of point light sources (positional and spot) concidering in PBR has been added.
Angular attenuation parameter of spot light in PBR has been reimplemented based on existing "concentration" parameter.
2020-01-13 16:07:19 +03:00

70 lines
1.7 KiB
Plaintext

puts "========"
puts "0031099: Visualization, TKOpenGl - support Point light source with artistic full cut-off distance"
puts "Test of point light's (positional and spot) attenuation and range in PBR"
puts "========"
pload XDE OCAF VISUALIZATION MODELING
catch { Close D }
vclear
vclose ALL
vinit View1 -w 512 -h 512
vtop
vrenderparams -shadingmodel pbr
box b -2 -2 -0.00001 4 4 0.00001
XNewDoc D
set bs [XAddShape D b 0]
XAddVisMaterial D m -baseColor WHITE -transparency 0.0 -metallic 0.0 -roughness 1.0
XSetVisMaterial D $bs m
XDisplay -dispMode 1 D
vfit
vlight -clear
vlight -add positional -pos -1 0 1 -intensity 0.5
vlight -add spot -pos 1 0 1 -dir 0 0 -1 -intensity 0.5 -angle 100
vdump $::imagedir/${::casename}_norange_high.png
vlight -change 0 -pos -1 0 0.5
vlight -change 1 -pos 1 0 0.5
vdump $::imagedir/${::casename}_norange_low.png
vlight -change 0 -range 1
vlight -change 1 -range 1
vdump $::imagedir/${::casename}_range1.png
vlight -change 0 -range 0.5
vlight -change 1 -range 0.5
vdump $::imagedir/${::casename}_range0_5.png
vlight -change 0 -range 0.6
vlight -change 1 -range 0.6
vdump $::imagedir/${::casename}_range0_6.png
vlight -change 0 -range 10
vlight -change 1 -range 10
vdump $::imagedir/${::casename}_range10.png
box b -5.0 -5.0 -0.00001 10 10 0.00001
XNewDoc D
set bs [XAddShape D b 0]
XAddVisMaterial D m -baseColor WHITE -transparency 0.0 -metallic 0.0 -roughness 1.0
XSetVisMaterial D $bs m
XDisplay -dispMode 1 D
vfit
vlight -clear
for {set i 0} {$i < 5} {incr i} {
for {set j 0} {$j < 5} {incr j} {
vlight -add spot -pos [expr -4.0+2.0*$i] [expr -4.0+2.0*$j] 0.5 -dir 0 0 -1 -intensity 0.5 -angle 100 -exp [expr ($i*5+$j) / 24.0]
}
}
vdump $::imagedir/${::casename}_angle_attenuation.png