updated docs
This commit is contained in:
parent
542670453b
commit
817f053d03
|
@ -1,31 +1,87 @@
|
||||||
|
|
||||||
|
VCGLib http://vcg.sf.net o o
|
||||||
|
Visual and Computer Graphics Library o o
|
||||||
|
_ O _
|
||||||
|
Copyright(C) 2004 \/)\/
|
||||||
|
Visual Computing Lab http://vcg.isti.cnr.it /\/|
|
||||||
|
ISTI - Italian National Research Council |
|
||||||
|
\
|
||||||
|
Metro, All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
--- Synopsis ---
|
||||||
|
|
||||||
|
'shadevis' is a tool designed to compute a per vertex, ambient occlusion term
|
||||||
|
|
||||||
|
Please, when using this tool cite the following reference:
|
||||||
|
|
||||||
|
For any question about this software please contact:
|
||||||
|
Paolo Cignoni ( p.cignoni@isti.cnr.it )
|
||||||
|
|
||||||
|
|
||||||
This value is mapped into a gray shade according to this formula
|
This value is mapped into a gray shade according to this formula
|
||||||
|
|
||||||
v=clamp(v,LowPass,HighPass)
|
v=clamp(v,LowPass,HighPass)
|
||||||
v=(v-LowPass)/(HighPass-LowPass)
|
v=(v-LowPass)/(HighPass-LowPass) /// Normalized 0..1
|
||||||
graylevel=GammaCorrection(v,GammaLev)
|
graylevel=GammaCorrection(v,GammaLev)
|
||||||
|
|
||||||
|
This graylevel is used in the Opengl lighting equation as follow.
|
||||||
|
Let assume that there is just a single directional light and no emissive and no specular component in the material, the gl lighting equation is:
|
||||||
|
|
||||||
|
C = Acm *Acs + Acm*Acli + (n*L)*Dcm*Dcli
|
||||||
|
|
||||||
|
where
|
||||||
|
Acm is the ambient color of the material (glMaterial or glColor if glColorMaterial is enabled)
|
||||||
|
Acs is ambient color of the scene (glLightModel)
|
||||||
|
Acli is the ambient intensity of the light (glLight)
|
||||||
|
|
||||||
|
We simply substitute the constant ambient that is usually constant, with a per vertex color, using a constant diffuse color.
|
||||||
|
|
||||||
|
Simple one line tutorial:
|
||||||
|
|
||||||
|
-- load a ply mesh, press 'enter', wait, press keys from 1 to 4.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Some useful hints:
|
Some useful hints:
|
||||||
|
|
||||||
keys
|
Keys
|
||||||
|
'esc' quit
|
||||||
'c' compute the sampling (sample are added so pressing c twice is the same of using 2n sampling directions)
|
'enter' compute the sampling (sample are added so pressing the key twice is the same of using 2n sampling directions)
|
||||||
'S' save a ply with the currently computed color.
|
|
||||||
's' smooth (average) the computed visibility
|
|
||||||
' ' add the current view to the sampling direction
|
' ' add the current view to the sampling direction
|
||||||
|
'S' save a ply with the currently computed color.
|
||||||
|
's' smooth (average) the computed visibility among adjacent vertices
|
||||||
|
'v' toggle the rendering of directions used for the sampling.
|
||||||
|
'V' Save a Snapshot of the current View.
|
||||||
|
|
||||||
'l' Increase LowPass
|
'tab' switch between object trackball light trackball
|
||||||
'L' Decrease LowPass
|
|
||||||
'h' Increase HighPass
|
|
||||||
'H' Decrease HighPass
|
|
||||||
'g' Increase GammaLev
|
|
||||||
'G' Decrease GammaLev
|
|
||||||
|
|
||||||
'a' Toggle Lighting
|
'l'-'L' Increase/Decrease LowPass
|
||||||
'A' Toggle per vertex coloring
|
'h'-'H' Increase/Decrease HighPass
|
||||||
|
'p'-'p' Increase/Decrease GammaLev
|
||||||
|
|
||||||
|
'C' Toggle Lighting
|
||||||
|
'c' Toggle per vertex coloring
|
||||||
|
|
||||||
|
'a'-'A' Increase/Decrease Ambient Coefficient
|
||||||
|
'd'-'D' Increase/Decrease Diffuse Coefficient
|
||||||
|
'e'-'E' Increase/Decrease Balance between Diffuse and Ambient coefficient
|
||||||
|
'1'..'4' Some preset ambient/diffuse values ranging from standard constant ambient to a
|
||||||
|
|
||||||
options
|
options
|
||||||
|
|
||||||
-n <number> set the number of sampling direction (default 32, but 100~1000 should be better)
|
-n <number> set the number of sampling direction (default 64, but 100~500 should be better)
|
||||||
-f flip normal of the surface
|
-f flip normal of the surface
|
||||||
-z <float> specify the z tolerance used to decide if a vertex is visible against the zbuffer or not (default 1e-4, useful range 1e-3 .. 1e-6)
|
-z <float> specify the z tolerance used to decide if a vertex is visible against the zbuffer or not (default 1e-3, useful range 1e-3 .. 1e-6)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue