الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في شرح كود

بدأه مبرمجة صاعدة في 7 مايو 2012 · 1 رد · 879 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بلييز أبغى أحد يشرحلي هذا الكود بالتفصيل بسرعة

#include <windows.h>

#include<GL/glut.h>

static float fRotAngle = 0.0;

void Keyboard( unsigned char uKey, int x, int y )

{

//åäÇ ÇÐÇ ÖÛØ ESC ÊÊÓßÑ ÇáäÇÝÐå //

switch ( uKey )

{

case VK_ESCAPE:

exit( 0 );

break;

}

}

void Resize( int iWidth, int iHeight )

{

//åäÇ ááäÇÝÐå ÊÕÛíÑ æÊßÈíÑ //

//Set the viewport dimensions:

glViewport( 0, 0, (GLsizei)iWidth, (GLsizei)iHeight );

// Switch to the projection matrix:

glMatrixMode( GL_PROJECTION );

glLoadIdentity();

// Define the projection transformation matrix. Notice that this is using

// glFrustum instead of gluPerspective:

glFrustum( -1.0f, 1.0f, -1.0f, 1.0f, 1.5f, 20.0f );

// Switch back to the modelview matrix:

glMatrixMode( GL_MODELVIEW );

}

void DrawTriangle (void)

//åäÇ ÍØæÇ Ãí Ôßá ÊÈæäå í쾄 ,, ÈÇáÓÄÇá ÃÎÊÑäÇ ãËáË //

{

glBegin(GL_TRIANGLES);

glColor3f(1, 0, 0);

glVertex3f(-1.0f, -0.5f, 0.0f);

glColor3f(1, 0, 0);

glVertex3f( 1.0f, -0.5f, 0.0f);

glColor3f(1, 0, 0);

glVertex3f( 0.0f, 0.5f, 0.0f);

glEnd();

}

void draw()

{

glClear( GL_COLOR_BUFFER_BIT );

glLoadIdentity();

glTranslatef( 0.0f, 0.0f, -5.0f );

//åäÇ Çááí ÈÇáÇÍãÑ íÚäí ÇáÔßá íÏæÑ Íæá z

//ØÈÚÇ ÇáÈÑÇãíÊÑ ÇáÇæá íÞÕÏ ÇáÔßá í쾄 Úáì x æÇáËÇäí ÏíæÑ Úáì y æÇáËÇáË ãËá ãÇÓæíäÇ æäÔØäÇåÇ ÈÞíãÉ 1 Úáì z

glRotatef( fRotAngle, 0.0f, 0.0f, 1.0f );

fRotAngle += 0.5f;

if (fRotAngle==360.0)fRotAngle=0.0;

DrawTriangle ();

glutSwapBuffers();

}

void Timer( int iValue )

{

glutPostRedisplay();

glutTimerFunc( 1, Timer, iValue );

//íÞÕÏ ßá 1 ËÇäíå í쾄 ÇáÔßá

}

int main( int argc, char **argv )

{

glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );

glutInitWindowPosition( 0, 0 );

glutInitWindowSize( 256, 256 );

glutInit( &argc, argv );

glutCreateWindow( "animation program" );

glutKeyboardFunc( Keyboard );

glutReshapeFunc( Resize );

glutDisplayFunc( draw );

glutTimerFunc( 1, Timer, 1 );

glutMainLoop();

return 0;

}

مواضيع مشابهة