1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-06-05 11:24:17 +03:00
occt/tests/bugs/vis/bug29791
kgv ba00aab7a0 0029528: Visualization, TKOpenGl - allow defining sRGB textures
OpenGL rendering is now done into sRGB framebuffer.
OpenGl_ShaderManager::prepareStdProgramFboBlit() has been extended
by programs resolving MSAA texture and applying gamma correction as fallbacks.

Quantity_Color definition has been modified to store RGB components
in linear color space within Quantity_TOC_RGB type.
Standard colors defined by Quantity_NameOfColor enumeration has been updated accordingly.
New Quantity_TOC_sRGB type has been introduced to handle RGB components in non-linear sRGB color space.

OpenGl_TextureFormat class definition has been moved to dedicated files.
New method OpenGl_TextureFormat::FindFormat() replaces OpenGl_Texture::GetDataFormat().
New method OpenGl_TextureFormat::FindSizedFormat() replaces OpenGl_FrameBuffer::getColorDataFormat()
and OpenGl_FrameBuffer::getDepthDataFormat().

Graphic3d_TextureRoot::IsColorMap() - introduced new property defining
if RGB(A)8 image formats should be loaded as sRGB(A) textures or as data RGB(A) textures.
OpenGl_Texture initialization methods have been extended with new theIsColorMap argument.

vreadpixel - added argument -sRGB printing color in sRGB color space.

Test cases have been updated to new sRGB rendered results.
2019-10-22 15:15:52 +03:00

34 lines
1.1 KiB
Plaintext

puts "============"
puts "0029791: Visualization - Wrong result of SelectMgr_RectangularFrustum::IsClipped"
puts "============"
puts ""
pload MODELING VISUALIZATION
restore [locate_data_file occ/bottle.brep] b
vclear
vinit View1
vdisplay -dispMode 1 -highMode 1 b
vfit
vzbufftrihedron
vclipplane p -equation 1 0 0 -20 -set
# clipping plane orthogonal to the camera direction
vfront
vfit
vmoveto 150 200
vstate -entities
vselect 150 200
if { [vreadpixel 150 200 rgb name] != "BLACK" } { puts "Error: object is not clipped" }
if { [vreadpixel 350 200 rgb name] != "PERU" } { puts "Error: object should NOT be selected" }
vdump $imagedir/${casename}_1.png
# depth range starts behinds the picking ray
vviewparams -scale 14.7435 -proj 0.193921 -0.891229 0.410007 -up -0.0205984 0.414149 0.909976 -at 11.3689 1.32152 24.9954
vmoveto 150 200
vstate -entities
vselect 150 200
if { [vreadpixel 150 200 rgb name] != "BLACK" } { puts "Error: object is not clipped" }
if { [vreadpixel 300 200 rgb name] != "GOLDENROD3" } { puts "Error: object should NOT be selected" }
vdump $imagedir/${casename}_2.png