Название: Поверхность при помощи OpenGL Отправлено: Mixolap от Январь 11, 2007, 22:28 Нижеприведенный код, исходя из моих желаний, должен строить поверхность (набор точек соединных линиями), но его возможностей только хватает на прорисовку точек. Подскажите, пожалуйста, чего сюда надо еще подписать или дайте ссылку на код cтроящий какую-нить поверхность (не Qwt ).
void GLWidget::initializeGL() { glClearColor(1.0,1.0,1.0,0.0); glLineWidth(2.0); glMap2f(GL_MAP2_VERTEX_3,0,1,3,4,0,1,12,4,&ctrlpoints[0][0][0]); glEnable(GL_MAP2_VERTEX_3); glMapGrid2f(20,0.0,1.0,20,0.0,1.0); glEnable(GL_DEPTH_TEST); glShadeModel(GL_FLAT); } void GLWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glRotatef(85.0, 1.0, 1.0, 1.0); glColor3f (1.0, 0.0, 0.0); glEvalMesh2(GL_LINE, 0, 20, 0, 20); glBegin(GL_POINTS); for(int i=0;i<=3;i++) for(int j=0;j<=3;j++) glVertex3fv(&ctrlpoints[j][0]); glEnd(); } QT4.2.2 , Linux FC6 Название: Поверхность при помощи OpenGL Отправлено: fanat9 от Январь 11, 2007, 23:47 Поверхность, в терминах gl, это скорее полигоны соединенные между собой, чем линии и точки.
По-этому чтобы нарисовать поверхность так как ты описал - нужно соединить между собой каждые две точки: glBegin(LINES) А вот поверхность полигонами, примерно так: Код:
Название: Поверхность при помощи OpenGL Отправлено: Mixolap от Январь 12, 2007, 17:55 О нашел хороший урок с рабочим примером
http://pmg.org.ru/nehe/nehe34.htm http://nehe.gamedev.net/data/lessons/linuxglx/lesson34.tar.gz Правда не qt, но и самому не сложно доделать |