00001
00002
00003
00004
00005
00006
00007
00008 #ifndef RC_RESOLVE_H
00009 #define RC_RESOLVE_H
00010
00011
00012
00013
00014 #include <vector>
00015 #include <memory>
00016 #include <cstdio>
00017 #include <cstdlib>
00018 #include <cstring>
00019 #include <cstdarg>
00020
00021
00022
00023
00024
00025 #if defined RC_MAC || defined RC_IPHONE
00026 #define RC_APPLE
00027 #endif
00028
00029 #if defined RC_IPHONE && defined RC_LOG_TO_FILE
00030 #error iPhone build doesn't allow logging to file. Either disable \
00031 RC_LOG_TO_FILE or build for another architecture.
00032 #endif
00033
00034
00035 #ifdef RC_WIN32
00036 #include <windows.h>
00037 #endif
00038
00039
00040 #ifdef RC_WIN32
00041 #pragma warning( disable : 4996 )
00042 #pragma warning( disable : 4201 )
00043 #pragma warning( disable : 4100 )
00044 #pragma warning( disable : 4706 )
00045
00046 #ifdef RC_GLUT
00047 #pragma warning( disable : 4505 )
00048 #endif
00049
00050 #endif
00051
00052
00053 #if defined RC_OPENGL_ES_20 && defined RC_OPENGL_20
00054 #error Build must only be enabled for one OpenGL version only.
00055 #endif
00056
00057 #if defined RC_CUDA_TRACER && defined RC_OPENGL_ES_20
00058 #error The Cuda tracer relies on OpenGL 2.0 for rendering, and may \
00059 therefore only coexist with that version of OpenGL.
00060 #endif
00061
00062 #ifdef RC_OPENGL_ES_20
00063 #define RC_OPENGL
00064 #define RC_OPENGL_ES
00065
00066 #ifdef RC_WIN32
00067 #include <EGL/egl.h>
00068 #include <GLES2/gl2.h>
00069 #endif
00070 #elif defined RC_OPENGL_20
00071 #define RC_OPENGL
00072
00073 #ifdef RC_WIN32
00074 #include "GLee.h"
00075 #include <GL/gl.h>
00076 #include <GL/glu.h>
00077
00078 #if defined RC_SDL
00079 #include <SDL/SDL.h>
00080 #include <SDL/SDL_syswm.h>
00081 #elif defined RC_GLUT
00082
00083 #endif
00084
00085 #include <SDL/SDL_image.h>
00086
00087 #endif
00088 #endif
00089
00090 #ifdef RC_CUDA_TRACER
00091
00092 #ifdef RC_WIN32
00093 #include "GLee.h"
00094 #include <GL/gl.h>
00095 #include <GL/glu.h>
00096
00097 #endif
00098
00099 #endif
00100
00101
00102 typedef enum {
00103
00104 RENDERER_UNDEFINED = 0,
00105
00106 #ifdef RC_OPENGL_ES_20
00107 RENDERER_OPENGL_ES_20,
00108 #elif defined RC_OPENGL_20
00109 RENDERER_OPENGL_20,
00110 #endif
00111
00112 #ifdef RC_CUDA_TRACER
00113 RENDERER_CUDA_TRACER,
00114 #endif
00115
00116 RENDERER_LAST
00117
00118 } RendererID;
00119
00120
00121
00122
00123 #define RC_SCENE_GRAPH_MAX_DEPTH 64
00124 #define RC_MAX_RENDER_TARGET_TEXTURES 8
00125 #define RC_GEOMETRY_MAX_PASSES 8
00126
00127
00128
00129
00130
00131
00132
00133
00134 #include "Types.h"
00135
00136
00137 #include "Memory.h"
00138
00139
00140 #include "Result.h"
00141
00142
00143 #include "VectorMath.h"
00144
00145
00146 #include "Misc.h"
00147
00148
00149
00150 #include "Keys.h"
00151 #include "Platform.h"
00152
00153
00154 #include "SceneGraphAux.h"
00155 #include "SceneGraph.h"
00156
00157
00158 #endif
00159