Показать сообщение отдельно
Старый 08.09.2009, 22:39   #5
jimon
 
Сообщений: n/a
Ответ: 2d в OpenGL. вывод тени от спрайта

ммм по-идее так должно работать
      glEnable(GL_STENCIL_TEST);//включаем трафарет
      //мы в любом случае будем писать в трафарет
      glStencilFunc(GL_ALWAYS, 0, 255);
      //в том месте где рисуется трафарет значение буфера заменяем на 1
      glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
      level_draw();//уровень является трафаретом-только на нем видна тень
      // тень будет рисоваться только в тех местах,где значение в буфере 1
      glStencilFunc(GL_EQUAL, 1, 255);
      glStencilOp(GL_KEEP, GL_KEEP, GL_ZERO);
      player_shadow_draw();
      enemy_air_shadow_draw();
      glDisable(GL_STENCIL_TEST);//отключаем трафарет
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
aureli0 (08.09.2009)