-
@!!ex_ (10.06.07 15:11) [0]РИсую SV тени.
Объемы рисуются правильно. Проверял. А тень рисоваться не хочет.
Проблему вижу в иницилизации стенсиля.
Делаю так:glEnable(GL_STENCIL_TEST);
glClear(GL_STENCIL_BUFFER_BIT);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glDepthMask(GL_FALSE);
glStencilFunc(GL_ALWAYS, 1, $FFFFFFFF);
glDisable(GL_TEXTURE_2D);
Здесь рисую теневые объемы.
Каждый объем так рисуется:GlEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
glStencilOp(GL_KEEP, GL_INCR, GL_KEEP);
DrawVolume;
glCullFace(GL_BACK);
glStencilOp(GL_KEEP, GL_DECR, GL_KEEP);
DrawVolume;
glDisable(GL_CULL_FACE);
После чего настраиваю стенсил для рисования черного квада на весь экран:glStencilFunc(GL_GREATER, 1, 1);
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glDisable(GL_DEPTH_TEST);
Рисую квад.
Не работает. :( -
Pa5ha © (05.10.07 20:57) [1]Йоу, всех преведствую. Моя проблема немного схожа.
Волюм строица и рисуеца нормально. Проблема в том, что в стенсил ни под каким предлогом не рисуюца нелицевые грани, причом лицевыми можно управлять с помощью glCullFace, о на нелицевые эта команда не распространяеца почему то. Приходица менять порядок вершин при рисовании задней стенки волюма. Как сделать НОРМАЛЬНО? или это так и должно быть? -
Pa5ha © (05.10.07 20:58) [2]@!!ex_, ты та кстати разобрался в чом дело то?
-
Pa5ha © (06.10.07 01:02) [3]Бляхай, дайте рабочий пример со стенсильными тенями и лодом. искал - не нашол. Стал свой писать. С одним треугольником работает. С моделью шляпа какая-та. Рисуюца не все треугольники.
-
@!!ex © (09.10.07 19:47) [4]Сорри пример дать не могу, коммерческий проект и не мой.
Ты свой код выложи, чем смогу - помогу. -
Pa5ha © (10.10.07 21:36) [5]http://sampo.ru/~pashav/files/up1/basic_game_engine.rar Там сорсы, бинарник, модель и текстура, 57 кб. Стенсильные тени. И ещё сегодня на другой машине глюк заметил. При выходе эксепшн вылезает, возможно где-то обработка сообщений при выходе неправильно организуеца. Верхней и нижней шапок на тени пока ещё нету.
-
Pa5ha © (21.10.07 20:28) [6]Мм, у мя в исходниках куда то пропала строчка с убиванием гл-я. Вот и глючит )
-
Может легче переделать по Framebuffer? И не мучаться со стенсилем. Это как я понял, прошлый век? Может я не прав конечно... :)
-
Ricks, это как?