{
HWND hWnd=GetSafeHwnd()
HDC hDC=::GetDC(hWnd)
wglMakeCurrent(hDC,hglrc)
drawb_curve()
wglMakeCurrent(NULL,NULL)
SwapBuffers(hDC)
}
我怎么没有看到HGLRC的赋值过程?
wglCreateContext(hDC)
#include <windows.h>#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include "glut.h"
static GLfloat spin = 0.0
void init( void )
{
glClearColor( 0.0, 0.0, 0.0, 0.0 )
glShadeModel( GL_FLAT )
}
void display( void )
{
glClear( GL_COLOR_BUFFER_BIT )
glPushMatrix( )
glRotatef( spin, 0.0, 0.0, 1.0 )
glColor3f( 1.0, 1.0, 1.0 )
glRectf( -25.0, -25.0, 25.0, 25.0 )
glPopMatrix( )
glutSwapBuffers( )
}
void spinDisplay( void )
{
spin = spin + 2.0
if ( spin >360.0 )
spin = spin - 360.0
glutPostRedisplay( )
}
void reshape( int w, int h )
{
glViewport( 0, 0, (GLsizei)w, (GLsizei)h )
glMatrixMode( GL_PROJECTION )
glLoadIdentity( )
//void glOrtho(GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble near,GLdouble far)
glOrtho( -50.0, 50.0, -50.0, 50.0, -1.0, 1.0 )
glMatrixMode( GL_MODELVIEW )
glLoadIdentity( )
}
void mouse( int button, int state, int x, int y )
{
switch ( button )
{
case GLUT_LEFT_BUTTON:
if ( state == GLUT_DOWN )
glutIdleFunc( spinDisplay )
break
case GLUT_MIDDLE_BUTTON:
if ( state == GLUT_DOWN )
glutIdleFunc( 0 )
break
default:
break
}
}
void keyboard( unsigned char key, int x, int y )
{
switch (key)
{
case 'a':
glutIdleFunc( spinDisplay )
break
case 's':
glutIdleFunc( 0 )
break
}
}
int main( int argc, char** argv )
{
glutInit( &argc, argv )
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB )
glutInitWindowSize( 250, 250 )
glutInitWindowPosition( 100, 100 )
glutCreateWindow( argv [0] )
init( )
glutDisplayFunc( display )
glutReshapeFunc( reshape )
glutMouseFunc( mouse )
glutKeyboardFunc( keyboard )
glutMainLoop( )
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)