/
INITIALIZE.cpp
234 lines (200 loc) · 13.5 KB
/
INITIALIZE.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//==========================================================================
#ifdef WIN32
#include "cpp/setPixelFormat.cpp"
#include "headerFiles/glext_Init_B.cpp"
alutInit(NULL, 0);
//-------------------------------------
SetVSyncState(true);
//-----------------------------------------------------------------------------
rotateModelWithMiddleMouse[0] = Pass_MIDDLE_Mouse[0];
rotateModelWithMiddleMouse[1] = Pass_MIDDLE_Mouse[1];
//-----------------------------------------------------------------
zoomModelWithMiddleMouse = Pass_MIDDLE_CONTROL_Mouse;
//-----------------------------------------------------------------
moveModelWithMiddleMouse[0] = Pass_MIDDLE_SHIFT_Mouse[0];
moveModelWithMiddleMouse[1] = Pass_MIDDLE_SHIFT_Mouse[1];
//-----------------------------------------------------------------
//=================
#endif
start = getMilliCount();
//################################################################################################################################
/*
#ifdef __APPLE__
if(sound_API_selector == 0)
{
#include "AUDIO/openAL_iOS/openAL_iOS_Init.cpp"
}
if(sound_API_selector == 1)
{
//#include "AUDIO/fMod_iOS/fMod_iOS_Init.cpp" //_____found_in_EAGLView
}
#endif
//=========================================================
#ifdef WIN32
if(sound_API_selector == 0)
{
#include "AUDIO/openAL_WIN/openAL_WIN_Init.cpp"
}
if(sound_API_selector == 1)
{
#include "AUDIO/fMod_WIN/fMod_WIN_Init.cpp"
}
#endif
*/
//========================================================================
#ifdef WIN32
screenRatio = (GLfloat)viewWidth / (GLfloat)viewHeight;
#endif
//--------------
#ifdef __APPLE__
screenRatio = (GLfloat)viewHeight/(GLfloat)viewWidth;
#endif
//========================================================================
//NSLog(@"screenRatio: %f", (GLfloat)screenRatio);
//=====================================================================================================
//-----------------------------------------------------------------------------------------------------
//_____________________________________________________________________________________________________
GLfloat adjustToResolution = (GLfloat)viewWidth/(GLfloat)viewHeight;
//===================================================================
#ifdef WIN32
display_00_SCALE[0] = 1.0/(GLfloat)viewWidth * (GLfloat)viewWidth * adjustToResolution*4.52/10;
display_00_SCALE[1] = display_00_SCALE[0];
//------------------------------------------------------------------------------------------------
scaleScreenAlignedQuadRatio = (GLfloat)viewWidth / (GLfloat)viewHeight;
//-----------------------------------------------------------------------
inverseScreenRatio = 1.0 / (GLfloat)viewWidth * (GLfloat)viewHeight;
display_00_MOVE[0] += inverseScreenRatio * display_00_SCALE[0] * 0.5;
display_00_MOVE[1] -= display_00_SCALE[1] * 0.5;
//------------------------------------------------------------------------------------------------
GLfloat skipTouchIncrement = display_00_SCALE[1] / scaleScreenAlignedQuadRatio;
display_00_MOVE[0] += skipTouchIncrement;
#endif
//=========================
#ifdef __APPLE__
display_00_SCALE[0] = 1.0/(GLfloat)viewWidth * (GLfloat)viewWidth * adjustToResolution*4.52/10*4.0;
display_00_SCALE[1] = display_00_SCALE[0];
//-----------------------------------------------------------------------
scaleScreenAlignedQuadRatio = (GLfloat)viewWidth / (GLfloat)viewHeight;
//-----------------------------------------------------------------------
inverseScreenRatio = (1.0 / (GLfloat)viewHeight) * viewWidth;
display_00_MOVE[1] -= inverseScreenRatio * display_00_SCALE[0] * 0.5;
display_00_MOVE[0] -= display_00_SCALE[1] * 0.5 ;
//---------------------------------------------------------------------------------------------
GLfloat skipTouchIncrement = display_00_SCALE[1] * scaleScreenAlignedQuadRatio;
display_00_MOVE[1] -= skipTouchIncrement;
#endif
//_____________________________________________________________________________________________________
//-----------------------------------------------------------------------------------------------------
//=====================================================================================================
//===========================================================================================================
//===========================================================================================================
#ifdef WIN32
glGenTextures(1, &m_uiShadowMapTexture);
//------------
glBindTexture(GL_TEXTURE_2D, m_uiShadowMapTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, (GLsizei)viewWidth * resize_SHADOW_FBO,
(GLsizei)viewHeight * resize_SHADOW_FBO,
0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//------------------------------------------------------------------
glGenFramebuffers(1, &m_uiFrameBufferObject);
glBindFramebuffer(GL_FRAMEBUFFER, m_uiFrameBufferObject);
//---------------------
glDrawBuffer(GL_NONE);//_ON_SOME_MACHINES_THIS_IS_REQUIRED / ON_SOME_IT_FAILS
glReadBuffer(GL_NONE);//_SAME_AS_ABOVE
//---------------------
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_uiShadowMapTexture, 0);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
#endif
//===================== NSLog(@"viewWidth: %f", (GLfloat)viewWidth);
#ifdef __APPLE__
glGenTextures(1, &m_uiShadowMapTexture);
//------------
glBindTexture(GL_TEXTURE_2D, m_uiShadowMapTexture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 2000,
1000,
0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//------------------------------------------------------------------
glGenFramebuffers(1, &m_uiFrameBufferObject);
glBindFramebuffer(GL_FRAMEBUFFER, m_uiFrameBufferObject);
//---------------------
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_uiShadowMapTexture, 0);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
#endif
//==========================================================================================================
//==========================================================================================================
//==============================================================================
//==============================================================================
#ifdef WIN32
atexit(KillALData);//_tell_openAL_to_run_KillALData_function_at_shutdown
#endif
glEnable(GL_DEPTH_TEST);
//glDepthFunc(GL_LEQUAL);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
//glAlphaFunc(GL_GREATER, 0.1);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
//==============================================================================
//==============================================================================
//====================================================================================
// #include "_MODEL_FOLDERS_/lightSpheres/lightSpheres_Init.cpp"
//====================================================================================
//#include "_SHADERS/drawMainColor_FBO/drawMainColor_FBO_INIT.cpp"
//====================================================================================
#include "_SHADERS/drawMainColor_PRIMARY_FBO/drawMainColor_PRIMARY_FBO_INIT.cpp"
//====================================================================================
//#include "_SHADERS/hardEdgeShadow_FBO/hardEdgeShadow_FBO_INIT.cpp"
//====================================================================================
#include "_SHADERS/generic_FBO/generic_FBO_INIT.cpp"
//====================================================================================
#include "_SHADERS/softDiffuse_FBO/softDiffuse_FBO_INIT.cpp"
//====================================================================================
//######################################################################################################
//====================================================================================
#include "_SHADERS/finalComposite/finalComposite_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/SHADOWS/shadows_32bit_Stride_SHADER_INIT.cpp"
//====================================================================================
//#include "_SHADERS/gaussianBlur_9x/gaussianBlur_9x_Horizontal_SHADER_INIT.cpp"
//#include "_SHADERS/gaussianBlur_9x/gaussianBlur_9x_Vertical_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/copyFBO/copyFBO_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/PowerVR_blur/PowerVR_blur_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/baseRoom/baseRoom_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/basic/basic_SHADER_INIT.cpp"
//====================================================================================
#include "_SHADERS/sky/sky_SHADER_INIT.cpp"
//====================================================================================
//######################################################################################################
//====================================================================================
#include "_MODEL_FOLDERS_/frameBufferPlane/frameBufferPlane_INIT.cpp"
//====================================================================================
//-------------------------------
//====================================================================================
//====================================================================================
#include "_MODEL_FOLDERS_/marc/marc_INIT.cpp"
//====================================================================================
//#include "_MODEL_FOLDERS_/ROOMS/ROOM_01/room_01_softDiffuse/room_01_softDiffuse_INIT.cpp"
#include "_MODEL_FOLDERS_/ROOMS/room_01/BEAMS_01_A/BEAMS_01_A_INIT.cpp"
//=================================================================================
#include "_MODEL_FOLDERS_/ROOMS/room_01/BEAMS_01_B/BEAMS_01_B_INIT.cpp"
//=================================================================================
#include "_MODEL_FOLDERS_/ROOMS/room_01/BEAMS_01_C/BEAMS_01_C_INIT.cpp"
//=================================================================================
#include "_MODEL_FOLDERS_/ROOMS/room_01/TILES_01_BOTTOM/TILES_01_BOTTOM_INIT.cpp"
//=================================================================================
#include "_MODEL_FOLDERS_/ROOMS/room_01/TILES_01_TOP/TILES_01_TOP_INIT.cpp"
//=================================================================================
//=================================================================================
#include "_MODEL_FOLDERS_/backGround/backGround_INIT.cpp"