Init.cpp
上传用户:sz83729876
上传日期:2013-03-07
资源大小:4140k
文件大小:5k
源码类别:

OpenGL

开发平台:

Windows_Unix

  1. ///////////////////////////////// SET UP PIXEL FORMAT \\\\\\\\\\\\\\\\*
  2. /////
  3. ///// This function sets the pixel format for OpenGL.
  4. /////
  5. ///////////////////////////////// SET UP PIXEL FORMAT \\\\\\\\\\\\\\\\*
  6. #include "main.h"
  7. #include "core.h"
  8. bool gribSetupPixelFormat(HDC hdc) 
  9.     PIXELFORMATDESCRIPTOR pfd; 
  10.     int pixelformat; 
  11.  
  12.     pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); // Set the size of the structure
  13.     pfd.nVersion = 1; // Always set this to 1
  14. // Pass in the appropriate OpenGL flags
  15.     pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; 
  16.     pfd.dwLayerMask = PFD_MAIN_PLANE; // We want the standard mask (this is ignored anyway)
  17.     pfd.iPixelType = PFD_TYPE_RGBA; // We want RGB and Alpha pixel type
  18.     pfd.cColorBits = ScreenDeph; // Here we use our #define for the color bits
  19.     pfd.cDepthBits = ScreenDeph; // Depthbits is ignored for RGBA, but we do it anyway
  20.     pfd.cAccumBits = 0; // No special bitplanes needed
  21.     pfd.cStencilBits = 0; // We desire no stencil bits
  22.  
  23. // This gets us a pixel format that best matches the one passed in from the device
  24.     if ( (pixelformat = ChoosePixelFormat(hdc, &pfd)) == FALSE ) 
  25.     { 
  26.         MessageBox(NULL, "ChoosePixelFormat failed", "Error", MB_OK); 
  27.         return FALSE; 
  28.     } 
  29.  
  30. // This sets the pixel format that we extracted from above
  31.     if (SetPixelFormat(hdc, pixelformat, &pfd) == FALSE) 
  32.     { 
  33.         MessageBox(NULL, "SetPixelFormat failed", "Error", MB_OK); 
  34.         return FALSE; 
  35.     } 
  36.  
  37.     return TRUE; // Return a success!
  38. }
  39. //////////////////////////// RESIZE OPENGL SCREEN \\\\\\\\\\\\\\\\*
  40. /////
  41. ///// This function resizes the viewport for OpenGL.
  42. /////
  43. //////////////////////////// RESIZE OPENGL SCREEN \\\\\\\\\\\\\\\\*
  44. void griSizeOpenGLScreen(int width, int height) // Initialize The GL Window
  45. {
  46. if (height==0) // Prevent A Divide By Zero error
  47. {
  48. height=1; // Make the Height Equal One
  49. }
  50. // glEnable(GL_DEPTH_TEST);
  51. glEnable(GL_TEXTURE_2D); // 朽琊屮屙桢 磬腩驽龛