PDA

View Full Version : مشکل در opengl



amirreza_.net
یک شنبه 25 خرداد 1393, 18:12 عصر
سلام دوستان
من تازه کار با qt رو شروع کردم
من با opengl در Qt مشکل دارم میشه راهنمایی کنین؟
هر چی خواستم یک مثلث ساده رسم کنم نشد !
همش یه پنجره ی سیاه باز میشد !
میشه یکم راهنمایی کنین ؟

mohammad#reza
یک شنبه 25 خرداد 1393, 19:54 عصر
من گرافیک تو کیوت کار نکردم ولی چیزایی که تو اینترنت دیدم اینکه اول پروژه از نوع کیوت ویجت اپلیکشن بساز و خالیش کن یعنی نمونه کدهایی که تو پروژه به عنوان تمپلیت هست پاک کن. بعد یه شی از کلاسی به نام QGLwidget اگه اشتباه نکنم این اسمش بود بساز و شکل نهایی چیزایی که رسم کردیو تو اون شی ادد کن بعد شی نمایش بده. برو تو گوگل پر از این اموزشا ولی انگلیسیش.

amirreza_.net
یک شنبه 25 خرداد 1393, 20:31 عصر
من همه ی این کار هارو کردم !
ولی فقط یه صفحه ی سیاه باز میشه !

amirreza_.net
یک شنبه 25 خرداد 1393, 21:14 عصر
اینک کل کد :
void GLWidget::paintGL(){
glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,0,0);
glBegin(GL_TRIANGLES); glVertex3f(1.0,0,0); glVertex3f(0,1.0,0); glVertex3f(-1.0,0,0); glEnd();
}

void GLWidget::initializeGL(){ glClearColor(1,0,0,1);
}void GLWidget::resizeGL(int w,int h){ glViewport(0,0,w,h);}



اینم Main.cpp
#include <QApplication>#include "glwidget.h"
int main(int argc, char *argv[]){ QApplication a(argc, argv); QGLWidget w; w.show();
return a.exec();}

اینم glwidget.h
#include <QGLWidget>
class GLWidget : public QGLWidget{ Q_OBJECTpublic: explicit GLWidget(QWidget *parent = 0);
protected : void initializeGL(); void paintGL(); void resizeGL(int w,int h);
};
#endif // GLWIDGET_H

amirreza_.net
یک شنبه 25 خرداد 1393, 22:22 عصر
دوستان میشه برنامه رو ببینید چشه ؟
دانلود (http://uplod.ir/yt08uqegg3qj/untitled5.zip.htm)

محمد فدوی
دوشنبه 26 خرداد 1393, 00:31 صبح
این آموزش رو ببین امیدوارم مفید باشه:
Tutorial: OpenGL 3.1 The First Triangle (http://www.opengl.org/wiki/Tutorial:_OpenGL_3.1_The_First_Triangle_(C%2B%2B/Win))