|
|

楼主 |
发表于 2007-8-29 22:10:00
|
显示全部楼层
Re:[求助]最简单的OpenGL程序, 重画后图形消失
下面部分代码:
显示:
void glDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
gluLookAt(0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex3f(1.0, -1.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glVertex3f(-1.0, -1.0, 0.0);
glEnd();
glFlush();
return;
}
缩放:
void glReshape(WORD w, WORD h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60, GLfloat(w)/(GLfloat)h, 0.1, 2.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
return;
}
消息循环:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
消息处理:
case WM_SIZE:
glReshape(LOWORD(lParam), HIWORD(lParam));
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
glDisplay();
EndPaint(hWnd, &ps);
break; |
|