void InitGL( void )//__BEGIN_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { start = getMilliCount(); #include "tier2_GLOBALS.cpp" //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "include/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 //======================= GLuint initializeLocator = 0; initializeModels(); //======================= //============================================================================== #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); //==================================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int main (int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_STEREO); //Display mode must have GLUT_STEREO,it is the key to resolve flash on the screen glutInitWindowSize(800, 600); glutInitWindowPosition(100, 100); glutCreateWindow(argv[0]); glutReshapeFunc(reshape); glutDisplayFunc(display); glutIdleFunc(display); glutKeyboardFunc(keyboard); glutMouseFunc(mouse); glutMotionFunc(onMouseMove); init(); //glEnable(GL_STEREO); GLboolean isStereo = GL_FALSE; glGetBooleanv(GL_STEREO,&isStereo); if(!isStereo) printf("FAIL! GPU don't support stereo\n"); else printf("SUCCESS! GPU support stereo\n"); InitVSync(); bool isOk = IsVSyncEnabled(); if (isOk) { printf("返回标志位为1\n"); SetVSyncState(false); } else { printf("返回标志位为0\n"); SetVSyncState(false); } glutMainLoop(); return 0; }
void InitGL( void )//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__ { eyePosition[0] = 0.0; eyePosition[1] = 0.0; eyePosition[2] = 5.0; look_LEFT_RIGHT = 0.0; look_UP_DOWN = 0.0; //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "headerFiles/glext_Init_B.cpp" //------------------------------------- SetVSyncState(true); #endif //========================================================================================================================================================================== //==================================================================================================================== glGenTextures(1, &shadowMap_2D); glBindTexture(GL_TEXTURE_2D, shadowMap_2D); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TEXTURE_WIDTH, TEXTURE_HEIGHT, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0); glBindTexture(GL_TEXTURE_2D, 0); //-------------------------------------------------------------------------------------------------------------------- glGenFramebuffers(1, &fboId_2D); glBindFramebuffer(GL_FRAMEBUFFER, fboId_2D); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, shadowMap_2D, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); //==================================================================================================================== #include "_MODEL_FOLDERS_/flowerShield/flowerShield_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/sculptris/sculptris_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/sphere/sphere_Init.cpp" //=================================================================================================================== 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); //===================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__
void InitGL( void )//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___BEGIN_INIT__ { //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "headerFiles/glext_Init_B.cpp" //------------------------------------- SetVSyncState(true); #endif //========================================================================================================================================================================== //==================================================================================================================== glGenTextures(1, &shadowMap_2D); glBindTexture(GL_TEXTURE_2D, shadowMap_2D); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TEXTURE_WIDTH, TEXTURE_HEIGHT, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0); glBindTexture(GL_TEXTURE_2D, 0); //-------------------------------------------------------------------------------------------------------------------- glGenFramebuffers(1, &fboId_2D); glBindFramebuffer(GL_FRAMEBUFFER, fboId_2D); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, shadowMap_2D, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); //######################################################################################################________SHADERS //######################################################################################################________SHADERS //================================================================ //==================================================================================== #include "_MODEL_FOLDERS_/facing_UP/facing_UP_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/facing_VIEW/facing_VIEW_Init.cpp" //==================================================================================== //=================================================================================================================== 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); //===================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__
void InitGL( void )//__BEGIN_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { #include "tier2_GLOBALS.cpp" //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "include/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 time(&gameTimerInit); //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 */ //======================================================================== screenRatio = (GLfloat)viewWidth / (GLfloat)viewHeight; //-------------- #if defined (__APPLE__) && TARGET_OS_IPHONE == 1 screenRatio = (GLfloat)viewHeight/(GLfloat)viewWidth; //___WIDESCREEN(LANDSCAPE) //__look for perspective adjustment at start of render block #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 //========================= #if defined (__APPLE__) && TARGET_OS_IPHONE == 1 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 //_____________________________________________________________________________________________________ //----------------------------------------------------------------------------------------------------- //===================================================================================================== */ //====================================================================================================================== //====================================================================================================================== #if defined(__APPLE__) && defined(__MACH__) /* Apple OSX and iOS (Darwin). ------------------------------ */ #include <TargetConditionals.h> #if TARGET_IPHONE_SIMULATOR == 1 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); #elif TARGET_OS_IPHONE == 1 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); #elif TARGET_OS_MAC == 1 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 #endif //===================== NSLog(@"viewWidth: %f", (GLfloat)viewWidth); #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(ALTHOUGH__NOW_THAT_I_THINK_OF_IT...THIS_PROBLEM_SEEMS_TO_HAVE_MOSTLY_GONE_AWAY glReadBuffer(GL_NONE);//_SAME_AS_ABOVE--------------------------------------------------------------------------------------------------------------> SHOULD_DO_SOME_RESEARCH_HERE :) //--------------------- glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_uiShadowMapTexture, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); #endif //====================================================================================================================== //====================================================================================================================== //------------------------------------------------------------------------------------------------------------------------------ glGenTextures(1, &GP_GPU_TEXTURE_0); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 1024, 1024, 0, GL_RGBA, GL_UNSIGNED_BYTE, 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_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glBindTexture(GL_TEXTURE_2D, 0); //------------------------------ glGenFramebuffers(1, &GP_GPU_FBO_0); glBindFramebuffer(GL_FRAMEBUFFER, GP_GPU_FBO_0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, GP_GPU_TEXTURE_0, 0); GLuint initializeLocator = 0; //======================= #include "INITIALIZE.cpp" //NOW USING FBO TO DISPLAY SCENE //======================= //============================================================================== #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); //==================================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
void InitGL( void )//__BEGIN_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ { //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "headerFiles/glext_Init_B.cpp" alutInit(NULL, 0); //------------------------------------- SetVSyncState(true); //------------------------------------- PassMouseMovement[0] = rotateModelWithLeftMouse[0]; PassMouseMovement[1] = rotateModelWithLeftMouse[1]; //================= #endif //################################################################################################################################ /* #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 //=================================================================================================== glGenTextures(1, &m_uiShadowMapTexture); glBindTexture(GL_TEXTURE_2D, m_uiShadowMapTexture); //------------------------------------------------- glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, (GLsizei)viewWidth, (GLsizei)viewHeight, 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_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); //------------------------------------------------------------------ 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 //================================================================================================================================================== #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_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); //------------------------------------------------------------------ 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 //########################################################################################################################################### eyeposition[0] = eyeStartPosition[0]; eyeposition[1] = eyeStartPosition[1]; eyeposition[2] = eyeStartPosition[2]; #include "INITIALIZE.cpp" //==================================================================================================================================== #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); //==================================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
void InitGL( void )//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___BEGIN_INIT__ { //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "headerFiles/glext_Init_B.cpp" //------------------------------------- SetVSyncState(true); #endif PassMouseMovementTo_GLSL_MATRIX[0] = rotateModelWithLeftMouse[0]; PassMouseMovementTo_GLSL_MATRIX[1] = rotateModelWithLeftMouse[1]; //========================================================================================================================================================================== /* glGenTextures(1, &shadowMap_2D); glBindTexture(GL_TEXTURE_2D, shadowMap_2D); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); glTexParameteri(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_INTENSITY); glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, (GLsizei)viewWidth / resize_SHADOW_FBO, (GLsizei)viewHeight / resize_SHADOW_FBO, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL); glBindTexture(GL_TEXTURE_2D, 0); //-------------------------------------------------- glGenFramebuffersEXT(1, &fboId_3D); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId_3D); #ifdef WIN32 glDrawBuffer(GL_NONE);//_ON_SOME_MACHINES_THIS_IS_REQUIRED / ON_SOME_IT_FAILS glReadBuffer(GL_NONE);//_THIS_MAY_BE_OPTIONAL #endif glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_TEXTURE_2D, shadowMap_2D, 0); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); //------------------------ */ //------------------------------------------------------------------------------------------------------ glGenTextures(1, &shadowMap_2D); glBindTexture(GL_TEXTURE_2D, shadowMap_2D); 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); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); //------------------------------------------------------------------------------------------ glGenFramebuffers(1, &fboId_3D); glBindFramebuffer(GL_FRAMEBUFFER, fboId_3D); #ifdef WIN32 glDrawBuffer(GL_NONE);//_ON_SOME_MACHINES_THIS_IS_REQUIRED / ON_SOME_IT_FAILS glReadBuffer(GL_NONE);//_THIS_MAY_BE_OPTIONAL #endif glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, shadowMap_2D, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); //--------------------------------------------------------------------------------------------------------------------- #include "_SHADERS/SHADOWS/flatten_3D_shadow_INIT.cpp" //==================================================================================== glEnable( GL_DEPTH_TEST ); glDepthFunc(GL_LEQUAL); glEnable(GL_CULL_FACE); #include "INITIALIZE.cpp" //=================================================================================================================== 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); //===================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__
void InitGL( void )//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__ { eyePosition[0] = 0; eyePosition[1] = 5.75; eyePosition[2] = 26.2; look_LEFT_RIGHT = 0; look_UP_DOWN = 0; //========================================================================== #ifdef WIN32 #include "cpp/setPixelFormat.cpp" #include "headerFiles/glext_Init_B.cpp" //------------------------------------- SetVSyncState(true); #endif //========================================================================================================================================================================== //==================================================================================================================== glGenTextures(1, &shadowMap_2D); glBindTexture(GL_TEXTURE_2D, shadowMap_2D); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TEXTURE_WIDTH, TEXTURE_HEIGHT, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0); glBindTexture(GL_TEXTURE_2D, 0); //-------------------------------------------------------------------------------------------------------------------- glGenFramebuffers(1, &fboId_2D); glBindFramebuffer(GL_FRAMEBUFFER, fboId_2D); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, shadowMap_2D, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); //==================================================================================================================== //#################################################################################### #include "_MODEL_FOLDERS_/horseParts/horse_LIGHTWAVE_INIT.cpp" //_SHADER //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/torso/torso_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/tail/tail_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/neck/neck_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/head/head_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontRightUpperLeg/frontRightUpperLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontRightLowerLeg/frontRightLowerLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontRightFoot/frontRightFoot_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backRightUpperLeg/backRightUpperLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backRightLowerLeg/backRightLowerLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backRightFoot/backRightFoot_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontLeftUpperLeg/frontLeftUpperLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontLeftLowerLeg/frontLeftLowerLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/frontLeftFoot/frontLeftFoot_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backLeftUpperLeg/backLeftUpperLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backLeftLowerLeg/backLeftLowerLeg_Init.cpp" //==================================================================================== #include "_MODEL_FOLDERS_/horseParts/backLeftFoot/backLeftFoot_Init.cpp" //==================================================================================== //=================================================================================================================== 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); //===================================================================================================================== }//__END_INIT__@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@___END_INIT__