Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1160412563
Степан
2006-10-09 20:49
2006.10.29
И зачем нужна такая оптимизация...


2-1160705558
Sunrice
2006-10-13 06:12
2006.10.29
поиск по тексту с последующим вырезанием кусков


2-1160399737
zorik
2006-10-09 17:15
2006.10.29
расширить функции TCanvas


15-1159886924
wezzz
2006-10-03 18:48
2006.10.29
Кабельное тв в Москве?


15-1160071125
Иксик
2006-10-05 21:58
2006.10.29
Справочники имен




   Наверх