Вниз
Скачать: 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.027 c
1-1158443057
Pavel__
2006-09-17 01:44
2006.10.29
LoadIcon и Windows Vista


2-1160465938
shake
2006-10-10 11:38
2006.10.29
Shellexecute и динамические параметры


15-1159960137
Тульский
2006-10-04 15:08
2006.10.29
Переводчик On-Line


2-1160551228
Zlodey
2006-10-11 11:20
2006.10.29
Работа с текстовым файлом


2-1160969868
Tab
2006-10-16 07:37
2006.10.29
как перейти в следующую ячейку в StringGrid




   Наверх