的笔记

随时随地编辑

晒晒预处理Ogre宏

其一,OgreBuildSettings
 1#ifndef __Custom_Config_H_
 2#define __Custom_Config_H_
 3
 4// CMake auto-generated configuration options
 5
 6/* #undef OGRE_STATIC_LIB */
 7
 8#define OGRE_BUILD_RENDERSYSTEM_D3D9
 9#define OGRE_BUILD_RENDERSYSTEM_D3D10
10#define OGRE_BUILD_RENDERSYSTEM_D3D11
11#define OGRE_BUILD_RENDERSYSTEM_GL
12/* #undef OGRE_BUILD_RENDERSYSTEM_GLES */
13#define OGRE_BUILD_PLUGIN_BSP
14#define OGRE_BUILD_PLUGIN_OCTREE
15#define OGRE_BUILD_PLUGIN_PCZ
16#define OGRE_BUILD_PLUGIN_PFX
17#define OGRE_BUILD_PLUGIN_CG
18
19#define OGRE_CONFIG_LITTLE_ENDIAN
20/* #undef OGRE_CONFIG_BIG_ENDIAN */
21
22#define OGRE_DOUBLE_PRECISION 0
23
24#define OGRE_MEMORY_ALLOCATOR 4
25
26#define OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1
27
28#define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0
29
30#define OGRE_MEMORY_TRACKER_DEBUG_MODE 0
31
32#define OGRE_MEMORY_TRACKER_RELEASE_MODE 0
33
34#define OGRE_THREAD_SUPPORT 0
35
36#define OGRE_THREAD_PROVIDER 0
37
38#define OGRE_NO_FREEIMAGE 0
39
40#define OGRE_NO_DDS_CODEC 0
41
42#define OGRE_NO_PVRTC_CODEC 1
43
44#define OGRE_NO_ZIP_ARCHIVE 0
45
46#define OGRE_NO_VIEWPORT_ORIENTATIONMODE 1
47
48#define OGRE_USE_NEW_COMPILERS 1
49
50#define OGRE_USE_BOOST 0
51
52#define OGRE_PROFILING 0
53
54#define RTSHADER_SYSTEM_BUILD_CORE_SHADERS
55
56#define RTSHADER_SYSTEM_BUILD_EXT_SHADERS
57
58#endif

其二,ogreconfig 
  1#ifndef __Config_H_
  2#define __Config_H_
  3
  4// Include the CMake-generated build settings.
  5// If you get complaints that this file is missing, then you're probably
  6// trying to link directly against your source dir. You must then add
  7// %BUILD_DIR%/include to your include search path to find OgreBuildSettings.h.
  8#include "OgreBuildSettings.h"
  9
 10/** If set to 1, profiling code will be included in the application. When you
 11    are deploying your application you will probably want to set this to 0 */

 12#ifndef OGRE_PROFILING
 13#define OGRE_PROFILING 0
 14#endif
 15
 16/** There are three modes for handling asserts in OGRE:
 170 - STANDARD - Standard asserts in debug builds, nothing in release builds
 181 - RELEASE_EXCEPTIONS - Standard asserts in debug builds, exceptions in release builds
 192 - EXCEPTIONS - Exceptions in debug builds, exceptions in release builds
 20*/

 21#define OGRE_ASSERT_MODE 0
 22
 23/** If set to >0, OGRE will always 'think' that the graphics card only has the
 24    number of texture units specified. Very useful for testing multipass fallback.
 25*/

 26#define OGRE_PRETEND_TEXTURE_UNITS 0
 27
 28/** If set to 1, Real is typedef'ed to double. Otherwise, Real is typedef'ed
 29    to float. Setting this allows you to perform mathematical operations in the
 30    CPU (Quaternion, Vector3 etc) with more precision, but bear in mind that the
 31    GPU still operates in single-precision mode.
 32*/

 33#ifndef OGRE_DOUBLE_PRECISION
 34#define OGRE_DOUBLE_PRECISION 0
 35#endif
 36
 37/** Define number of texture coordinate sets allowed per vertex.
 38*/

 39#define OGRE_MAX_TEXTURE_COORD_SETS 6
 40
 41/** Define max number of texture layers allowed per pass on any card.
 42*/

 43#define OGRE_MAX_TEXTURE_LAYERS 16
 44
 45/** Define max number of lights allowed per pass.
 46*/

 47#define OGRE_MAX_SIMULTANEOUS_LIGHTS 8
 48
 49/** Define max number of blending weights allowed per vertex.
 50*/

 51#define OGRE_MAX_BLEND_WEIGHTS 4
 52
 53/** Define this if you want to link OGRE as a static lib (preferably as a project file)
 54*/

 55//#define OGRE_STATIC_LIB
 56
 57
 58// define the memory allocator configuration to use
 59#define OGRE_MEMORY_ALLOCATOR_STD 1
 60#define OGRE_MEMORY_ALLOCATOR_NED 2
 61#define OGRE_MEMORY_ALLOCATOR_USER 3
 62#define OGRE_MEMORY_ALLOCATOR_NEDPOOLING 4
 63
 64#ifndef OGRE_MEMORY_ALLOCATOR
 65#  define OGRE_MEMORY_ALLOCATOR OGRE_MEMORY_ALLOCATOR_NEDPOOLING
 66#endif
 67
 68// Whether to use the custom memory allocator in STL containers
 69#ifndef OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR
 70#  define OGRE_CONTAINERS_USE_CUSTOM_MEMORY_ALLOCATOR 1
 71#endif
 72
 73//if you want to make Ogre::String use the custom memory allocator then set:
 74//#define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 1
 75// Doing this will mean Ogre's strings will not be compatible with std::string however
 76#ifndef OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR
 77#    define OGRE_STRING_USE_CUSTOM_MEMORY_ALLOCATOR 0
 78#endif
 79
 80// enable or disable the memory tracker, recording the memory allocations & tracking leaks
 81// default is to disable since it's expensive, but you can enable if needed per build target
 82
 83#ifndef OGRE_MEMORY_TRACKER_DEBUG_MODE
 84#  define OGRE_MEMORY_TRACKER_DEBUG_MODE 0
 85#endif
 86
 87#ifndef OGRE_MEMORY_TRACKER_RELEASE_MODE
 88#  define OGRE_MEMORY_TRACKER_RELEASE_MODE 0
 89#endif
 90/** Define max number of multiple render targets (MRTs) to render to at once.
 91*/

 92#define OGRE_MAX_MULTIPLE_RENDER_TARGETS 8
 93
 94/** Support for multithreading, there are 3 options
 95
 96OGRE_THREAD_SUPPORT = 0
 97    No support for threading.        
 98OGRE_THREAD_SUPPORT = 1
 99    Thread support for background loading, by both loading and constructing resources
100    in a background thread. Resource management and SharedPtr handling becomes
101    thread-safe, and resources may be completely loaded in the background. 
102    The places where threading is available are clearly
103    marked, you should assume state is NOT thread safe unless otherwise
104    stated in relation to this flag.
105OGRE_THREAD_SUPPORT = 2
106    Thread support for background resource preparation. This means that resource
107    data can streamed into memory in the background, but the final resource
108    construction (including RenderSystem dependencies) is still done in the primary
109    thread. Has a lower synchronisation primitive overhead than full threading
110    while still allowing the major blocking aspects of resource management (I/O)
111    to be done in the background.
112*/

