Войти
Life EngineКатегории

3D

Смотрите также категорию 3D для всех разделов

SoftGL: Water
SoftGL: Water
Ещё небольшой апдейт софтрендера - пофиксил баги рендера в текстуру, пофиксил баги в шейдерах, написал простой рендер  "океана".  Пока тут ничего  интересного - просто текстура отражений рисуется и  натягивается на плоскость.  Чуть позже сделаю геометрические волны ну и волны по текстурам нормалей конечно )  Вообще планирую сделать нормальную презентабельную демку с океаном (отражения, преломления и т.п. фичи).

Пока вот такой скрин.  ФПС дико мелкий, но внутри рендер вообще не оптимизированный, много брутфорсом сделано и всё без SSE ) 

upd:
добавил поддержку ввода и в Windows. Написал класс камеры и контроллер свободного перемещения по сцене. Можно полетать теперь вокруг ландшафта, добавил семплинг текстуры отражений с учётом нормалей воды. Всё дико кривое и адски тормознутое пока, ну и ладно )

NewWater4 | SoftGL: Water

Ещё небольшой апдейт софтрендера - пофиксил баги рендера в текстуру, пофиксил баги в шейдерах, написал простой рендер

Ссылка | Комментарии [28]
5 ноя. 2012

Softrender: рефакторинг
Если приглядеться, то на прошлом скрине ландшафта можно увидеть суровые баги - дырки в геометрии.  : \

Пофиксил их, пофиксил ещё другие, вернул альфа блендинг, правда теперь у меня опять код снова неоптимизированный и без SSE ) Но это временно. Зато полностью рабочий ^^

Изображение


upd:

Вернул шейдеры, пока ничего с ними не делал - лень )  По-позже выложу демку.  Пока просто отрендерил ландшафт с директ лайтом.
Изображение

upd2:
Добавил ClipPlane-ы. Сначала хотел просто в шейдере клипать и не выделываться, но подумав понял, что не прокатит ) Точнее прокатит, но будет медленней работать, т.к. тест будет для каждого пикселя, а сейчас плейнами режется геометрия )

Изображение

Ссылка
31 окт. 2012

Software renderer 3D - дада, мой очередной )
Посидел немного над софтрендером и таки привёл его в юзабельный вид )

0. НАКОНЕЦ-ТО руки дошли сделать frustum clipping! :)  Теперь всё рендерится абсолютно корректно.  Клиппинг производится в 4D clip space по 7 плоскостям.
1. Пофиксены различные баги
2. Проект перенесён в IDE QtCreator и портирован под линукс, в котором и идёт разработка.
3. Дописан класс окна под линукс и класс таймера.
4. Добавлена простая система ввода (2 класса)
5. Добавлена поддержка индексированной геометрии  (собсно ради кеша и памяти)
6. Добавлен вершинный кеш в пайплайн растеризатора!Теперь если вершина лежит в кеше, то оттуда она и берётся и не трансформируется снова и снова ) Красота.
7. Добавлен альфа-тест и туман, введён FFP режим билда (когда шейдерные фичи блокируются и включаются FFP, ещё добавил Ambient освещение  (включение, цвет).
8. Пофиксил семплинг текстур и прикрутил его в FFP режим.

Ну и перенёс разработку на Bitbucket.org ! Под Mercurial.  Очень радует своей отличной работой, всё клёво.  Репозиторий общедоступен, но я не оставлю здесь на него ссылку, т.к. там сейчас дичайший говнокод и смотреть его нет смысла, как и юзать, ибо там ещё и FPS пока никакущий.

Изображение
Изображение

Ссылка | Комментарии [5]
15 окт. 2012

Update 1
Както заффтыкал обновлять и тут блог...хмм. )

Собсно добавил PSSM тени. Работает всё чётко. Оптимизировал максимально. Рендерятся тени в одну одноканальную текстуру формата R32F чтобы техника была более кеш-френдли. Фильтрация для PSSM юзается ТОЛЬКО PCF так как VSM был поспешно уддалён после его подключения к PSSM.  На моей видяхе летает PSSM со следующими параметрами: количество сплитов - 3, размер общей текстуры глубины 4096x4096  - это 2 сплита по 2048x2048 и один 4096x2048 для ближнего сплита. ФПС жжот НО(!) если делать VSM и блурить текстуру минимум в 1 проход,то, собсно, необходима вторая текстура в котору и будет записываться результат блура. Для VSM нужно 2 канала.  Собсно 2-х канальная текстура формата G32R32F размера 4096x4096 будет весить 128 МБ и нужна ещё одна копия на 128 МБ для блура. В итоге для качественных теней надо 256(!!!!!!!!) МБ видео. Ненене, нафиг!  Заюзал PCF 4x4 и доволен. Тень мягкая, скорость высокая, памяти хаваецо мало ^^

Какбы скрин.  Чел и небо сильно зачвечены - не подкрутил HDR но я  ТЕНИ показываю, так что не плеваться : ))

Изображение


Сейчас займусь фоновой подгрузкой ресурсов ^^

Ссылка
26 июня 2010

Архив