bool COpenGL::InitOpenGL (HWND hWnd) { //## begin COpenGL::InitOpenGL%40E265430348.body preserve=yes // bool COpenGL::InitOpenGL(HWND hWnd) { if (!::IsWindow(hWnd)) return false; m_hWnd = hWnd; m_hDC = ::GetDC(m_hWnd); if(!SetWindowPixelFormat()) return false; if(!CreateViewGLContext()) return false; //glClearColor(140.0f/255, 195.0f/255, 245.0f/155, 1.0f); //glClearColor(0.0, 0.25, 0.5, 0.0); glClearColor(0.0, 0.0, 0.0, 0.0); glClearDepth(1.0); glEnable(GL_DEPTH_TEST); RasterFont(); //BulidFont(); return true; } //## end COpenGL::InitOpenGL%40E265430348.body }
bool CLineComputeView::InitializeOpenGL(CDC * pDC) { m_pDC = pDC; //设置像素格式 if (SetupPixelFormat() == FALSE) return 0; //创建并设置RC if (CreateViewGLContext(m_pDC->GetSafeHdc()) == FALSE) { return FALSE; } /*if(!LoadGLTextures()) return false;*/ glClearColor(1.0f, 1.0f, 1.0f, 0.0f); glEnable(GL_TEXTURE_2D); glShadeModel(GL_FLAT); //gl_float glClearDepth(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); //glEnable(GL_POINT_SMOOTH); //glEnable(GL_LINE_SMOOTH); //glEnable(GL_POLYGON_SMOOTH); //glHint(GL_POINT_SMOOTH_HINT, GL_NICEST); //glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); //glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); BuildTowerList();//建立塔的显示列表 return TRUE; }
int CEasyGenView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) { return -1; } HWND hWnd = GetSafeHwnd(); HDC hDC = ::GetDC(hWnd); if (SetWindowPixelFormat(hDC) == FALSE) { return 0; } if (CreateViewGLContext(hDC) == FALSE) { return 0; } glEnable(GL_NORMALIZE); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glPolygonOffset(-0.8f, -0.8f); glClearColor(m_ClearColorRed, m_ClearColorGreen, m_ClearColorBlue, 1.0f); glClearDepth(1.0f); // Lights, material properties GLfloat ambientProperties[] = { 0.7f, 0.7f, 0.7f, 1.0f }; GLfloat diffuseProperties[] = { 0.8f, 0.8f, 0.8f, 1.0f }; GLfloat specularProperties[] = { 1.0f, 0.5f, 1.0f, 1.0f }; // GLfloat LightPosition[]= { 0.0f, 5.0f, -5.0f, 1.0f }; // Light Position ( NEW ) m_LightPos[0] = 0.f; m_LightPos[1] = 0.f; m_LightPos[2] = 0.f; m_LightPos[3] = 1.f; m_LightDir[0] = 0.f; m_LightDir[1] = 0.f; m_LightDir[2] = -1.f; m_LightDir[3] = 1.f; glLightfv(GL_LIGHT1, GL_AMBIENT, ambientProperties); glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuseProperties); glLightfv(GL_LIGHT1, GL_SPECULAR, specularProperties); glLightfv(GL_LIGHT1, GL_POSITION, m_LightPos); // Position The Light glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, m_LightDir); // Position The Light glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, 1.0); SetTimer(1, 200, NULL); return 0; }
//*************************************** // Init //*************************************** int CStaticView::Init() { HWND hWnd = GetSafeHwnd(); HDC hDC = ::GetDC(hWnd); if(SetWindowPixelFormat(hDC)==FALSE) return FALSE; if(CreateViewGLContext(hDC)==FALSE) return FALSE; glShadeModel(GL_FLAT); glEnable(GL_NORMALIZE); // Lights properties float ambientProperties[] = {0.7f, 0.7f, 0.7f, 1.0f}; float diffuseProperties[] = {0.8f, 0.8f, 0.8f, 1.0f}; float specularProperties[] = {1.0f, 1.0f, 1.0f, 1.0f}; glLightfv( GL_LIGHT0, GL_AMBIENT, ambientProperties); glLightfv( GL_LIGHT0, GL_DIFFUSE, diffuseProperties); glLightfv( GL_LIGHT0, GL_SPECULAR, specularProperties); glLightModelf(GL_LIGHT_MODEL_TWO_SIDE, 1.0); COLORREF color = GetSysColor(COLOR_3DFACE); float r = (float)GetRValue(color)/255.0f; float g = (float)GetGValue(color)/255.0f; float b = (float)GetBValue(color)/255.0f; glClearColor(r,g,b,1.0f); glClearDepth(1.0f); glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); // Perspective CRect rect; GetClientRect(&rect); double aspect = (rect.Height() == 0) ? rect.Width() : (double)rect.Width()/(double)rect.Height(); gluPerspective(45,aspect,0.1,1000.0); glPolygonMode(GL_FRONT,GL_LINE); glPolygonMode(GL_BACK,GL_LINE); // Antialiasing glEnable(GL_LINE_SMOOTH); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glHint(GL_LINE_SMOOTH_HINT,GL_NICEST); glLineWidth(1.1f); SetTimer(1,1,NULL); return 1; }
LOGICAL COpenGL::InitGL(HDC hDC) { m_hDC = hDC; if (SetWindowPixelFormat() == LOGICAL_FALSE) return LOGICAL_FALSE; if (CreateViewGLContext() == LOGICAL_FALSE) return LOGICAL_FALSE; MakeGLContextCurrent(); OnSetDefaultOptions(); OnInitialized(); MakeGLContextNotCurrent(); return LOGICAL_TRUE; }
int CwindcView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; HWND hwnd = GetSafeHwnd(); HDC hDC = ::GetDC(hwnd); if (FALSE == SetWindowPixelFormat(hDC)) { return 0; } if (FALSE == CreateViewGLContext(hDC)) { return 0; } return 0; }