Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Прямоугольник с разноцветными сторонами   Найти похожие ветки 

 
Provodnick ©   (2006-01-23 13:02) [0]

Здравствуйте. Проблема, возможно, простая, но вызвала затруднения. Как в трехмерном пространстве в OpenGL нарисовать прямоугольник со сторонами разного цвета. Сейчас делаю так:

   glPolygonMode(GL_FRONT, GL_FILL);
   glPolygonMode(GL_BACK, GL_POINT);
   glColor3f (1, 0, 0);
   glBegin(GL_QUADS);
     glNormal3f(1.0, 0.0, 0.0);
     glVertex3f( 0, 4, 0);
     glVertex3f( 0, 4, 4);
     glVertex3f( 0, -4, 4);
     glVertex3f( 0, -4, 0);
   glEnd;
   glColor3f (0, 0, 1);
   glBegin(GL_QUADS);
     glNormal3f(1.0, 0.0, 0.0);
     glVertex3f( 0, -4, 0);
     glVertex3f( 0, -4, 4);
     glVertex3f( 0, 4, 4);
     glVertex3f( 0, 4, 0);
   glEnd;

Но не устраивают точки по углам прямоугольника. Как быть, подскажите, пожалуйста.
И еще вопрос - как по-простому нарисовать маленький прямоугольник на большом в трехмерном режиме?
Заранее спасибо!!!


 
grouzd[E]v ©   (2006-01-23 13:45) [1]


> glPolygonMode(GL_BACK, GL_POINT);

а зачем вот это? или точки должны быть?


> И еще вопрос - как по-простому нарисовать маленький прямоугольник
> на большом в трехмерном режиме?

glDepthTest или немного приподнять маленький над большим

---
... we are walking on a thin line and you better avoid the risk ...


 
Provodnick ©   (2006-01-23 13:56) [2]

Без glPolygonMode(GL_BACK, GL_POINT); отображается неверно, т.к. для обратной стороны по умолчанию считается glPolygonMode(GL_BACK, GL_FILL); - в результате некорректное отображение - в некоторых местах просвечивается другой цвет. А точек быть не должно.

Что каксается второго - сейчас вначале рисую маленький а ПОТОМ большой - и, как ни странно, маленький отображается поверх большого с обеих сторон (что и нужно), но опять же отображение несколько некорректно (аналогично выше описанному).


 
grouzd[E]v ©   (2006-01-23 16:27) [3]

Тогда glCullFace на задние грани, рисовать 2 квада разных цветов, не забудь про нормали

---
... we are walking on a thin line and you better avoid the risk ...


 
Provodnick ©   (2006-01-23 16:53) [4]

Большое спасибо!!! glCullFace - это то, что мне было необходимо! А вот про маленькие и большие прямоугольники - видимо, действительно придется маленький чуть "выше" рисовать с одной и с другой стороны. А идея с glDepthTest в двух словах в чем заключалась?


 
Provodnick ©   (2006-01-23 17:33) [5]

Вариант "чуть выше" срабатывает. Спасибо еще раз. Приятно получать ответы на долго мучавшие вопросы:)))


 
grouzd[E]v ©   (2006-01-23 19:25) [6]

=) да не за что

---
... we are walking on a thin line and you better avoid the risk ...



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1160078005
Tuks
2006-10-05 23:53
2006.10.29
Не находится файл dclusr50.bpl


15-1160100204
vidiv
2006-10-06 06:03
2006.10.29
Интерактивность в PDF


3-1156829716
Orxan
2006-08-29 09:35
2006.10.29
Юникоды и компонент TOracleQuery


15-1160080302
Real
2006-10-06 00:31
2006.10.29
D-Link AP - странные глюки


2-1160503113
Volodya_
2006-10-10 21:58
2006.10.29
Delphi - Excel