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

الرسم بالحاسب بلغة الس بلس بلس

بدأه Like Princess في 3 نوفمبر 2012 · 4 رد · 1,617 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لوسمحتوا انا أدرس الرسم بالحاسب بلغة السي بلس بلس عندي مشكله ارسم الرسمه صحيحه لكن تصير بالمقلوب المكتبه المستخدمه OPEN GL فإذا احد عنده خبره يعلمني أو أسم كتب قيمه يخبرني

هو مره شيقه وممنع لكن هذه مشكلتي وشكرا :)

#2

ارفق الكود لنرى اين المشكلة

#3
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

#4

في 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

1
#5
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

ول ماذا تكتب نقاط الروؤس فقط

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