Форум: "Игры";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизПрямоугольник с разноцветными сторонами Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c