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

Вниз

Какие режимы OpenGl надо включить?   Найти похожие ветки 

 
Vemer ©   (2007-02-14 12:49) [0]

Здравствуйте.
Продолжаю разбираться с OpenGL.
Пожалуйста подскажите какие режимы надо включить, чтобы
2 треугольника "просвечивали" друг через друга?
Требуеться ли для этого освещение и расчет нормалей?

Пытался играться с glEnable(GL_BLEND),  glEnable(GL_ALPHA_TEST),
но ничего хорошего не вышло.

 glBegin(GL_TRIANGLES);
   glColor4f(0,1,0,0.5);
   glVertex3f( 0.0, 2.0, 0.0);
   glVertex3f(-2.0,-2.0, 0.0);
   glVertex3f( 2.0,-2.0, 0.0);

   glColor4f(0,0,1,0.5);
   glVertex3f( 1.0, 2.0, 0.0);
   glVertex3f(-1.0,-2.0, 0.0);
   glVertex3f( 3.0,-2.0, 0.0);

  glEnd;


 
Piroxyline ©   (2007-02-14 13:55) [1]

Вроде как так:

glEnable(GL_BLEND);
glBlendFund(GL_SCR_COLOR, GL_SRC_ALPHA);
glColor4f(R, G, B, 0.5)


 
Rial ©   (2007-02-14 17:15) [2]

Возможно, проблема в том, в каком порядке ты рисуешь треугольники.
Если у тебя вся картинка вращается, то прозрачным будет только
второй треугольник относительно первого. Тот же треугольник,
который был нарисован первым, никогда не будет програчным
по отношении ко второму.
Выход - смотреть, какой в данный момент из треугольников
ближе к глазу зрителя и рисовать его вторым.


 
@!!ex ©   (2007-02-14 17:53) [3]


> Rial ©   (14.02.07 17:15) [2]

А если они пересекаються?
Не тривиальная задача. ИМХО


 
Rial ©   (2007-02-15 15:57) [4]

> [3] @!!ex ©   (14.02.07 17:53)
> А если они пересекаються?
> Не тривиальная задача. ИМХО

А если пересекаются..
1) Забить
2) Сделать, чтобы не пересекались (изменить взгляд на жизнь)
3) Рассчитать отрезок пересечения и рисовать
вместо двух три треугольника, такое разбиение всегда возможно.
Задача из курса школьной геометрии.


 
Creative   (2007-02-15 16:02) [5]

Rial

> 2) Сделать, чтобы не пересекались (изменить взгляд на жизнь)


:-D



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
2-1212317943
WebSQLNeederrr
2008-06-01 14:59
2008.06.29
Как обратиться к функции, которая находится в другом юните?


2-1212160292
programmer90
2008-05-30 19:11
2008.06.29
Количество оперативной памяти в системе.


3-1201091754
Sairex
2008-01-23 15:35
2008.06.29
В чем ошибка?


2-1212391029
Igor
2008-06-02 11:17
2008.06.29
String to Ole


2-1212065961
Nick
2008-05-29 16:59
2008.06.29
Как проверить есть ли встроке пробел