Voila je vais poster la premiere partie du Moteur et j´aimerais votre avis :
- include < windows.h>
- include < gl/gl.h>
- include < gl/glu.h>
WNDCLASS wc;
HWND hWnd;
HDC DC;
HGLRC RC;
void RePaint ( )
{
glClear ( GL_COLOR_BUFFER_BIT);
glMatrixMode ( GL_MODELVIEW);
glLoadIdentity ( );
/ * Ici sera placé tout le code relatif à l´affichage */
SwapBuffers ( DC);
}
void InitPixelFormat ( HDC hDC)
{
PIXELFORMATDESCRIPTOR pfd =
{
sizeof ( PIXELFORMATDESCRIPTOR),
1,
PFD_SUPPORT_OPENGL | PFD_TYPE_RGBA | PFD_DRAW_TO_WINDOW | PFD_DOUBLEBUFFER,
16,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
16,
0, 0, 0, 0, 0, 0, 0
};
SetPixelFormat ( hDC, ChoosePixelFormat ( hDC, &), &);
}
LRESULT CALLBACK WindowProc ( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch ( uMsg)
{
case WM_CREATE:
DC=GetDC ( hwnd);
InitPixelFormat ( DC);
RC = wglCreateContext ( DC);
wglMakeCurrent ( DC, RC);
break;
case WM_CLOSE:
wglMakeCurrent ( NULL, NULL);
wglDeleteContext ( RC);
ReleaseDC ( hwnd,DC);
PostQuitMessage ( 0);
break;
case WM_SIZE:
glViewport ( 0,0,LOWORD ( lParam),HIWORD ( lParam));
glMatrixMode ( GL_PROJECTION);
glLoadIdentity ( );
gluPerspective ( 45,(float)(LOWORD(lParam))/(float)(HIWORD ( lParam)),1,100);
break;
case WM_PAINT:
RePaint ( );
break;
default:
return DefWindowProc ( hwnd,uMsg,wParam,lParam);
break;
}
return 0;
}
int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow)
{
MSG msg;
wc.style = CS_OWNDC;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = ( HBRUSH)GetStockObject(LTGRAY_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = " 01;
RegisterClass(&);
hWnd = CreateWindow("01, " " Version 0.1";
WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
0, 0, 640, 480, NULL, NULL, hInstance, NULL ) ;
while ( GetMessage ( &, NULL, 0, 0)) {
TranslateMessage ( &);
DispatchMessage ( &);
}
return 0;
}