113#ifndef OGRE_THREAD_SUPPORT
114#define OGRE_THREAD_SUPPORT 0
115#endif
116#if OGRE_THREAD_SUPPORT != 0 && OGRE_THREAD_SUPPORT != 1 && OGRE_THREAD_SUPPORT != 2
117#define OGRE_THREAD_SUPPORT 0
118#endif
119
120/** Provider for threading functionality, there are 4 options.
121
122OGRE_THREAD_PROVIDER = 0
123    No support for threading.
124OGRE_THREAD_PROVIDER = 1
125    Boost libraries provide threading functionality.
126OGRE_THREAD_PROVIDER = 2
127    Poco libraries provide threading functionality.
128OGRE_THREAD_PROVIDER = 3
129    TBB library provides threading functionality.
130*/

131#ifndef OGRE_THREAD_PROVIDER
132#define OGRE_THREAD_PROVIDER 0
133#endif
134
135/** Disables use of the FreeImage image library for loading images.
136WARNING: Use only when you want to provide your own image loading code via codecs.
137*/

138#ifndef OGRE_NO_FREEIMAGE
139#define OGRE_NO_FREEIMAGE 0
140#endif
141
142/** Disables use of the DevIL image library for loading images.
143By default DevIL is disabled in Eihort in favour of FreeImage, but you may re-enable
144it if you choose
145*/

146#ifndef OGRE_NO_DEVIL
147#define OGRE_NO_DEVIL 1
148#endif
149
150/** Disables use of the internal image codec for loading DDS files.
151WARNING: Use only when you want to provide your own image loading code via codecs.
152*/

153#ifndef OGRE_NO_DDS_CODEC
154#define OGRE_NO_DDS_CODEC 0
155#endif
156
157/** Disables use of the ZIP archive support.
158WARNING: Disabling this will make the samples unusable.
159*/

160#ifndef OGRE_NO_ZIP_ARCHIVE
161#define OGRE_NO_ZIP_ARCHIVE 0
162#endif
163
164/** Enables the use of the new script compilers when Ogre compiles resource scripts.
165*/

166#ifndef OGRE_USE_NEW_COMPILERS
167#define OGRE_USE_NEW_COMPILERS 1
168#endif
169
170#endif

posted on 2011-06-21 11:20 的笔记 阅读(1103) 评论(1)  编辑 收藏 引用

评论

# re: 晒晒预处理Ogre宏[未登录] 2014-04-10 09:11 aa

有意思吗?楼猪  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理