السلام عليكم
لوسمحتوا انا أدرس الرسم بالحاسب بلغة السي بلس بلس عندي مشكله ارسم الرسمه صحيحه لكن تصير بالمقلوب المكتبه المستخدمه OPEN GL فإذا احد عنده خبره يعلمني أو أسم كتب قيمه يخبرني
هو مره شيقه وممنع لكن هذه مشكلتي وشكرا :)
السلام عليكم
لوسمحتوا انا أدرس الرسم بالحاسب بلغة السي بلس بلس عندي مشكله ارسم الرسمه صحيحه لكن تصير بالمقلوب المكتبه المستخدمه OPEN GL فإذا احد عنده خبره يعلمني أو أسم كتب قيمه يخبرني
هو مره شيقه وممنع لكن هذه مشكلتي وشكرا :)
ارفق الكود لنرى اين المشكلة
fouad2008 كتب:ارفق الكود لنرى اين المشكلة
<include<windows.h#
#include<GL/gl.h>
#include<GL/glu.h>
#include"Gl/glaux.h"
#pragma comment(lib,"openGL32.lib")
#pragma comment(lib,"glu32.lib")
#pragma comment(lib,"glaux")
void CALLBACK display()
{
glBegin(GL_LINES);
glColor3f(1.0,1.0,1.0);
glVertex2i(20,220);
glVertex2i(140,220);
glVertex2i(140,220);
glVertex2i(210,140);
glVertex2i(210,140);
glVertex2i(140,60);
glVertex2i(140,60);
glVertex2i(20,40);
glVertex2i(20,40);
glVertex2i(20,220);
glEnd();
glFlush();
}
void main()
{
auxInitDisplayMode(AUX_RGB);
auxInitPosition(0,0,600,600);
auxInitWindow("mimi");
auxMainLoop(display);
}
تم تعديل هذه المشاركة بواسطة Like Princess في 4 نوفمبر 2012 في 21:30
في opengl الزاوية السفلى اليسرى هي 0,0 في البعد الثنائي
لذلك ارسم على هذا الاساس , كذلك لرسم polygon متصل استعمل GL_LINE_LOOP
على اي حال هذا هو الكود الصحيح
#include<windows.h>
#include<GL/gl.h>
#include<GL/glu.h>
#include"Gl/glaux.h"
#pragma comment(lib,"openGL32.lib")
#pragma comment(lib,"glu32.lib")
#pragma comment(lib,"glaux")
#define width 600
#define height 600
void CALLBACK display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(0.0F,0.0F,0.0F,0.0F) ;
glColor3f(1.0F,1.0F,1.0F) ;
glBegin(GL_LINE_LOOP) ;
glVertex2i(50,100) ;
glVertex2i(550,100) ;
glVertex2i(550,300) ;
glVertex2i(300,550) ;
glVertex2i(50,300) ;
glEnd() ;
glFlush() ;
}
void main(void)
{
auxInitDisplayMode(AUX_RGBA);
auxInitPosition(0,0,width,height);
auxInitWindow(L"test glaux");
auxMainLoop(display);
}تم تعديل هذه المشاركة بواسطة fouad2008 في 4 نوفمبر 2012 في 22:57
fouad2008 كتب:في opengl الزاوية السفلى اليسرى هي 0,0 في البعد الثنائي
لذلك ارسم على هذا الاساس , كذلك لرسم polygon متصل استعمل GL_LINE_LOOP
على اي حال هذا هو الكود الصحيح
#include<windows.h> #include<GL/gl.h> #include<GL/glu.h> #include"Gl/glaux.h" #pragma comment(lib,"openGL32.lib") #pragma comment(lib,"glu32.lib") #pragma comment(lib,"glaux") #define width 600 #define height 600 void CALLBACK display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.0F,0.0F,0.0F,0.0F) ; glColor3f(1.0F,1.0F,1.0F) ; glBegin(GL_LINE_LOOP) ; glVertex2i(50,100) ; glVertex2i(550,100) ; glVertex2i(550,300) ; glVertex2i(300,550) ; glVertex2i(50,300) ; glEnd() ; glFlush() ; } void main(void) { auxInitDisplayMode(AUX_RGBA); auxInitPosition(0,0,width,height); auxInitWindow(L"test glaux"); auxMainLoop(display); }
الله يجزاك خير وجعله الله في موازين حسناتك
ماذا تعني f
ول ماذا تكتب نقاط الروؤس فقط