Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Технологии программирования > Программирование графики
Перезагрузить страницу Как работать с глубиной, OpenGL
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
dralexthk dralexthk вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2007
По умолчанию Как работать с глубиной, OpenGL - 11.01.2007, 18:56

Такая проблема: рисую сначала полигон, потом его контур другим цветом. Должно отобразиться соответственно сам полигон красным и его контур черным. Так есть почти все время, но при некоторых углах обзора, черная линия контура становится прерывистой - то черный кусок, то нет. Такое впечталение, что некоторые ее части не проходят тест глубины GL_LEQUAL, но как этого избежать, непонятно. Хорошим выходом было бы отображать контур с выключенной проверкой глубины, но это не подходит, т.к. основная цель - выводить невидимые линии контура пунктиром, а видимые - сплошняком.
Помогите пожалуйста

Код:
//Список полигона
gl.glNewList(1, GL.GL_COMPILE);
gl.glBegin(GL.GL_POLYGON);
gl.glVertex3d(0, 0, 0);
gl.glVertex3d(0, 1, 0);
gl.glVertex3d(1, 1, 0);
gl.glVertex3d(1, 0, 0);
gl.glEnd();
gl.glEndList();

gl.glDepthFunc(GL.GL_LEQUAL);
gl.glLineWidth(1.0f);
// Заливаем полигон
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
gl.glColor3f(255,0,0);
gl.glCallList(1);
//Только контур
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
gl.glColor3f(0,0,0);
gl.glCallList(1);
Ответить с цитированием
  (#2 (permalink)) Старый
dralexthk dralexthk вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.01.2007
По умолчанию Как работать с глубиной, OpenGL - 11.01.2007, 18:56

Такая проблема: рисую сначала полигон, потом его контур другим цветом. Должно отобразиться соответственно сам полигон красным и его контур черным. Так есть почти все время, но при некоторых углах обзора, черная линия контура становится прерывистой - то черный кусок, то нет. Такое впечталение, что некоторые ее части не проходят тест глубины GL_LEQUAL, но как этого избежать, непонятно. Хорошим выходом было бы отображать контур с выключенной проверкой глубины, но это не подходит, т.к. основная цель - выводить невидимые линии контура пунктиром, а видимые - сплошняком.
Помогите пожалуйста

Код:
//Список полигона
gl.glNewList(1, GL.GL_COMPILE);
gl.glBegin(GL.GL_POLYGON);
gl.glVertex3d(0, 0, 0);
gl.glVertex3d(0, 1, 0);
gl.glVertex3d(1, 1, 0);
gl.glVertex3d(1, 0, 0);
gl.glEnd();
gl.glEndList();

gl.glDepthFunc(GL.GL_LEQUAL);
gl.glLineWidth(1.0f);
// Заливаем полигон
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
gl.glColor3f(255,0,0);
gl.glCallList(1);
//Только контур
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
gl.glColor3f(0,0,0);
gl.glCallList(1);
Ответить с цитированием
  (#3 (permalink)) Старый
Ikshot Ikshot вне форума
Member
 
Сообщений: 451
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 06.06.2002
По умолчанию 23.01.2007, 19:54

Классический случай, смотреть здесь:
http://www.hardforum.ru/f22/
Раздел 6.4 Смещение полигонов
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
opengl doug1as Видеокарты 0 20.02.2012 20:28
Изображения с высокой глубиной цвета ita4i36 Вопросы начинающих программистов 0 12.07.2011 22:10
OpenGL монохромность как с ней работать imported_skill_ Программирование графики 1 23.05.2011 17:43
OpenGL в Delphi XE как с ним работать P.A.S.C.A.L. Программирование графики 1 16.02.2011 00:11
OpenGL как с ним работать HeroDiver Программирование графики 1 19.10.2009 18:54
Как работать с OpenGL или DirectX в С# ProgmanSharp .NET 2 04.02.2006 15:15
Как работать с моделями 3dsMax под OpenGL-ем из VС++ и D6 imported_Pashka Программирование графики 4 07.12.2005 12:45
OWL и OpenGL мгут ли они совместно работать Devill С/С++ 1 12.10.2005 19:30
Текстуры OpenGL как с ними работать Drey^the^first Программирование графики 3 14.06.2005 02:00
Как работать с OpenGL в Delphi Багдат Delphi 1 10.12.2004 09:46
Деревья с глубиной M-Angel Prolog 5 07.11.2004 21:15
Как поместить на кнопку рисунок с большей глубиной цвета не *.bmp Anonymous C++ Builder 1 30.10.2003 12:42



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов