mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
update script
This commit is contained in:
@@ -8,23 +8,35 @@ global startTimeTyre
|
|||||||
global currentTimeTyre
|
global currentTimeTyre
|
||||||
global endTimeTyre
|
global endTimeTyre
|
||||||
global stepTimeTyre
|
global stepTimeTyre
|
||||||
|
global index
|
||||||
|
|
||||||
set startTimeTyre 4805
|
global paveStartKd
|
||||||
set currentTimeTyre 4805
|
global paveStartKt
|
||||||
set endTimeTyre 5690
|
global paveCurrentKd
|
||||||
set stepTimeTyre 15
|
global paveCurrentKt
|
||||||
set SamplesPerPixel 30
|
global paveDeltaKd
|
||||||
|
global paveDeltaKt
|
||||||
|
|
||||||
global folderTyre
|
global folderTyre
|
||||||
global folderTyre
|
global folderTyre
|
||||||
global folderVideo
|
global folderVideo
|
||||||
|
|
||||||
set folderTyre "D:/TmpFiles/for_video/Tyre"
|
|
||||||
set folderEnv "D:/TmpFiles/for_video/Environment"
|
|
||||||
set folderVideo "D:/TmpFiles/for_video/Result"
|
|
||||||
|
|
||||||
global width
|
global width
|
||||||
global height
|
global height
|
||||||
|
|
||||||
|
set index 0
|
||||||
|
set startTimeTyre 4805
|
||||||
|
set currentTimeTyre 4805
|
||||||
|
set endTimeTyre 5690
|
||||||
|
set stepTimeTyre 15
|
||||||
|
set SamplesPerPixel 1
|
||||||
|
|
||||||
|
set folderTyre "D:/TmpFiles/for_video/Tyre"
|
||||||
|
set folderEnv "D:/TmpFiles/for_video/Environment"
|
||||||
|
set folderVideo "D:/TmpFiles/for_video/HighQuality"
|
||||||
|
|
||||||
|
#set width 1280
|
||||||
|
#set height 720
|
||||||
set width 512
|
set width 512
|
||||||
set height 512
|
set height 512
|
||||||
|
|
||||||
@@ -33,11 +45,18 @@ set isEditLight 1
|
|||||||
set isGI 1
|
set isGI 1
|
||||||
set isAnim 1
|
set isAnim 1
|
||||||
|
|
||||||
vinit name=View1 w=${width} h=${height} t=256 l=1024
|
set paveStartKd 0.243137
|
||||||
|
set paveStartKt 0.0
|
||||||
|
set paveCurrentKd ${paveStartKd}
|
||||||
|
set paveCurrentKt ${paveStartKt}
|
||||||
|
set paveDeltaKd 0.0020448142
|
||||||
|
set paveDeltaKt 0.0114285714
|
||||||
|
|
||||||
|
vinit name=View1 w=${width} h=${height} t=0 l=0
|
||||||
vsetdispmode 1
|
vsetdispmode 1
|
||||||
vcamera -persp -fovy 60
|
vcamera -persp -fovy 60
|
||||||
|
|
||||||
vzbufftrihedron
|
#vzbufftrihedron
|
||||||
|
|
||||||
#building0
|
#building0
|
||||||
puts "Loading the first building..."
|
puts "Loading the first building..."
|
||||||
@@ -56,7 +75,8 @@ vdisplayobj bench1 "${folderEnv}/Scene Bench1.obj"
|
|||||||
#urn
|
#urn
|
||||||
puts "Loading the urn..."
|
puts "Loading the urn..."
|
||||||
vdisplayobj urn "${folderEnv}/Scene Urn.obj"
|
vdisplayobj urn "${folderEnv}/Scene Urn.obj"
|
||||||
vsetmaterial urn steel
|
vsetmaterial urn aluminium
|
||||||
|
vbsdf urn -roughness 128
|
||||||
#pave00
|
#pave00
|
||||||
puts "Loading the first pave..."
|
puts "Loading the first pave..."
|
||||||
vdisplayobj pave00 "${folderEnv}/Scene Pave00.obj"
|
vdisplayobj pave00 "${folderEnv}/Scene Pave00.obj"
|
||||||
@@ -68,8 +88,10 @@ vdisplayobj pavement0 "${folderEnv}/Scene Pavement0.obj"
|
|||||||
puts "Loading the second pave..."
|
puts "Loading the second pave..."
|
||||||
vdisplayobj pave01 "${folderEnv}/Scene Pave01.obj"
|
vdisplayobj pave01 "${folderEnv}/Scene Pave01.obj"
|
||||||
vsetmaterial pave01 stone
|
vsetmaterial pave01 stone
|
||||||
#Tree0
|
#Tree00
|
||||||
vdisplayobj tree0 "${folderEnv}/Scene Tree00.obj"
|
vdisplayobj tree00 "${folderEnv}/Scene Tree00.obj"
|
||||||
|
#Tree01
|
||||||
|
vdisplayobj tree01 "${folderEnv}/Scene Tree01.obj"
|
||||||
|
|
||||||
#building1
|
#building1
|
||||||
puts "Loading the second building..."
|
puts "Loading the second building..."
|
||||||
@@ -83,6 +105,7 @@ vbsdf grass1 -kd 0.113 0.306 0.008
|
|||||||
puts "Loading the second pave..."
|
puts "Loading the second pave..."
|
||||||
vdisplayobj pave10 "${folderEnv}/Scene Pave10.obj"
|
vdisplayobj pave10 "${folderEnv}/Scene Pave10.obj"
|
||||||
vsetmaterial pave10 stone
|
vsetmaterial pave10 stone
|
||||||
|
vdisplayobj test "${folderEnv}/Scene Pave10test.obj"
|
||||||
#pavement
|
#pavement
|
||||||
vdisplayobj pavement1 "${folderEnv}/Scene Pavement1.obj"
|
vdisplayobj pavement1 "${folderEnv}/Scene Pavement1.obj"
|
||||||
#pave11
|
#pave11
|
||||||
@@ -104,6 +127,9 @@ vbsdf grass2 -kd 0.113 0.306 0.008
|
|||||||
puts "Loading the ground..."
|
puts "Loading the ground..."
|
||||||
vdisplayobj ground "${folderEnv}/Scene Ground 1.obj"
|
vdisplayobj ground "${folderEnv}/Scene Ground 1.obj"
|
||||||
|
|
||||||
|
vdisplayobj tyre "${folderTyre}/tyre_3.4805.obj"
|
||||||
|
vbsdf tyre -ks 0.3
|
||||||
|
|
||||||
if { ${isEditLight} == 1 } {
|
if { ${isEditLight} == 1 } {
|
||||||
vlight change 0 head 0
|
vlight change 0 head 0
|
||||||
vlight change 0 sm 0.1
|
vlight change 0 sm 0.1
|
||||||
@@ -112,210 +138,319 @@ if { ${isEditLight} == 1 } {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vtextureenv on "${folderEnv}/sky_midafternoon.jpg"
|
vtextureenv on "${folderEnv}/sky_midafternoon.jpg"
|
||||||
vrenderparams -ray -env on
|
vrenderparams -env on
|
||||||
|
|
||||||
if { ${isGI} == 1 } {
|
if { ${isGI} == 1 } {
|
||||||
vrenderparams -gi
|
vrenderparams -ray -gi
|
||||||
vrenderparams -brng
|
vrenderparams -brng
|
||||||
#vrenderparams -filter on
|
vrenderparams -rayDepth 5
|
||||||
}
|
}
|
||||||
|
|
||||||
vdisplayobj tyre "${folderTyre}/tyre_3.5690.obj"
|
# Animation of movement of the camera.
|
||||||
|
# Prepearing.
|
||||||
global index
|
proc StartMovementOfCamera {thePts theLocalPts theName} {
|
||||||
set index 0
|
vviewparams -scale 0.76084571141153157
|
||||||
if { 0 == 1 } {
|
vviewparams -proj -0.55490690725196157 0.83079330518538119 0.043137087792445204
|
||||||
#start position
|
vviewparams -up 0.0038687080384806026 -0.049275302086848008 0.99877774189374235
|
||||||
puts "begin"
|
vviewparams -at 904 -0.0925 3.5
|
||||||
vviewparams -proj -0.20622021944287358 0.47082896669284285 0.85778395019718279
|
vviewparams -eye -1875.1169546272422 4160.7348535943329 219.54166765447638
|
||||||
vviewparams -up 0.34414165473972619 -0.78572247727332134 0.51401041835791439
|
|
||||||
vviewparams -at -13354.357466784533 27218.390422097546 26205.999398111326
|
|
||||||
vviewparams -eye -15033.237088976141 31051.502227786012 33189.388311767325
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot0
|
|
||||||
puts "knot 0"
|
|
||||||
vviewparams -proj -0.20622021944287344 0.47082896669284346 0.85778395019718257
|
|
||||||
vviewparams -up 0.34414165473972619 -0.78572247727332134 0.51401041835791439
|
|
||||||
vviewparams -at -13354.357466784533 27218.390422097546 26205.999398111326
|
|
||||||
vviewparams -eye -14254.556394169076 29273.667697737732 29950.424624606083
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot1
|
|
||||||
puts "knot 1"
|
|
||||||
vviewparams -proj -0.41571695570910722 0.43430578177976742 0.79909817960537066
|
|
||||||
vviewparams -up 0.55255880993299089 -0.57726654320370485 0.60120054862174055
|
|
||||||
vviewparams -at -21230.015657075473 24204.803919974482 23556.870926717536
|
|
||||||
vviewparams -eye -23044.716220039514 26100.649003680352 27045.119112120185
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot2
|
|
||||||
puts "knot 2"
|
|
||||||
vviewparams -proj -0.44762421794647089 0.53801207252628835 0.71426575539065151
|
|
||||||
vviewparams -up 0.45682847922240011 -0.54907495291086994 0.69987458637764166
|
|
||||||
vviewparams -at -22333.259756577103 25954.230943443392 21873.264333951254
|
|
||||||
vviewparams -eye -22341.274931712684 25963.864606711519 21886.054001921115
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot3
|
|
||||||
puts "knot 3"
|
|
||||||
vviewparams -proj -0.44788044499548108 0.53779655646484081 0.71426743650064939
|
|
||||||
vviewparams -up 0.4570921661291803 -0.54885765333719594 0.69987286562383633
|
|
||||||
vviewparams -at -13707.386192562162 14482.648377528752 10849.765096470677
|
|
||||||
vviewparams -eye -15495.281424403387 16629.479992411649 13701.051323070391
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot4
|
|
||||||
puts "knot 4"
|
|
||||||
vviewparams -proj -0.44718015336668421 0.53800674424855244 0.71454786654080893
|
|
||||||
vviewparams -up 0.45727400220364306 -0.54907136249035604 0.69958639623826779
|
|
||||||
vviewparams -at 11435.8 -15967.5 -28391.8
|
|
||||||
vviewparams -eye -13484.174719894208 14002.468293369575 11428.231554346788
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot5
|
|
||||||
puts "knot 5"
|
|
||||||
vviewparams -proj -0.54095886294668194 0.72231331411763966 0.43084450193523982
|
|
||||||
vviewparams -up 0.28959797496449069 -0.32097294312176605 0.90172578020161875
|
|
||||||
vviewparams -at 17028.225461231897 -23490.280235621023 -17394.904746724318
|
|
||||||
vviewparams -eye -6852.4221626059334 8396.2658771283459 1624.7406202792517
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot6
|
|
||||||
puts "knot 6"
|
|
||||||
vviewparams -proj -0.54095886294668194 0.72231331411763966 0.43084450193523988
|
|
||||||
vviewparams -up 0.28959797496449069 -0.32097294312176605 0.90172578020161875
|
|
||||||
vviewparams -at 18537.604312086372 -23905.520476230522 -14803.609241620072
|
|
||||||
vviewparams -eye -1565.2364759343 2936.7230793679955 1207.2171262471238
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot7
|
|
||||||
puts "knot 7"
|
|
||||||
vviewparams -proj -0.62110268896811893 0.64641254663814718 0.44315039129550315
|
|
||||||
vviewparams -up 0.29662780874258493 -0.32948539230542279 0.89635446076756597
|
|
||||||
vviewparams -at 20691.468156274099 -22215.566058836219 -14958.801037599358
|
|
||||||
vviewparams -eye -2389.6365205911934 1806.0907756908309 1509.3301599623119
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot8
|
|
||||||
puts "knot 8"
|
|
||||||
vviewparams -proj -0.87404055231429312 0.20603968241462572 0.44000086611347194
|
|
||||||
vviewparams -up 0.35531317939173412 -0.34659785485005534 0.86811431940953332
|
|
||||||
vviewparams -at 30853.661242490405 -7437.5407276112601 -15288.204166516902
|
|
||||||
vviewparams -eye -1626.9911814297993 219.20161955377262 1062.8852201417812
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot9
|
|
||||||
puts "knot 9"
|
|
||||||
vviewparams -proj -0.75181851825962331 -0.31237650141434464 0.58068049473530503
|
|
||||||
vviewparams -up 0.53944967908272923 0.21501377057130752 0.81410264844321056
|
|
||||||
vviewparams -at 26512.037657317873 10567.979608932925 -19976.566463759911
|
|
||||||
vviewparams -eye -289.56414163475711 -567.94002980904588 724.13059853308005
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
#knot10
|
|
||||||
puts "knot 10"
|
|
||||||
vviewparams -proj -0.31369817861305538 -0.76634695237879957 0.5606298255663692
|
|
||||||
vviewparams -up 0.21238458206350391 0.51884353282430495 0.82806652978375184
|
|
||||||
vviewparams -at 13086.171886955321 29646.307936948524 -21897.75321880031
|
|
||||||
vviewparams -eye 317.39012410108262 -1547.1055307894094 922.14303961578844
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
}
|
}
|
||||||
#end position
|
# Main animation.
|
||||||
puts "end position"
|
proc MovementOfCamera {thePts theLocalPts theName} {
|
||||||
vviewparams -proj 0.54593763262437844 -0.71028743797754057 0.44434655026880843
|
global index
|
||||||
vviewparams -up 0 0 0.1
|
global folderVideo
|
||||||
vviewparams -at 1261.5 29 1.5
|
global SamplesPerPixel
|
||||||
vviewparams -eye 1656.5277404797348 -782.74632298760184 468.51284756718968
|
|
||||||
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
if { ${theLocalPts} < 3.0 } {
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
vshiftcam 0.01
|
||||||
vrenderparams -spp 1
|
} else {
|
||||||
set index [expr {$index + 1}]
|
vshiftcam 0.005
|
||||||
|
|
||||||
# deformations
|
|
||||||
set test 0
|
|
||||||
if { ${test} == 1 } {
|
|
||||||
set tyres [glob -type f "${folderTyre}/tyre_*.obj"]
|
|
||||||
foreach mesh $tyres {
|
|
||||||
#erase previous tyre
|
|
||||||
vremove tyre
|
|
||||||
|
|
||||||
#loading current tyre
|
|
||||||
puts "loading tyre_3.${currentTimeTyre}..."
|
|
||||||
vrenderparams -spp 1
|
|
||||||
vdisplayobj tyre ${mesh}
|
|
||||||
vrenderparams -spp $SamplesPerPixel
|
|
||||||
vfps 1
|
|
||||||
#vrenderparams -spp $SamplesPerPixel
|
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
|
||||||
vrenderparams -spp 1
|
|
||||||
set index [expr {$index + 1}]
|
|
||||||
|
|
||||||
set currentTimeTyre [expr ${currentTimeTyre} + ${stepTimeTyre}]
|
|
||||||
set prevTimeTyre [expr ${currentTimeTyre} - ${stepTimeTyre}]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
puts $index
|
||||||
|
vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
vdump "${folderVideo}/Res_${index}.png"
|
||||||
|
vrenderparams -spp 1
|
||||||
|
|
||||||
|
set index [expr {${index} + 1}]
|
||||||
}
|
}
|
||||||
|
|
||||||
proc Anim0 {thePts theLocalPts theName} {
|
# Animation of rotation of the camera.
|
||||||
|
# Preparing.
|
||||||
|
proc StartRotationOfCamera {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
set index 91
|
||||||
|
|
||||||
|
vviewparams -scale 0.17291948306641733
|
||||||
|
vviewparams -proj -0.5549068942726707 0.8307933138774608 0.043137087351443816
|
||||||
|
vviewparams -up 0 0 1
|
||||||
|
vviewparams -at 904 -0.0925 3.5
|
||||||
|
vviewparams -eye 223.11633760908609 1019.310356524007 56.430205481013957
|
||||||
|
}
|
||||||
|
# Main animation.
|
||||||
|
global z
|
||||||
|
set z 3.5
|
||||||
|
proc RotationOfCamera {thePts theLocalPts theName} {
|
||||||
|
global z
|
||||||
global width
|
global width
|
||||||
global height
|
global height
|
||||||
global index
|
global index
|
||||||
global folderVideo
|
global folderVideo
|
||||||
global SamplesPerPixel
|
global SamplesPerPixel
|
||||||
|
|
||||||
vmoveto ${width}/2 ${height}/20
|
puts $index
|
||||||
vrenderparams -spp ${SamplesPerPixel}
|
|
||||||
vrotate 0.0872665 0 0
|
|
||||||
|
|
||||||
|
vmoveto ${width}/2 ${height}/2
|
||||||
|
#vrotate -0.0349066 0 0
|
||||||
|
vrotate -0.1396264 0 0
|
||||||
|
#vrotate 0 -0.004363323 01
|
||||||
|
vrotate 0 -0.017453292 01
|
||||||
|
vviewparams -at 904 -0.0925 ${z} -up 0 0 1
|
||||||
|
|
||||||
|
vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
vfps 1
|
||||||
|
vdump "${folderVideo}/Res_${index}.png"
|
||||||
|
vrenderparams -spp 1
|
||||||
|
|
||||||
|
set index [expr {${index} + 1}]
|
||||||
|
set z [expr {${z} - 1.5}]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Animation of deformation of tyre.
|
||||||
|
# Preparing.
|
||||||
|
proc StartDeformationOfTyre {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
set index 111
|
||||||
|
|
||||||
|
vviewparams -scale 0.70209376404101775
|
||||||
|
vviewparams -proj 0.29616790541429666 -0.88265982860132486 0.36496054413592205
|
||||||
|
vviewparams -up -0.11609767165456701 0.34600221479170257 0.9310229846763316
|
||||||
|
vviewparams -at 904 -0.092499999999972715 -146.5
|
||||||
|
vviewparams -eye 1269.320051268 -1088.8442787782369 425.17506035310009
|
||||||
|
|
||||||
|
#vviewparams -scale 0.68818212755896502
|
||||||
|
#vviewparams -proj 0.34824854701750618 -0.8177652576045038 0.45823894744470978
|
||||||
|
#vviewparams -up 0 0 1
|
||||||
|
#vviewparams -at 904 -0.092499999999972715 -146.5
|
||||||
|
#vviewparams -eye 1342.2445815876536 -1029.1885184186783 460.15922086382318
|
||||||
|
}
|
||||||
|
# Main animation.
|
||||||
|
proc DeformationOfTyre {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
global folderTyre
|
||||||
|
global folderVideo
|
||||||
|
global SamplesPerPixel
|
||||||
|
global currentTimeTyre
|
||||||
|
global stepTimeTyre
|
||||||
|
global endTimeTyre
|
||||||
|
|
||||||
|
if { ${currentTimeTyre} <= ${endTimeTyre} } {
|
||||||
|
#erase previous tyre
|
||||||
|
vremove tyre
|
||||||
|
|
||||||
|
#loading current tyre
|
||||||
|
puts "loading tyre_3.${currentTimeTyre}..."
|
||||||
|
vrenderparams -spp 1
|
||||||
|
vdisplayobj tyre "${folderTyre}/tyre_3.${currentTimeTyre}.obj"
|
||||||
|
vbsdf tyre -ks 0.3
|
||||||
|
set bbox [vbounding -print tyre]
|
||||||
|
regexp {tyre+\n([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+) +([-0-9.+eE]+)} ${bbox} full x1 y1 z1 x2 y2 z2
|
||||||
|
vviewparams -at [expr {($x2 + $x1) * 0.5}] [expr {($y2 + $y1) * 0.5}] -131.5 -up 0 0 1
|
||||||
|
if { ${currentTimeTyre} <= 4955 } {
|
||||||
|
vshiftcam 0.01
|
||||||
|
} elseif { ${currentTimeTyre} < 5300 } {
|
||||||
|
vshiftcam 0.005
|
||||||
|
}
|
||||||
|
vrotate -0.003 0 0
|
||||||
|
|
||||||
|
puts $index
|
||||||
|
vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
vfps 1
|
||||||
|
vdump "${folderVideo}/Res_${index}.png"
|
||||||
|
vrenderparams -spp 1
|
||||||
|
|
||||||
|
vrenderparams -spp 1
|
||||||
|
set index [expr {$index + 1}]
|
||||||
|
|
||||||
|
set currentTimeTyre [expr ${currentTimeTyre} + ${stepTimeTyre}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Rotation of the camera after deformation.
|
||||||
|
# Preparing.
|
||||||
|
proc StartRotationOfCameraAfterDeformation {thePts theLocalPts theName} {
|
||||||
|
global folderTyre
|
||||||
|
global endTimeTyre
|
||||||
|
global paveStartKd
|
||||||
|
global paveStartKt
|
||||||
|
global index
|
||||||
|
set index 171
|
||||||
|
|
||||||
|
vrenderparams -gi off
|
||||||
|
vremove tyre
|
||||||
|
vdisplayobj tyre "${folderTyre}/tyre_3.${endTimeTyre}.obj"
|
||||||
|
vbsdf tyre -ks 0.3
|
||||||
|
vrenderparams -gi on
|
||||||
|
|
||||||
|
vviewparams -scale 0.89917874503252559
|
||||||
|
vviewparams -proj 0.12928743010777263 -0.87670185844940729 0.46333423336451535
|
||||||
|
vviewparams -up -0.066045096204520176 0.45860503872268371 0.88618252280526355
|
||||||
|
vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
vviewparams -eye 1386.6074883792353 -829.97175321148939 314.75078022962293
|
||||||
|
|
||||||
|
#vviewparams -scale 0.9280456841673036
|
||||||
|
#vviewparams -proj 0.18840463572798008 -0.84034129855590489 0.50826193559776089
|
||||||
|
#vviewparams -up -0.10946425274888763 0.49633667496588818 0.86120118581777039
|
||||||
|
#vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
#vviewparams -eye 1437.9007346084109 -769.77670424046596 342.79534506079335
|
||||||
|
|
||||||
|
vsetmaterial pave10 glass
|
||||||
|
vbsdf pave10 -absorpcoeff 1.0 -absorpcolor 1.0 1.0 1.0 -fresnel Constant 0.0 -kt ${paveStartKt} -kd ${paveStartKd}
|
||||||
|
}
|
||||||
|
# Main animation.
|
||||||
|
proc RotationOfCameraAfterDeformation {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
global folderVideo
|
||||||
|
global SamplesPerPixel
|
||||||
|
|
||||||
|
puts $index
|
||||||
|
|
||||||
|
vrotate 0 0.007853985 0
|
||||||
|
|
||||||
|
vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
vfps 1
|
||||||
|
vdump "${folderVideo}/Res_${index}.png"
|
||||||
|
vrenderparams -spp 1
|
||||||
|
|
||||||
|
set index [expr {$index + 1}]
|
||||||
|
}
|
||||||
|
|
||||||
|
# Idle animation.
|
||||||
|
# Preparing.
|
||||||
|
proc StartPaveTransparency {thePts theLocalPts theName} {
|
||||||
|
global folderTyre
|
||||||
|
global endTimeTyre
|
||||||
|
global index
|
||||||
|
set index 252
|
||||||
|
|
||||||
|
vrenderparams -gi off
|
||||||
|
vremove tyre
|
||||||
|
vdisplayobj tyre "${folderTyre}/tyre_3.${endTimeTyre}.obj"
|
||||||
|
vbsdf tyre -ks 0.3
|
||||||
|
vrenderparams -gi on
|
||||||
|
|
||||||
|
vviewparams -scale 0.89917874503252926
|
||||||
|
vviewparams -proj 0.14323443575502989 -0.97766449080860029 -0.15380520090653158
|
||||||
|
vviewparams -up 0.023687355221058894 -0.15197656682365501 0.98810021371272183
|
||||||
|
vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
vviewparams -eye 1400.0402582973147 -927.21182359687623 -279.63429694048989
|
||||||
|
|
||||||
|
#vviewparams -scale 0.92804568416730804
|
||||||
|
#vviewparams -proj 0.21658311425190047 -0.97083411217050375 -0.10282451685788761
|
||||||
|
#vviewparams -up 0.023884841470820248 -0.10002361570077746 0.99469834153378234
|
||||||
|
#vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
#vviewparams -eye 1464.1960761611324 -891.54882551588094 -227.45286659911696
|
||||||
|
}
|
||||||
|
# Main animation.
|
||||||
|
proc PaveTransparency {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
global folderVideo
|
||||||
|
global paveStartKd
|
||||||
|
global paveStartKt
|
||||||
|
global paveCurrentKd
|
||||||
|
global paveCurrentKt
|
||||||
|
global paveDeltaKd
|
||||||
|
global paveDeltaKt
|
||||||
|
global SamplesPerPixel
|
||||||
|
|
||||||
|
puts $index
|
||||||
|
|
||||||
|
set paveCurrentKd [expr {$paveCurrentKd - $paveDeltaKd}]
|
||||||
|
set paveCurrentKt [expr {$paveCurrentKt + $paveDeltaKt}]
|
||||||
|
|
||||||
|
vbsdf pave10 -kd ${paveCurrentKd} -kt ${paveCurrentKt}
|
||||||
|
|
||||||
|
vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
vfps 1
|
||||||
vdump "${folderVideo}/Res_${index}.png"
|
vdump "${folderVideo}/Res_${index}.png"
|
||||||
vrenderparams -spp 1
|
vrenderparams -spp 1
|
||||||
set index [expr {$index + 1}]
|
set index [expr {$index + 1}]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Idle animation.
|
||||||
|
# Preparing.
|
||||||
|
proc StartIdleAnim {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
global endTimeTyre
|
||||||
|
global folderTyre
|
||||||
|
set index 313
|
||||||
|
|
||||||
|
vbsdf pave10 -absorpcoeff 1.0 -absorpcolor 1.0 1.0 1.0 -fresnel Constant 0.0 -kt 0.8 -kd 0.1
|
||||||
|
|
||||||
|
vrenderparams -gi off
|
||||||
|
vremove tyre
|
||||||
|
vdisplayobj tyre "${folderTyre}/tyre_3.${endTimeTyre}.obj"
|
||||||
|
vbsdf tyre -ks 0.3
|
||||||
|
vrenderparams -gi on
|
||||||
|
|
||||||
|
vviewparams -scale 0.89917874503252926
|
||||||
|
vviewparams -proj 0.14323443575502989 -0.97766449080860029 -0.15380520090653158
|
||||||
|
vviewparams -up 0.023687358041704527 -0.15197658016980603 0.98810021159237427
|
||||||
|
vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
vviewparams -eye 1400.0402582973147 -927.21182359687623 -279.63429694048989
|
||||||
|
|
||||||
|
#vviewparams -scale 0.92804568416730826
|
||||||
|
#vviewparams -proj 0.21658311425190027 -0.97083411217050386 -0.10282451685788763
|
||||||
|
#vviewparams -up 0.023884838973521033 -0.10002359984931483 0.99469834318771899
|
||||||
|
#vviewparams -at 1262.0869750976562 14.405502319335938 -131.5
|
||||||
|
#vviewparams -eye 1464.1960761611322 -891.54882551588094 -227.45286659911696
|
||||||
|
}
|
||||||
|
# Main idle animation.
|
||||||
|
proc IdleAnim {thePts theLocalPts theName} {
|
||||||
|
global index
|
||||||
|
global folderVideo
|
||||||
|
global SamplesPerPixel
|
||||||
|
|
||||||
|
puts $index
|
||||||
|
#vrenderparams -spp ${SamplesPerPixel}
|
||||||
|
#vfps 1
|
||||||
|
#vdump "${folderVideo}/Res_${index}.png"
|
||||||
|
#vrenderparams -spp 1
|
||||||
|
set index [expr {$index + 1}]
|
||||||
|
}
|
||||||
|
|
||||||
if { ${isAnim} == 1 } {
|
if { ${isAnim} == 1 } {
|
||||||
|
set startTimeMovCam 0.0
|
||||||
|
set endTimeMovCam 4.5
|
||||||
|
set endTimeRotation 4.8
|
||||||
|
set endTimeDeformations 8.0
|
||||||
|
|
||||||
|
vlight change 0 head 0
|
||||||
vrenderparams -spp 1
|
vrenderparams -spp 1
|
||||||
|
|
||||||
vanim anim0 -reset -onRedraw Anim0
|
vanim movcam -reset -onRedraw MovementOfCamera -onStart StartMovementOfCamera
|
||||||
vanim anim -reset -addSlice 0.0 3.5 anim0
|
vanim animcam0 -reset -addSlice 0.0 4.5 movcam
|
||||||
#vanim -play anim -playFps 20 -record "${folderVideo}/video.mkv" -recWidth 1920 -recHeight 1080
|
#vanim -play animcam0 -playFps 20
|
||||||
vanim -play anim -playFps 20
|
|
||||||
|
vanim rotcam -reset -onRedraw RotationOfCamera -onStart StartRotationOfCamera
|
||||||
|
vanim animcam1 -reset -addSlice 0.0 1.0 rotcam
|
||||||
|
#vanim -play animcam1 -playFps 20
|
||||||
|
|
||||||
|
vanim deftyre -reset -onRedraw DeformationOfTyre -onStart StartDeformationOfTyre
|
||||||
|
vanim animdef -reset -addSlice 0.0 3.0 deftyre
|
||||||
|
#vanim -play animdef -playFps 20
|
||||||
|
|
||||||
|
vanim rotCamAfterDef -reset -onRedraw RotationOfCameraAfterDeformation -onStart StartRotationOfCameraAfterDeformation
|
||||||
|
vanim animRotCamAfterDef -reset -addSlice 0.0 4.0 rotCamAfterDef
|
||||||
|
#vanim -play animRotCamAfterDef -playFps 20
|
||||||
|
|
||||||
|
vanim pavetrans -reset -onRedraw PaveTransparency -onStart StartPaveTransparency
|
||||||
|
vanim animpavetrans -reset -addSlice 0.0 3.0 pavetrans
|
||||||
|
#vanim -play animpavetrans -playFps 20
|
||||||
|
|
||||||
|
vanim idle -reset -onRedraw IdleAnim -onStart StartIdleAnim
|
||||||
|
vanim animidle -reset -addSlice 0.0 2.0 idle
|
||||||
|
vanim -play animidle -playFps 20
|
||||||
|
|
||||||
vrenderparams -spp 1
|
vrenderparams -spp 1
|
||||||
}
|
}
|
@@ -5027,6 +5027,9 @@ static Standard_Integer vr(Draw_Interpretor& , Standard_Integer , const char** a
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <MeshPresentation.h>
|
||||||
|
#include <MeshVS_Drawer.hxx>
|
||||||
|
#include <MeshVS_DrawerAttribute.hxx>
|
||||||
//===============================================================================================
|
//===============================================================================================
|
||||||
//function : VBsdf
|
//function : VBsdf
|
||||||
//purpose :
|
//purpose :
|
||||||
@@ -5082,7 +5085,17 @@ static int VBsdf (Draw_Interpretor& theDi,
|
|||||||
}
|
}
|
||||||
|
|
||||||
Handle(AIS_InteractiveObject) anIObj = Handle(AIS_InteractiveObject)::DownCast (aMap.Find2 (aName));
|
Handle(AIS_InteractiveObject) anIObj = Handle(AIS_InteractiveObject)::DownCast (aMap.Find2 (aName));
|
||||||
Graphic3d_MaterialAspect aMaterial = anIObj->Attributes()->ShadingAspect()->Material();
|
Graphic3d_MaterialAspect aMaterial;
|
||||||
|
|
||||||
|
Handle(MeshPresentation) aMeshPrs = Handle(MeshPresentation)::DownCast (anIObj);
|
||||||
|
if (aMeshPrs.IsNull())
|
||||||
|
{
|
||||||
|
aMaterial = anIObj->Attributes()->ShadingAspect()->Material();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aMeshPrs->GetDrawer()->GetMaterial(MeshVS_DA_FrontMaterial, aMaterial);
|
||||||
|
}
|
||||||
Graphic3d_BSDF aBSDF = aMaterial.BSDF();
|
Graphic3d_BSDF aBSDF = aMaterial.BSDF();
|
||||||
|
|
||||||
if (aCmd.HasOption ("print"))
|
if (aCmd.HasOption ("print"))
|
||||||
|
@@ -8846,6 +8846,69 @@ static Standard_Integer VXRotate (Draw_Interpretor& di,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Standard_Integer VShiftCam (Draw_Interpretor& theDi,
|
||||||
|
Standard_Integer theArgNb,
|
||||||
|
const char** theArgVec)
|
||||||
|
{
|
||||||
|
Handle(V3d_View) anAISView = ViewerTest::CurrentView();
|
||||||
|
if (anAISView.IsNull())
|
||||||
|
{
|
||||||
|
std::cout << theArgVec[0] << ": please initialize or activate view.\n";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Standard_Real anAtX = 0.0;
|
||||||
|
Standard_Real anAtY = 0.0;
|
||||||
|
Standard_Real anAtZ = 0.0;
|
||||||
|
anAISView->At(anAtX, anAtY, anAtZ);
|
||||||
|
|
||||||
|
Standard_Real anEyeX = 0.0;
|
||||||
|
Standard_Real anEyeY = 0.0;
|
||||||
|
Standard_Real anEyeZ = 0.0;
|
||||||
|
anAISView->Eye(anEyeX, anEyeY, anEyeZ);
|
||||||
|
|
||||||
|
Graphic3d_Vec3 aDeltaVec(anAtX - anEyeX, anAtY - anEyeY, anAtZ - anEyeZ);
|
||||||
|
Standard_Real aDelta = Draw::Atof (theArgVec[1]);
|
||||||
|
anAISView->SetEye (anEyeX + aDeltaVec.x() * aDelta,
|
||||||
|
anEyeY + aDeltaVec.y() * aDelta,
|
||||||
|
anEyeZ + aDeltaVec.z() * aDelta);
|
||||||
|
anAISView->SetAt (anAtX + aDeltaVec.x() * aDelta,
|
||||||
|
anAtY + aDeltaVec.y() * aDelta,
|
||||||
|
anAtZ + aDeltaVec.z() * aDelta);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Standard_Integer VCamChangeAt (Draw_Interpretor& theDI,
|
||||||
|
Standard_Integer theArgNb,
|
||||||
|
const char** theArgVec)
|
||||||
|
{
|
||||||
|
Handle(V3d_View) anAISView = ViewerTest::CurrentView();
|
||||||
|
if (anAISView.IsNull())
|
||||||
|
{
|
||||||
|
std::cout << theArgVec[0] << ": please initialize or activate view.\n";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Standard_Real anAtX = 0.0;
|
||||||
|
Standard_Real anAtY = 0.0;
|
||||||
|
Standard_Real anAtZ = 0.0;
|
||||||
|
anAISView->At(anAtX, anAtY, anAtZ);
|
||||||
|
|
||||||
|
Standard_Real anEyeX = 0.0;
|
||||||
|
Standard_Real anEyeY = 0.0;
|
||||||
|
Standard_Real anEyeZ = 0.0;
|
||||||
|
anAISView->Eye(anEyeX, anEyeY, anEyeZ);
|
||||||
|
|
||||||
|
Graphic3d_Vec3 aDeltaVec (anAtX - anEyeX, anAtY - anEyeY, anAtZ - anEyeZ);
|
||||||
|
Standard_Real aDelta = Draw::Atof (theArgVec[1]);
|
||||||
|
anAISView->SetAt (anAtX + aDeltaVec.x() * aDelta,
|
||||||
|
anAtY + aDeltaVec.y() * aDelta,
|
||||||
|
anAtZ + aDeltaVec.z() * aDelta);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ViewerCommands
|
//function : ViewerCommands
|
||||||
//purpose :
|
//purpose :
|
||||||
@@ -9373,4 +9436,12 @@ void ViewerTest::ViewerCommands(Draw_Interpretor& theCommands)
|
|||||||
"vprogressive",
|
"vprogressive",
|
||||||
__FILE__, VProgressiveMode, group);
|
__FILE__, VProgressiveMode, group);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
theCommands.Add("vshiftcam",
|
||||||
|
"vshiftcam delta",
|
||||||
|
__FILE__, VShiftCam, group);
|
||||||
|
|
||||||
|
theCommands.Add("vcamchangeat",
|
||||||
|
"vcamchangeat delta",
|
||||||
|
__FILE__, VCamChangeAt, group);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user