-
1 مرفق
مكتبة الرسم بإستخدام الحاسوب OpenGL
مرحبا شباب
في شباب كثير سألو عن مكتبة الـ OpenGL و قالو انها ما نزلت و في ناس ما اخذوها من اللاب
المهم انا جبتها و هي موجودة في المرفقات
و هاد اول كود كتبناه بالمختبر للتجربة
كود:
/**********************************
Computer Graphics Lab
01/03/2010
***********************************/
#include <gl\glut.h>
void dispaly()
{
glClearColor(1.0,1.0,1.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);
glViewport(0,0,400,400);
glColor3f(1.0,0,0);
glBegin(GL_LINES);
glVertex2f(-1.0f,-1.0f);
glVertex2f(1.0f,1.0f);
glEnd();
glBegin(GL_LINES);
glVertex2f(-1.0f,1.0f);
glVertex2f(1.0f,-1.0f);
glEnd();
glFlush();
}
void main(int argc,char * argv[])
{
glutInit(&argc,argv);
glutInitWindowPosition(400,100);
glutInitWindowSize(400,400);
glutCreateWindow("Lab 01/03/2010");
glutDisplayFunc(dispaly);
glutMainLoop();
}
http://img408.imageshack.us/img408/263/opengl.jpg
و بالنسبة لطريقة توزيع ملفات مكتبة الـ OpenGL انا بحثت بالنت و لقيت برنامج بوزع الملفات بمكانها الصحيح بغض النظر عن نوع نظام التشغيل او بيئة التطوير مثل فيجيوال ستيديو 6 او 2005 و جار رفعه على سيرفر خارجي لأن حجمه كبير ولا استطيع تحميله في المرفقات و سيتم ادراج موضوع بهذا البرنامج اليوم او غدا بموضوع مستقل
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
يعطيك العافيه عالموضوع و عالمتابعه ..
انا هلأ نزلتها بس لسا ما جربت انه اشغلها ..
اكرر شكري لك ..
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
شو كنت احبها هالمادة ..
اعلى علامة باللابات كلها كانت بالرسم جبت 25\25
يعطيك العافية ..
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
الله يعافيكي
و شكرا لمرورك :)
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
thanx alot
u know aanything bout jump over using opngl
can u help me?
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مروركم اروع و شكرا لتواجدكم
و عبير ان شاء الله هاليومين رح انزل موضوع شرح توزيع ملفات المكتبة بالصور او فيديو ع الأغلب يوم الجمعة
و ان شاء الله بنتساعد عشان نتخطى المادة عند عثمان :SnipeR (7):
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
شكرا ابو الزوز , مع انه مش منزل الماده :44ebcbb04a:
تم تثبيت الموضوع
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
يسلموا عمار على التثبيت
و ان شاء الله بتوخذها عند عثمان و بتستمتع مثلي :04f8b3e14f:
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مختبر الرسم بإستخدام الحاسوب 15/3/2010
primitive
طبعا مثل البرنامج الي كتبه الدكتور بالمختبر بس التعديل اني عملت كل اشي بـ Function مستقل مثل رسم الخط و المحاور Function لحالها و رسم المربع Function لحالها طبعا عملت هيك عشان اخفف العجقة لأنه الرسومات و الأشكال كانت تطلع فوق بعض و هسه عشان تشوف الشكل ما عليك إلا انك تستدعي الfunction من داخل ال display وانا حطيتهم كملاحظات (//) عشان تشوف الشكل امحي الكومينت و نفذ
لاحظ الكود بعدين الأمثلة للفهم اكثر
كود:
/**********************************
Computer Graphics Lab
15/03/2010
Zaed Murad
unijust@unijust.com
***********************************/
#include <gl/glut.h>
#include <math.h>
void drawPoints()
{
float i;
glBegin(GL_POINTS);
glColor3f(0,0,1);
for(i=-25;i<=25;i+=0.1)
{
glVertex2i(i,i*i); // or any function from math.h
}
glEnd();
}
void drawLines()
{
glBegin(GL_LINES);
// X as Green
glColor3f(0,1,0);
glVertex2i(-50,0);
glVertex2i(50,0);
// Y as Red
glColor3f(1,0,0);
glVertex2i(0,-50);
glVertex2i(0,50);
glEnd();
}
void drawLinesStrip()
{
glBegin(GL_LINE_STRIP);
glColor3f(0,0,1);
glVertex2i(-20,20);
glVertex2i(20,20);
glVertex2i(20,-20);
glVertex2i(-20,-20);
glEnd();
}
void drawPolygon()
{
glBegin(GL_POLYGON);
glColor3f(0,0,1);
glVertex2i(-20,20);
glVertex2i(-30,10);
glVertex2i(-10,-10);
glVertex2i(-20,-10);
glVertex2i(10,-20);
glVertex2i(20,-10);
glVertex2i(15,15);
glEnd();
}
void drawLinesLoop()
{
glBegin(GL_LINE_LOOP);
glColor3f(0,0,1);
glVertex2i(-20,20);
glVertex2i(20,20);
glVertex2i(20,-20);
glVertex2i(-20,-20);
glEnd();
}
void drawTriangles()
{
glBegin(GL_TRIANGLES);
glColor3f(0,0,1);
glVertex2i(0,25);
glVertex2i(-25,1);
glVertex2i(25,1);
glColor3f(0,0,1);
glVertex2i(0,-25);
glVertex2i(25,-1);
glVertex2i(-25,-1);
glEnd();
}
void display()
{
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-50,50,-50,50);
// Call any function of primitive here
drawLines();
//drawPoints();
//drawLinesStrip();
//drawLinesLoop();
//drawPolygon();
//drawTriangles();
// this function used without glBegin()
//glRecti(-30,50,10,40);
glFlush();
}
void main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitWindowSize(400,400);
glutInitWindowPosition(200,100);
glutCreateWindow("15/3/2010");
glutDisplayFunc(display);
glutMainLoop();
}
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مع اني مالي دخل في الموضوع
لكن حاب اشكرك وقول الله يوفقك اخي
تحياتي
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
اقتباس:
المشاركة الأصلية كتبت بواسطة modey22522
مع اني مالي دخل في الموضوع
لكن حاب اشكرك وقول الله يوفقك اخي
تحياتي
تسلمي و شكرا لمرورك :)
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
وانا مع انه الي دخل بالموضوع ..
بشكرك كتير كتير كتير وشكرا كتير عالبرامج والله يعطيك العافيه يا رب ..
ويا رب تنزلها A ويعوضك عن تعبك ..
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
اقتباس:
المشاركة الأصلية كتبت بواسطة شذى الياسمين
وانا مع انه الي دخل بالموضوع ..
بشكرك كتير كتير كتير وشكرا كتير عالبرامج والله يعطيك العافيه يا رب ..
ويا رب تنزلها A ويعوضك عن تعبك ..
تسلمي يا رب و الله يسمع منك :)
شكرا لمرورك
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مختبر الرسم بإستخدام الحاسوب 22/03/2010
مبدأ عمل و رسم الـ 3D
كود:
/**********************************
Computer Graphics Lab
15/03/2010
Zaed Murad
unijust@unijust.com
***********************************/
#include <cmath>
#include <gl\glut.h>
int pts[8][3] = { {0,0,0},{1,0,0},{1,0,1},{0,0,1},{0,1,0},{1,1,0},{1,1,1},{0,1,1} };
double r = 4;
double theta = 0.5;
double cx = r * cos(theta);
double cz = r * cos(theta);
double cy = 2;
void quad(int v1,int v2,int v3,int v4)
{
glBegin(GL_QUADS);
glVertex3iv(pts[v1]);
glVertex3iv(pts[v2]);
glVertex3iv(pts[v3]);
glVertex3iv(pts[v4]);
glEnd();
}
void drawCube()
{
glColor3f(1,0,0);
quad(7,3,2,6);
glColor3f(0,1,0);
quad(0,4,5,1);
glColor3f(0,0,1);
quad(7,4,0,3);
glColor3f(1,1,0);
quad(2,3,0,1);
glColor3f(0,1,1);
quad(2,1,5,6);
glColor3f(0,0.5,1);
quad(6,5,4,7);
}
void init()
{
glLoadIdentity();
gluLookAt(cx,cy,cz,0,0,0,0,1,0); // y is the up vector
glMatrixMode(GL_PROJECTION);
glOrtho(-7,7,-7,7,-7,7);
}
void drawAxis()
{
glBegin(GL_LINES);
/******** X ********/
glColor3f(0,1,0);
glVertex3f(0,0,0);
glVertex3f(5,0,0);
/******** Y ********/
glColor3f(1,0,0);
glVertex3f(0,0,0);
glVertex3f(0,5,0);
/******** Z ********/
glColor3f(0,0,1);
glVertex3f(0,0,0);
glVertex3f(0,0,5);
glEnd();
}
void display()
{
glClearColor(1,1,1,0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
drawAxis();
drawCube();
glFlush();
}
void key(unsigned char c,int x,int y)
{
switch(c)
{
case 'z':
case 'Z':
theta -=0.0174444;
if(theta < 0)
theta = 2 * (22/7.0);
break;
case 'x':
case 'X':
theta +=0.0174444;
if(theta > 2*(22/7))
theta = 0;
break;
}
cx = r * cos(theta);
cz = r * sin(theta);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(cx,cy,cz,0,0,0,0,1,0); // y is the up vector
display();
}
void main(int c,char** v)
{
glutInit(&c,v);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("3D Project");
init();
glEnable(GL_DEPTH_TEST);
glutKeyboardFunc(key);
glutDisplayFunc(display);
glutMainLoop();
}
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
إنت مو طبيعي يا زيد .. عنجد يسلمو كتير
أنا آخر مختبر للأسف ما حضرته من كسلي
بس بفضل الله وبفضك كل شي رح يكون تمام
:SnipeR (93):
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
اقتباس:
المشاركة الأصلية كتبت بواسطة جسر الحياة
إنت مو طبيعي يا زيد .. عنجد يسلمو كتير
أنا آخر مختبر للأسف ما حضرته من كسلي
بس بفضل الله وبفضك كل شي رح يكون تمام
:SnipeR (93):
العفو حبيبي عمر
وانا كمان ما حضرت اخر محاضرة نظري :SnipeR (71):
و ان شاء الله بتكون كل امور المادة معك تمام بالنظري و العملي :)
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
شكرا كتير كتير .. ويعطيك العافيه يا رب ..
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
اقتباس:
المشاركة الأصلية كتبت بواسطة شذى الياسمين
شكرا كتير كتير .. ويعطيك العافيه يا رب ..
الله يعافيكي وشكر لمرورك :)
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مختبر الرسم بإستخدام الحاسوب 30/3/2010
برنامج الهرم الرباعي الأوجه ثلاثي الأبعاد
و هذا هو الكود و هو شبيه بكود المكعب الثلاثي الأبعاد إلا انه تم استخدام المثلثات TRIANGLES لرسم اوجه الهرم و المربع QUADS لرسم قاعدة الهرم
كود HTML:
/**********************************
Computer Graphics Lab
30/03/2010
Zaed Murad
unijust@unijust.com
***********************************/
#include <cmath>
#include <gl\glut.h>
int pts[5][3] = { {0,0,0},{4,0,0},{4,0,4},{0,0,4},{2,4,2}};
double r = 3;
double theta = 0.5;
int a = 2;
int b = 2;
double cx = a + r * cos(theta);
double cz = b + r * sin(theta);
double cy = 3.0;
void triangle(int v1,int v2,int v3)
{
glBegin(GL_TRIANGLES);
glVertex3iv(pts[v1]);
glVertex3iv(pts[v2]);
glVertex3iv(pts[v3]);
glEnd();
}
void quad(int v1,int v2,int v3,int v4)
{
glBegin(GL_QUADS);
glVertex3iv(pts[v1]);
glVertex3iv(pts[v2]);
glVertex3iv(pts[v3]);
glVertex3iv(pts[v4]);
glEnd();
}
void drawCube()
{
glColor3f(1,1,1);
quad(0,1,2,3);
}
void drawTriangle()
{
glColor3f(0,0,1);
triangle(0,1,4);
glColor3f(0,1,1);
triangle(3,2,4);
glColor3f(1,0,1);
triangle(2,1,4);
glColor3f(0,1,0);
triangle(0,3,4);
}
void init()
{
glLoadIdentity();
gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector
glMatrixMode(GL_PROJECTION);
glOrtho(-7,7,-7,7,-7,7);
}
void drawAxis()
{
glBegin(GL_LINES);
/******** X ********/
glColor3f(0,1,0);
glVertex3f(0,0,0);
glVertex3f(5,0,0);
/******** Y ********/
glColor3f(1,0,0);
glVertex3f(0,0,0);
glVertex3f(0,5,0);
/******** Z ********/
glColor3f(0,0,1);
glVertex3f(0,0,0);
glVertex3f(0,0,5);
glEnd();
}
void display()
{
glClearColor(0.5,0.5,0.5,0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
drawAxis();
drawCube();
drawTriangle();
glFlush();
}
void key(unsigned char c,int x,int y)
{
switch(c)
{
case 'y':
case 'Y':
theta -=0.0174444;
if(theta < 0)
theta = 2 * (22/7.0);
break;
case 'x':
case 'X':
theta +=0.0174444;
if(theta > 2*(22/7))
theta = 0;
break;
}
cx = a + r * cos(theta);
cz = b + r * sin(theta);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(cx,cy,cz,2,0,2,0,1,0); // y is the up vector
display();
}
void main(int c,char** v)
{
glutInit(&c,v);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("3D Project");
init();
glEnable(GL_DEPTH_TEST);
glutKeyboardFunc(key);
glutDisplayFunc(display);
glutMainLoop();
}
بعض الصور بعد تنفيذ الكود
http://img265.imageshack.us/img265/7540/47756456.jpg
الهرم يتحرك نحو اليمين عند الضغط على X
http://img192.imageshack.us/img192/7444/41286590.jpg
الهرم يتحرك نحو اليسار عند الضغط على Y
http://img526.imageshack.us/img526/311/41808252.jpg
و اي استفسار انا بالخدمة :)
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
مختبر الرسم بإستخدام الحاسوب 5/4/2010
bitmap
كود:
#include <gl\glut.h>
GLubyte bitShape[20]={
0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,0x1c,0x00,
0xff,0x80,0x7f,0x00,0x3e,0x00,0x1c,0x00,0x08,0x00
};
char x[]="ZAEDO";
void init()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0,400,0,400); // to invert the cordinate
}
void bitm(int x,int y)
{
glColor3f(0,1,0); // shape color
glRasterPos2i(x,y); // the position of shape
glBitmap(10,9,0,0,0,0,bitShape); // drawing shape from array
// glBitmap(rows,cols,xOrigen,xOrigen,xOffset,yOffset,array);
// glBitmap(10,9,10,9,0,0,bitShape);
// glBitmap(10,9,9,10,0,0,bitShape);
// glBitmap(10,9,5,5,0,0,bitShape);
}
void display()
{
glClearColor(0,0,0,0);
/* for 2D */ /* for 3D */
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPixelStorei(GL_UNPACK_ALIGNMENT,1);
/*
for(int i=10;i<=350;i+=10)
bitm(i,10);
*/
bitm(10,10);
glColor3f(1,1,1);
glPointSize(5);
glBegin(GL_POINTS);
glVertex2i(50,50);
glEnd();
// to print an char in openGL
glRasterPos2i(100,300);
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'A');
for(int i=0;i<5;i++)
{
glRasterPos2i(i*13+10,300);
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,x[i]);
}
glFlush();
}
void main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitWindowPosition(100,100);
glutInitWindowSize(400,400);
glutCreateWindow("Bitmap Project");
glEnable(GL_DEPTH_TEST);
init();
glutDisplayFunc(display);
glutMainLoop();
}
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
شكــــــــــــــــــــــــــــــــــــــــــــــرا كتـــــــــــــــــــــــــــــــــــــــيــــــــ ـر ..
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
الموضوع ممتاز والله يعطيكوا ألف عافية
فراشة الربيع:bl (11):
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
:bl (7): thnxxxx :bl (7):
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
[align=center]ههههههه
انا واللهِ لسى مو منزله الماده عالفصل الجاي انشاءالله.
بس الكل بيحكي عنها موووت على كتر ماهيه صعبه الله يستر منها انشاءالله خير
اخي ****** دائما مبدعا والكلمات تعجز عن الوصف
يعطيك 1000 عافيه [/align]
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
[align=center]نسيت اسأل سؤال
هلا هادي الماده انا بقدر اعمل من خلااالها لعبة XO الغنيه عن التعريف
لو فيه طرق حد يزودنا بالكودات لالها مع العلم انا لااا أفقه منها شيء لكن بنتعلم عالبكير.
البنت ناازله دراسه بلبرمجه من متى مابعرف :bl (7): لهيك حد يجيبلنا كود اللعبه خلنا نتعرف اكتر عالبرمجيه[/align]
-
رد: مكتبة الرسم بإستخدام الحاسوب OpenGL
شكرا كتير يا جاجا لمحاولتك لحتى تساعديني
الله يستر زالله شكلها مسكره معي
ادعيلي القى حل سريع :kiss_34: