на главную страницуна главную страницуна главную страницу

Коротко | Процессоры | Системные платы | Видеосистема | Носители информации | Мультимедиа | Домашние кинотеатры | Портативные ПК | Периферия | Мобильная связь | Изображение в числах | Коммуникации | Колонка редактора | Конференция | Поиск по сайту | Komok.com | Computorg | Журнал iXBT.com | Драйверы

Автор: Виталий Мальцев (wit@tyumen.net)

Описание: DepthShadows

Данная программа демонстрирует возможность освещения с тенями сцены, без дополнительного перерендеринга сцены на основании только z-буфер информации о сцене.

В качестве источника света используется точечный источник. Освещенность от него просчитывается по закону уменьшения интенсивности света пропорционально обратному квадрату расстояния.

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

Краткое описание, используемого алгоритма.

Основная идея — проверить для каждой точки в сцене, точки лежащие на прямой, от проверяемой в данный момент точки до источника света. И если проекции этих точек и источкина света на плоскость XY тоже окажутся лежащими на одной прямой то данная точка сцены будет считаться затененной.

Управление — смещение мышки с нажатой левой кнопкой меняет высоту источника света.

Преимущества, используемой методики затенения:

  • Используется фиксированное число проходов, зависящее от качества получаемой тени, и независящее от сложности затеняемой сцены.
  • Возможно самозатенение объектов
  • создаются тени и для неполигональных объектов, созданных из HeightMap-ов или DepthSprite-ов например.

Недостатки используемой методики затенения:

  • Возможно затенение ненужных точек, и незатенение нужных, связанные с слабой точностью вычислений. Поэтому сейчас алгоритм работает только с простыми сценами и приходится использовать размытие полученной ShadowMap чтобы убрать рваные границы теней. С более сложными сценами алгоритм работал корректно только в софтварной эмуляции шэйдеров, т.к. там точность вычислений выше. Т.е. можно ожидать что в новых видеоакселераторах, поддерживающих больше чем 8-битную точность удастся добиться затенения и сложных сцен тоже.
  • Не отрисовываются тени от тех частей объктов, что в данный момент невидимы с точки наблюдения.
  • При затенении нужна информация из z-буфера. Т.е. прийдется рендерить всю сцену в свой z-буфер, и использовать его затем в качестве текстуры.

Поддерживаемые GPU: GeForce4

Загрузить: depthshadows1.zip (1,04 MB)

на главную страницуна главную страницуна главную страницу

Коротко | Процессоры | Системные платы | Видеосистема | Носители информации | Мультимедиа | Домашние кинотеатры | Портативные ПК | Периферия | Мобильная связь | Изображение в числах | Коммуникации | Колонка редактора | Конференция | Поиск по сайту | Komok.com | Computorg | Журнал iXBT.com | Драйверы

Copyright © by iXBT.com, 1997—2003. Produced by iXBT.com