root/OpenSceneGraph/trunk/src/osgUtil/CMakeLists.txt @ 11204

Revision 11204, 3.4 kB (checked in by robert, 5 years ago)

From Time Moore, "This submission implements 3 optimizations for meshes. INDEX_MESH turns DrawArrays? style geometry into DrawElements?, uniquifying the vertices in the process. This is useful for certain loaders, like ac3d, which just spit out DrawArrays?. VERTEX_POSTTRANSFORM and VERTEX_PRETRANSFORM optimize mesh triangle and vertex order for the caches on a modern GPU, using Tom Forsyth's algorithm. I describe this and the big difference it makes (38% improvement on a very large mesh) in my blog,
http://shiny-dynamics.blogspot.com/2010/03/vertex-cache-optimization-for-osg.html."

  • Property svn:eol-style set to native
Line 
1
2# FIXME: For OS X, need flag for Framework or dylib
3IF(DYNAMIC_OPENSCENEGRAPH)
4    ADD_DEFINITIONS(-DOSGUTIL_LIBRARY)
5ELSE()
6    ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC)
7ENDIF()
8
9SET(LIB_NAME osgUtil)
10SET(HEADER_PATH ${OpenSceneGraph_SOURCE_DIR}/include/${LIB_NAME})
11SET(LIB_PUBLIC_HEADERS
12    ${HEADER_PATH}/ConvertVec
13    ${HEADER_PATH}/CubeMapGenerator
14    ${HEADER_PATH}/CullVisitor
15    ${HEADER_PATH}/DelaunayTriangulator
16    ${HEADER_PATH}/DisplayRequirementsVisitor
17    ${HEADER_PATH}/DrawElementTypeSimplifier
18    ${HEADER_PATH}/EdgeCollector
19    ${HEADER_PATH}/Export
20    ${HEADER_PATH}/GLObjectsVisitor
21    ${HEADER_PATH}/HalfWayMapGenerator
22    ${HEADER_PATH}/HighlightMapGenerator
23    ${HEADER_PATH}/IntersectionVisitor
24    ${HEADER_PATH}/IntersectVisitor
25    ${HEADER_PATH}/IncrementalCompileOperation
26    ${HEADER_PATH}/LineSegmentIntersector
27    ${HEADER_PATH}/MeshOptimizers
28    ${HEADER_PATH}/OperationArrayFunctor
29    ${HEADER_PATH}/Optimizer
30    ${HEADER_PATH}/PlaneIntersector
31    ${HEADER_PATH}/PolytopeIntersector
32    ${HEADER_PATH}/PositionalStateContainer
33    ${HEADER_PATH}/PrintVisitor
34    ${HEADER_PATH}/ReflectionMapGenerator
35    ${HEADER_PATH}/RenderBin
36    ${HEADER_PATH}/RenderLeaf
37    ${HEADER_PATH}/RenderStage
38    ${HEADER_PATH}/ReversePrimitiveFunctor
39    ${HEADER_PATH}/SceneView
40    ${HEADER_PATH}/SceneGraphBuilder
41    ${HEADER_PATH}/ShaderGen
42    ${HEADER_PATH}/Simplifier
43    ${HEADER_PATH}/SmoothingVisitor
44    ${HEADER_PATH}/StateGraph
45    ${HEADER_PATH}/Statistics
46    ${HEADER_PATH}/TangentSpaceGenerator
47    ${HEADER_PATH}/Tessellator
48    ${HEADER_PATH}/TransformAttributeFunctor
49    ${HEADER_PATH}/TransformCallback
50    ${HEADER_PATH}/TriStripVisitor
51    ${HEADER_PATH}/UpdateVisitor
52    ${HEADER_PATH}/Version
53)
54
55ADD_LIBRARY(${LIB_NAME}
56    ${OPENSCENEGRAPH_USER_DEFINED_DYNAMIC_OR_STATIC}
57    ${LIB_PUBLIC_HEADERS}
58    CubeMapGenerator.cpp
59    CullVisitor.cpp
60    DelaunayTriangulator.cpp
61    DisplayRequirementsVisitor.cpp
62    DrawElementTypeSimplifier.cpp
63    EdgeCollector.cpp
64    GLObjectsVisitor.cpp
65    HalfWayMapGenerator.cpp
66    HighlightMapGenerator.cpp
67    IntersectionVisitor.cpp
68    IntersectVisitor.cpp
69    IncrementalCompileOperation.cpp
70    LineSegmentIntersector.cpp
71    MeshOptimizers.cpp
72    Optimizer.cpp
73    PlaneIntersector.cpp
74    PolytopeIntersector.cpp
75    PositionalStateContainer.cpp
76    PrintVisitor.cpp
77    RenderBin.cpp
78    RenderLeaf.cpp
79    RenderStage.cpp
80    ReversePrimitiveFunctor.cpp
81    SceneView.cpp
82    ShaderGen.cpp
83    Simplifier.cpp
84    SmoothingVisitor.cpp
85    SceneGraphBuilder.cpp
86    StateGraph.cpp
87    Statistics.cpp
88    TangentSpaceGenerator.cpp
89    Tessellator.cpp
90    TransformAttributeFunctor.cpp
91    TransformCallback.cpp
92
93    tristripper/include/detail/graph_array.h
94    tristripper/include/detail/types.h
95    tristripper/include/detail/cache_simulator.h
96    tristripper/include/detail/policy.h
97    tristripper/include/detail/heap_array.h
98    tristripper/include/detail/connectivity_graph.h
99    tristripper/include/tri_stripper.h
100    tristripper/include/public_types.h
101    tristripper/src/tri_stripper.cpp
102    tristripper/src/policy.cpp
103    tristripper/src/connectivity_graph.cpp
104
105    TriStripVisitor.cpp
106    UpdateVisitor.cpp
107    Version.cpp
108    ${OPENSCENEGRAPH_VERSIONINFO_RC}
109)
110
111INCLUDE_DIRECTORIES("tristripper/include")
112
113LINK_INTERNAL(${LIB_NAME}     
114    osg
115    OpenThreads
116)
117LINK_CORELIB_DEFAULT(${LIB_NAME})
118
119INCLUDE(ModuleInstall OPTIONAL)
Note: See TracBrowser for help on using the browser.