begin process at 2010 02 10 01:59:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > :-)ANIMATION_TRIANGLE_2D[DEV C++]

:-)ANIMATION_TRIANGLE_2D[DEV C++]


 Information sur la source

Note :
Aucune note
Catégorie :OpenGL Niveau :Initié Date de création :24/11/2001 Date de mise à jour :02/01/2003 22:37:49 Vu / téléchargé :4 383 / 172

Auteur : mastave

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

C'est une application où vous pouvez animer un triangle.
Utilisez les touches F1 à F9 pour modifier les couleurs du triangles.
Utilisez les touches Pause, Verr Num et la touche qui contient une flèche en diagonale pour changer la couleur du fond.
Utilisez les touches directionelles pour déplacer le triangle.
Utilisez les touches Maj et Ctrl pour faire tourner le triangle.
Utilisez la barre d'espace pour "détacher" le triangle.
Utilisez les touches F11, F12, et Suppr pour annuler les couleurs du triangle.
Utilisez la touche Fin pour annuler la couleur du fond.
Dev C++  

Source

  • #include <windows.h>
  • #include <gl/gl.h>
  • // Function Declarations
  • LRESULT CALLBACK
  • WndProc( HWND hWnd, UINT message,
  • WPARAM wParam, LPARAM lParam );
  • VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC );
  • VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC );
  • float vitesse;
  • float couleur1, couleur2, couleur3;
  • float couleur4, couleur5, couleur6;
  • float couleur7, couleur8, couleur9;
  • float positionX1 = 0.0f;
  • float positionX2 = 0.87f;
  • float positionX3 = -0.87f;
  • float positionY1 = 1.0f;
  • float positionY2 = -0.5f;
  • float positionY3 = -0.5f;
  • float objectX1, objectX2, objectX3, objectY1, objectY2, objectY3;
  • float fond1, fond2, fond3;
  • int condition = 0;
  • // WinMain
  • int WINAPI
  • WinMain( HINSTANCE hInstance,
  • HINSTANCE hPrevInstance,
  • LPSTR lpCmdLine,
  • int iCmdShow )
  • {
  • WNDCLASS wc;
  • HWND hWnd;
  • HDC hDC;
  • HGLRC hRC;
  • MSG msg;
  • BOOL bQuit = FALSE;
  • float theta = 0.0f;
  • // register window class
  • wc.style = CS_OWNDC;
  • wc.lpfnWndProc = WndProc;
  • 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( BLACK_BRUSH );
  • wc.lpszMenuName = NULL;
  • wc.lpszClassName = "GLSample";
  • RegisterClass( &wc );
  • // create main window
  • hWnd = CreateWindow(
  • "GLSample", "OpenGL Sample",
  • WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
  • 0, 0, 500, 500,
  • NULL, NULL, hInstance, NULL );
  • // enable OpenGL for the window
  • EnableOpenGL( hWnd, &hDC, &hRC );
  • // program main loop
  • while ( !bQuit ) {
  • // check for messages
  • if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) {
  • // handle or dispatch messages
  • if ( msg.message == WM_QUIT ) {
  • bQuit = TRUE;
  • } else {
  • TranslateMessage( &msg );
  • DispatchMessage( &msg );
  • }
  • } else {
  • // OpenGL animation code goes here
  • glClearColor( fond1, fond2, fond3, 0.0f );
  • glClear( GL_COLOR_BUFFER_BIT );
  • glPushMatrix();
  • glRotatef( theta, 0.0f, 0.0f, 1.0f );
  • glBegin( GL_TRIANGLES );
  • glColor3f( couleur1, couleur2, couleur3 ); glVertex2f( positionX1, positionY1);
  • glColor3f( couleur4, couleur5, couleur6 ); glVertex2f( positionX2, positionY2);
  • glColor3f( couleur7, couleur8, couleur9 ); glVertex2f( positionX3, positionY3);
  • glEnd();
  • if (condition == 1)
  • {
  • objectY1 = objectY1 + 0.015f;
  • objectY2 = objectY2 + 0.015f;
  • objectY3 = objectY3 + 0.015f;
  • glBegin( GL_TRIANGLES );
  • glColor3f( couleur1, couleur2, couleur3 ); glVertex2f( objectX1, objectY1);
  • glColor3f( couleur4, couleur5, couleur6 ); glVertex2f( objectX2, objectY2);
  • glColor3f( couleur7, couleur8, couleur9 ); glVertex2f( objectX3, objectY3);
  • glEnd();
  • }
  • glPopMatrix();
  • SwapBuffers( hDC );
  • theta += vitesse;
  • }
  • }
  • // shutdown OpenGL
  • DisableOpenGL( hWnd, hDC, hRC );
  • // destroy the window explicitly
  • DestroyWindow( hWnd );
  • return msg.wParam;
  • }
  • // Window Procedure
  • LRESULT CALLBACK
  • WndProc( HWND hWnd, UINT message,
  • WPARAM wParam, LPARAM lParam )
  • {
  • switch ( message ) {
  • case WM_CREATE:
  • return 0;
  • case WM_CLOSE:
  • PostQuitMessage( 0 );
  • return 0;
  • case WM_DESTROY:
  • return 0;
  • case WM_KEYDOWN:
  • switch ( wParam ) {
  • case VK_ESCAPE:
  • PostQuitMessage( 0 );
  • return 0;
  • case VK_CONTROL:
  • vitesse = vitesse + 0.5f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_SHIFT:
  • vitesse = vitesse - 0.5f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F1: //F1
  • if (couleur1 <= 1.0f)
  • {
  • if (couleur1 >= 0.0f)
  • {
  • couleur1 = couleur1 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F2: //F2
  • if (couleur2 <= 1.0f)
  • {
  • if (couleur2 >= 0.0f)
  • {
  • couleur2 = couleur2 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F3: //F3
  • if (couleur3 <= 1.0f)
  • {
  • if (couleur3 >= 0.0f)
  • {
  • couleur3 = couleur3 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F4: //F4
  • if (couleur4 <= 1.0f)
  • {
  • if (couleur4 >= 0.0f)
  • {
  • couleur4 = couleur4 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F5: //F5
  • if (couleur5 <= 1.0f)
  • {
  • if (couleur5 >= 0.0f)
  • {
  • couleur5 = couleur5 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F6: //F6
  • if (couleur6 <= 1.0f)
  • {
  • if (couleur6 >= 0.0f)
  • {
  • couleur6 = couleur6 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F7: //F7
  • if (couleur7 <= 1.0f)
  • {
  • if (couleur7 >= 0.0f)
  • {
  • couleur7 = couleur7 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F8: //F8
  • if (couleur8 <= 1.0f)
  • {
  • if (couleur8 >= 0.0f)
  • {
  • couleur8 = couleur8 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F9: //F9
  • if (couleur9 <= 1.0f)
  • {
  • if (couleur9 >= 0.0f)
  • {
  • couleur9 = couleur9 + 0.5f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F11: //F10
  • couleur1 = 0.0f;
  • couleur2 = 0.0f;
  • couleur3 = 0.0f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_F12: //F11
  • couleur4 = 0.0f;
  • couleur5 = 0.0f;
  • couleur6 = 0.0f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_DELETE: //F12
  • couleur7 = 0.0f;
  • couleur8 = 0.0f;
  • couleur9 = 0.0f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_DOWN:
  • positionY1 = positionY1 - 0.01f;
  • positionY2 = positionY2 - 0.01f;
  • positionY3 = positionY3 - 0.01f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_UP:
  • positionY1 = positionY1 + 0.01f;
  • positionY2 = positionY2 + 0.01f;
  • positionY3 = positionY3 + 0.01f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_LEFT:
  • positionX1 = positionX1 - 0.01f;
  • positionX2 = positionX2 - 0.01f;
  • positionX3 = positionX3 - 0.01f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_RIGHT:
  • positionX1 = positionX1 + 0.01f;
  • positionX2 = positionX2 + 0.01f;
  • positionX3 = positionX3 + 0.01f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_SPACE:
  • objectX1 = positionX1;
  • objectX2 = positionX2;
  • objectX3 = positionX3;
  • objectY1 = positionY1;
  • objectY2 = positionY2;
  • objectY3 = positionY3;
  • condition = 1;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_HOME:
  • if (fond1 <= 1.0f)
  • {
  • if (fond1 >= 0.0f)
  • {
  • fond1 = fond1 + 0.1f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_PAUSE:
  • if (fond2 <= 1.0f)
  • {
  • if (fond2 >= 0.0f)
  • {
  • fond2 = fond2 + 0.1f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_NUMLOCK:
  • if (fond3 <= 1.0f)
  • {
  • if (fond3 >= 0.0f)
  • {
  • fond3 = fond3 + 0.1f;
  • }
  • }
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • case VK_END:
  • fond1 = 0.0f;
  • fond2 = 0.0f;
  • fond3 = 0.0f;
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • break;
  • }
  • return 0;
  • default:
  • return DefWindowProc( hWnd,
  • message, wParam, lParam );
  • }
  • }
  • // Enable OpenGL
  • VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC )
  • {
  • PIXELFORMATDESCRIPTOR pfd;
  • int iFormat;
  • // get the device context (DC)
  • *hDC = GetDC( hWnd );
  • // set the pixel format for the DC
  • ZeroMemory( &pfd, sizeof( pfd ) );
  • pfd.nSize = sizeof( pfd );
  • pfd.nVersion = 1;
  • pfd.dwFlags = PFD_DRAW_TO_WINDOW |
  • PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
  • pfd.iPixelType = PFD_TYPE_RGBA;
  • pfd.cColorBits = 24;
  • pfd.cDepthBits = 16;
  • pfd.iLayerType = PFD_MAIN_PLANE;
  • iFormat = ChoosePixelFormat( *hDC, &pfd );
  • SetPixelFormat( *hDC, iFormat, &pfd );
  • // create and enable the render context (RC)
  • *hRC = wglCreateContext( *hDC );
  • wglMakeCurrent( *hDC, *hRC );
  • }
  • // Disable OpenGL
  • VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC )
  • {
  • wglMakeCurrent( NULL, NULL );
  • wglDeleteContext( hRC );
  • ReleaseDC( hWnd, hDC );
  • }
#include <windows.h>
#include <gl/gl.h>

// Function Declarations

LRESULT CALLBACK 
WndProc( HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam );
VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC );
VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC );
float vitesse;
float couleur1, couleur2, couleur3;
float couleur4, couleur5, couleur6;
float couleur7, couleur8, couleur9;
float positionX1 = 0.0f;
float positionX2 = 0.87f;
float positionX3 = -0.87f;
float positionY1 = 1.0f;
float positionY2 = -0.5f;
float positionY3 = -0.5f;
float objectX1, objectX2, objectX3, objectY1, objectY2, objectY3;
float fond1, fond2, fond3;
int condition = 0;
// WinMain

int WINAPI 
WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int iCmdShow )
{
WNDCLASS wc;
HWND hWnd;
HDC hDC;
HGLRC hRC;
MSG msg;
BOOL bQuit = FALSE;
float theta = 0.0f;

// register window class
wc.style = CS_OWNDC;
wc.lpfnWndProc = WndProc;
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( BLACK_BRUSH );
wc.lpszMenuName = NULL;
wc.lpszClassName = "GLSample";
RegisterClass( &wc );

// create main window
hWnd = CreateWindow( 
"GLSample", "OpenGL Sample", 
WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
0, 0, 500, 500,
NULL, NULL, hInstance, NULL );

// enable OpenGL for the window
EnableOpenGL( hWnd, &hDC, &hRC );

// program main loop
while ( !bQuit ) {

// check for messages
if ( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) ) {

// handle or dispatch messages
if ( msg.message == WM_QUIT ) {
bQuit = TRUE;
} else {
TranslateMessage( &msg );
DispatchMessage( &msg );
}

} else {

// OpenGL animation code goes here

glClearColor( fond1, fond2, fond3, 0.0f );
glClear( GL_COLOR_BUFFER_BIT );

glPushMatrix();
glRotatef( theta, 0.0f, 0.0f, 1.0f );
glBegin( GL_TRIANGLES );
glColor3f( couleur1, couleur2, couleur3 ); glVertex2f( positionX1, positionY1);
glColor3f( couleur4, couleur5, couleur6 ); glVertex2f( positionX2, positionY2);
glColor3f( couleur7, couleur8, couleur9 ); glVertex2f( positionX3, positionY3);
glEnd();
if (condition == 1)
{
objectY1 = objectY1 + 0.015f;
objectY2 = objectY2 + 0.015f;
objectY3 = objectY3 + 0.015f;

glBegin( GL_TRIANGLES );
glColor3f( couleur1, couleur2, couleur3 ); glVertex2f( objectX1, objectY1);
glColor3f( couleur4, couleur5, couleur6 ); glVertex2f( objectX2, objectY2);
glColor3f( couleur7, couleur8, couleur9 ); glVertex2f( objectX3, objectY3);
glEnd();
}
glPopMatrix();

SwapBuffers( hDC );

theta += vitesse;

}

}

// shutdown OpenGL
DisableOpenGL( hWnd, hDC, hRC );

// destroy the window explicitly
DestroyWindow( hWnd );

return msg.wParam;

}

// Window Procedure

LRESULT CALLBACK 
WndProc( HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam )
{

switch ( message ) {

case WM_CREATE:
return 0;

case WM_CLOSE:
PostQuitMessage( 0 );
return 0;

case WM_DESTROY:
return 0;

case WM_KEYDOWN:
switch ( wParam ) {

case VK_ESCAPE:
PostQuitMessage( 0 );
return 0;

case VK_CONTROL:
vitesse = vitesse + 0.5f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_SHIFT:
vitesse = vitesse - 0.5f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F1:                        //F1
if (couleur1 <= 1.0f)
{
if (couleur1 >= 0.0f)
{
couleur1 = couleur1 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F2:                         //F2
if (couleur2 <= 1.0f)
{
if (couleur2 >= 0.0f)
{
couleur2 = couleur2 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F3:                          //F3
if (couleur3 <= 1.0f)
{
if (couleur3 >= 0.0f)
{
couleur3 = couleur3 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F4:                         //F4
if (couleur4 <= 1.0f)
{
if (couleur4 >= 0.0f)
{
couleur4 = couleur4 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F5:                         //F5
if (couleur5 <= 1.0f)
{
if (couleur5 >= 0.0f)
{
couleur5 = couleur5 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F6:                         //F6
if (couleur6 <= 1.0f)
{
if (couleur6 >= 0.0f)
{
couleur6 = couleur6 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F7:                          //F7
if (couleur7 <= 1.0f)
{
if (couleur7 >= 0.0f)
{
couleur7 = couleur7 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F8:                         //F8
if (couleur8 <= 1.0f)
{
if (couleur8 >= 0.0f)
{
couleur8 = couleur8 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F9:                         //F9
if (couleur9 <= 1.0f)
{
if (couleur9 >= 0.0f)
{
couleur9 = couleur9 + 0.5f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F11:                       //F10
couleur1 = 0.0f;
couleur2 = 0.0f;
couleur3 = 0.0f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_F12:                       //F11
couleur4 = 0.0f;
couleur5 = 0.0f;
couleur6 = 0.0f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_DELETE:                       //F12
couleur7 = 0.0f;
couleur8 = 0.0f;
couleur9 = 0.0f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_DOWN:
positionY1 = positionY1 - 0.01f;
positionY2 = positionY2 - 0.01f;
positionY3 = positionY3 - 0.01f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_UP:
positionY1 = positionY1 + 0.01f;
positionY2 = positionY2 + 0.01f;
positionY3 = positionY3 + 0.01f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_LEFT:
positionX1 = positionX1 - 0.01f;
positionX2 = positionX2 - 0.01f;
positionX3 = positionX3 - 0.01f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_RIGHT:
positionX1 = positionX1 + 0.01f;
positionX2 = positionX2 + 0.01f;
positionX3 = positionX3 + 0.01f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_SPACE:
objectX1 = positionX1;
objectX2 = positionX2;
objectX3 = positionX3;
objectY1 = positionY1;
objectY2 = positionY2;
objectY3 = positionY3;
condition = 1;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_HOME:
if (fond1 <= 1.0f)
{
if (fond1 >= 0.0f)
{
fond1 = fond1 + 0.1f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_PAUSE:
if (fond2 <= 1.0f)
{
if (fond2 >= 0.0f)
{
fond2 = fond2 + 0.1f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_NUMLOCK:
if (fond3 <= 1.0f)
{
if (fond3 >= 0.0f)
{
fond3 = fond3 + 0.1f;
}
}
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

case VK_END:
fond1 = 0.0f;
fond2 = 0.0f;
fond3 = 0.0f;
return DefWindowProc( hWnd, 
message, wParam, lParam );
break;

}
return 0;

default:
return DefWindowProc( hWnd, 
message, wParam, lParam );

}

}

// Enable OpenGL

VOID EnableOpenGL( HWND hWnd, HDC * hDC, HGLRC * hRC )
{
PIXELFORMATDESCRIPTOR pfd;
int iFormat;

// get the device context (DC)
*hDC = GetDC( hWnd );

// set the pixel format for the DC
ZeroMemory( &pfd, sizeof( pfd ) );
pfd.nSize = sizeof( pfd );
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | 
PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
pfd.iPixelType = PFD_TYPE_RGBA;
pfd.cColorBits = 24;
pfd.cDepthBits = 16;
pfd.iLayerType = PFD_MAIN_PLANE;
iFormat = ChoosePixelFormat( *hDC, &pfd );
SetPixelFormat( *hDC, iFormat, &pfd );

// create and enable the render context (RC)
*hRC = wglCreateContext( *hDC );
wglMakeCurrent( *hDC, *hRC );

}

// Disable OpenGL

VOID DisableOpenGL( HWND hWnd, HDC hDC, HGLRC hRC )
{
wglMakeCurrent( NULL, NULL );
wglDeleteContext( hRC );
ReleaseDC( hWnd, hDC );
}     

 Conclusion

C'est surtout le code source qui est intéressant.
Fonctionne avec Dev C++  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Triangle-animation
    • Main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier8 226 octets
    • OpenGL.exeTélécharger ce fichier [Réservé aux membres club]9 728 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture .::MATRIX::. [DEV C++]
Source avec Zip ANIMATION D'UN CERCLE AVEC TOUCHES + FILM[2D][DEVC++4][GLUT]
FONCTION MENU AVEC FLÈCHES EN MODE TEXTE[DEV C++]
Source avec Zip POLYGONES DIVERSES SANS GLUT[DEV C++...]
(-:FONCTION TABLEAU EN MODE TEXTE![DEV C++]

 Sources de la même categorie

Source avec Zip JEU DE DAMES 3D par vbclaude
Source avec Zip CHARGEMENT DES TEXTURES EN OPENGL par Jackyzgood
Source avec Zip Source avec une capture OPENGL - UN PEU DE NEIGE... par underprog
Source avec Zip Source avec une capture JEU DE LA VIE 3D OPENGL AVEC GESTION SOURIS par fratleym
Source avec Zip Source avec une capture SPEAD RACER par jngl

Commentaires et avis

Commentaire de cmarsc le 03/01/2003 07:39:54

salut,
si par exemple couleur4 est un float pourquoi écrire 0.5f ?
couleur4 = couleur4 + 0.5f; on peut le remplacer par couleur4 += 0.5;

Commentaire de mastave le 18/01/2003 13:23:42

ouais, c'est exact, mais c'est parce que c'est le ganre de programme que je fais un peu à la "va-vite"...
;-)

Commentaire de D1m3x le 15/03/2003 10:58:48

moi, j'i compiler ton prog avec tt les compilateur ke javai et ca le mettai tjs, glVertex, glColor,... pas connu, alors je ne sais pas ce que tu as fait pour que ca marche chez toi avec Dev C++

Commentaire de cmarsc le 15/03/2003 17:37:21

cliquer sur File
choisir new project...
selectionner l'onglet Graphics
puis choisir OpenGL
OK
enregistrer le project ... compiler

Commentaire de Msgbox le 09/11/2003 12:49:30

Qd tu deplaces le triangle t'effaces l'ecran a cahque fois.
Je connais pas OpenGL mais je trouve que c un px du gachis.
C pas posible de considerer le triangle comme un objet ou classe et faire DestroyObject(hTriagle); ou un truc du genre ?

Sionon, bonne source, elle m'a bcp aide. Merci !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales