Better Doxygen docs
This commit is contained in:
parent
37dd22cc79
commit
2bf024cfb7
|
@ -132,9 +132,15 @@
|
|||
<File
|
||||
RelativePath="..\..\..\vcg\simplex\face\pos.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\vcg\math\quadric.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\vcg\complex\local_optimization\tri_edge_collapse.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\vcg\complex\local_optimization\tri_edge_collapse_quadric.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
Visual Computing Lab http://vcg.isti.cnr.it /\/|
|
||||
ISTI - Italian National Research Council |
|
||||
\
|
||||
Metro, All rights reserved.
|
||||
ShadeVis, All rights reserved.
|
||||
|
||||
|
||||
|
||||
|
@ -23,14 +23,38 @@ for more details.
|
|||
|
||||
--- Synopsis ---
|
||||
|
||||
'shadevis' is a tool designed to compute a per vertex, ambient occlusion term
|
||||
'shadevis' is a tool designed to compute a per vertex, ambient occlusion term;
|
||||
This term can be used for a shading effect, commonly known as ambient occlusion
|
||||
shading, that is aimed to provide more faithful simple realtime rendering of rather complex meshes.
|
||||
|
||||
In practice tather than considering the ambient lighting to exist uniformally throughout a scene,
|
||||
this approach determines the ambient brightness of each part of a surface to be proportional to the extent
|
||||
to which the surface has "its outward view of its environment" free i.e. occluded, by other surfaces of the object. For example, the upper part of the David forehead is less exposed to its local environment than the nose and as a consequence it will be proportionally darker.
|
||||
|
||||
The most common techniques to compute ambient occlusion is based on shooting rays from each surface element to evaluate the quantity of light that reach it. Shadevis tools use OpenGL to accellerate this process by simply rendering the scene ortographically from a set of uniformely distributed directions and checking against the zbuffer if each vertex is occluded or not.
|
||||
|
||||
The Shadevis tool is oriented to handle rather large meshes, we have successfully used on a 8M triangle mesh of the David on a 512Mb machine.
|
||||
|
||||
|
||||
We have used this tool also for computing the exposition of falling agent over the Michelangelo's David.
|
||||
|
||||
Please, when using this tool cite the following references:
|
||||
|
||||
R. Borgo, P. Cignoni, R. Scopigno
|
||||
An easy to use visualization system for huge cultural heritage meshes
|
||||
VAST’01 Conference, Greece, Nov. 28-30, 2001. s
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Please, when using this tool cite the following reference:
|
||||
|
||||
For any question about this software please contact:
|
||||
Paolo Cignoni ( p.cignoni@isti.cnr.it )
|
||||
|
||||
|
||||
---- Notes on the Color mapping ----
|
||||
|
||||
This value is mapped into a gray shade according to this formula
|
||||
|
||||
v=clamp(v,LowPass,HighPass)
|
||||
|
@ -38,21 +62,23 @@ v=(v-LowPass)/(HighPass-LowPass) /// Normalized 0..1
|
|||
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:
|
||||
Let assume that there is just a single directional light and no emissive and no specular component in the material, the OpenGL 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)
|
||||
Acm ambient color of the material (glMaterial or glColor if glColorMaterial is enabled)
|
||||
Acs ambient color of the scene (glLightModel)
|
||||
Acli ambient intensity of the light (glLight)
|
||||
Dcm diffuse color of the material (we assume constant over the object).
|
||||
|
||||
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.
|
||||
|
||||
-- load a ply mesh, press 'enter', wait, press preset keys from 1 to 4.
|
||||
|
||||
|
||||
Some useful hints:
|
||||
|
@ -72,8 +98,14 @@ Some useful hints:
|
|||
'h'-'H' Increase/Decrease HighPass
|
||||
'p'-'p' Increase/Decrease GammaLev
|
||||
|
||||
'r'-'R' Increase/Decrease red component of diffuse color
|
||||
'g'-'G' Increase/Decrease green component of diffuse color
|
||||
'b'-'B' Increase/Decrease blue component of diffuse color
|
||||
|
||||
'C' Toggle Lighting
|
||||
'c' Toggle per vertex coloring
|
||||
'f' Toggle false color visualization
|
||||
|
||||
|
||||
'a'-'A' Increase/Decrease Ambient Coefficient
|
||||
'd'-'D' Increase/Decrease Diffuse Coefficient
|
||||
|
|
|
@ -8,7 +8,7 @@ PROJECT_NUMBER =
|
|||
OUTPUT_DIRECTORY = C:/Documenti/sf/docs/Doxygen/
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
USE_WINDOWS_ENCODING = YES
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF =
|
||||
|
@ -83,7 +83,7 @@ EXCLUDE_PATTERNS =
|
|||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
IMAGE_PATH = ./
|
||||
INPUT_FILTER =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
|
@ -108,8 +108,8 @@ GENERATE_HTML = YES
|
|||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_FOOTER = footer.html
|
||||
HTML_STYLESHEET = vcg.css
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** \defgroup space Space
|
||||
This module contains all the basic types for representing spatial entities like points (vcg::Point3) box3, line planes etc.
|
||||
*/
|
||||
/** \defgroup vertex
Vertex of edge, triangular and tetrahedral meshes
This module contains the documentation for the types and the functions used for representing and managing vertexes of meshes.
|
||||
/** \defgroup vertex Vertexes
Vertex of edge, triangular and tetrahedral meshes
This module contains the documentation for the types and the functions used for representing and managing vertexes of meshes.
|
||||
*/
|
||||
/** \defgroup face Faces
Face of a triangular or a tetrahedral mesh
|
||||
*/
/** \defgroup edgemesh EdgeMeshes (i.e PolyLines)
This module contains the documentation for the types and the functions used for representing and managing generic polylines, or in other words \b edge\b meshes.
|
||||
|
|
|
@ -22,6 +22,9 @@
|
|||
****************************************************************************/
|
||||
/****************************************************************************
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.5 2004/09/15 10:40:20 ponchio
|
||||
typedef LocalOptimization HeapType -> public:
|
||||
|
||||
Revision 1.4 2004/09/08 15:10:59 ganovelli
|
||||
*** empty log message ***
|
||||
|
||||
|
@ -96,10 +99,10 @@ class LocalModification
|
|||
|
||||
/// LocalOptimization:
|
||||
/// This class implements the algorihms running on 0-1-2-3-simplicial complex that are based on local modification
|
||||
/// THe local modification can be and edge_collpase, or an edge_swap, a vertex plit...as far as they implement
|
||||
/// The local modification can be and edge_collpase, or an edge_swap, a vertex plit...as far as they implement
|
||||
/// the interface defined in LocalModification.
|
||||
/// Implementation note: i norder to keep the local modification itself indepented by its use in this class, they are not
|
||||
/// really derived by LocalModification. INstead, a wrapper is done to this purpose (see vcg/complex/tetramesh/decimation/collapse.h)
|
||||
/// Implementation note: in order to keep the local modification itself indepented by its use in this class, they are not
|
||||
/// really derived by LocalModification. Instead, a wrapper is done to this purpose (see vcg/complex/tetramesh/decimation/collapse.h)
|
||||
|
||||
template<class MeshType>
|
||||
class LocalOptimization
|
||||
|
|
|
@ -34,8 +34,9 @@
|
|||
|
||||
/** \addtogroup trimesh */
|
||||
/*@{*/
|
||||
/// This Class is used for the edge collapse
|
||||
|
||||
/** This a static utlity class for the edge collapse.
|
||||
It provides a common set of useful function for actually making an edge collapse over a trimesh. See also
|
||||
**/
|
||||
namespace vcg{
|
||||
namespace tri{
|
||||
|
||||
|
@ -240,8 +241,6 @@ class EdgeCollapse
|
|||
f00->FFi(If00)=If01;
|
||||
f01->FFp(If01)=f00;
|
||||
f01->FFi(If01)=If00;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue