1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00
occt/tests/v3d/glsl/phong_pos3
kgv aaf8d6a98d 0030969: Coding Rules - refactor Quantity_Color.cxx color table definition
The table of named colors has been compressed and moved out
from Quantity_Color.cxx into Quantity_ColorTable.pxx.

Quantity_NameOfColor - grayscale enumeration values have been re-ordered to fix discontinuity.
Duplicating colors has been merged within enumeration:
  CHARTREUSE=CHARTREUSE1, GOLD=GOLD1, GREEN=GREEN1, ORANGE=ORANGE1,
  ORANGERED=ORANGERED1, RED=RED1, TOMATO=TOMATO1, YELLOW=YELLOW1.
Added aliases to several other common colors:
  BLUE=BLUE1, CYAN=CYAN1, LIGHTCYAN=LIGHTCYAN1, MAGENTA=MAGENTA1.

Quantity_Color class definition has been cleaned to follow OCCT coding style.
Quantity_Color now stores NCollection_Vec3<float> as class field instead of separate components.
Removed unused class Quantity_ColorDefinitionError.

New methods Quantity_Color::Convert_LinearRGB_To_sRGB() and Quantity_Color::Convert_sRGB_To_LinearRGB()
converting RGB components from linear to non-linear sRGB colorspace and vice versa.
Image_PixMap::PixelColor() and Image_PixMap::SetPixelColor() methods have been extended
with an optional argument for performing linearization/delinearization of 8-bit sRGB pixel formats.

Draw Harness command AISColor has been corrected to take color name instead of enumeration index.
2019-10-22 15:15:51 +03:00

47 lines
1.4 KiB
Plaintext

puts "========"
puts "0029290: Visualization, TKOpenGl - allow defining Light source per ZLayer"
puts "========"
pload MODELING VISUALIZATION
vclear
vclose ALL
vinit View1 -width 1024 -height 768
vaxo
vcaps -ffp 0
vrenderparams -shadingModel phong
vlight clear
set THE_LIGHTS {
{ -1 -1 -1 RED1 }
{ 1 -1 -1 YELLOW }
{ -1 1 -1 BLUE }
{ -1 -1 1 CYAN }
{ 1 1 -1 PURPLE }
{ 1 1 1 WHITE }
{ -1 1 1 HOTPINK }
{ 1 -1 1 GREEN }
{ 0 -1 0 MAGENTA }
{ 0 1 0 MAGENTA3 }
}
set aLayers [list [vzlayer -add -disable depthClear] [vzlayer -add -disable depthClear] [vzlayer -add -disable depthClear]]
for { set aLayIter 0 } { $aLayIter < 3 } { incr aLayIter } {
set aLayer [lindex $aLayers $aLayIter]
set aShiftX [expr $aLayIter * 4]
psphere s$aLayer 0.5
vdisplay -dispMode 1 -layer $aLayer s$aLayer
vsetlocation s$aLayer $aShiftX 0 0
for { set aLightIter 0 } { $aLightIter < 10 } { incr aLightIter } {
set aLight [lindex $THE_LIGHTS $aLightIter]
set aColor [lindex $aLight 3]
set aPos [list [expr $aShiftX + [lindex $aLight 0]] [lindex $aLight 1] [lindex $aLight 2]]
vlight -layer $aLayer -add positional -pos {*}$aPos -color $aColor -headLight 0
vpoint v${aLayIter}_${aLightIter} {*}$aPos
vdrawtext t${aLayIter}_${aLightIter} "l${aLayIter}_${aLightIter} $aColor" -pos {*}$aPos -color $aColor
}
}
vfit
vdump $::imagedir/${::casename}.png