Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
15-1159418720
Тульский
2006-09-28 08:45
2006.10.29
Понятие NULL


15-1159833326
GameDev
2006-10-03 03:55
2006.10.29
Использование пиратских Windows 9x больше не является преступлени


2-1160721695
vitv
2006-10-13 10:41
2006.10.29
DBLookupComboBox


15-1160116585
Шмель
2006-10-06 10:36
2006.10.29
Выбор монитора


2-1160548994
first_may
2006-10-11 10:43
2006.10.29
FormStyle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский