Добавил шейдеры: ARB Assembler
[ Спасибо! ]
[ Поделиться ]
|
20:57
Для загрузки и использования шейдеров используется объект IARBShader. Который может загружать шейдеры с файла или с переменной. Передавать шейдерам параметры и Биндить их.
Так же присутствует собственный парсер шейдера, который сокращает строки с лишними пробелами, удаляет пустые строки и комментарии. Написание парсера позволило сократить код шейдера, что положительно сказалось на производительности. Да и старые видеокарты почти отказываются работать с шейдерами, в которых есть пустые строки. Сам уже ставил эксперимент. Добавил возможность добавления комментариев в одну строчку с использованием "//" и несколько строк используя "/* */". Данные комментарии как и все остальные встроенный парсер удаляет. Любителям Делфи сразу скажу, что символы " { } " используются для создания переменным с заранее заданными значениями в шейдерах, поэтому парсить как комментарий не получится.
Добавлена поддержка рендера для шейдеров в запись PSpriteData.
Теперь объект, предназначенный для рендера спрайтов может отображать спрайты с применением шейдеров.
Для этого добавлены следующие команды:
- "UpdateShaderPoints", которая обновляет рассчитанные нормали, и положение текстур с Bump и Height.
- "DrawARBShaderMulti2", рисует спрайт с поддержкой применяемых шейдеров. Используется 2-е мультитекстуры.
- "DrawARBShaderMulti3", рисует спрайт с поддержкой применяемых шейдеров. Используется 3-е мультитекстуры.
Так же шейдеры будут добавлены и в 3Д функционал движка.
Тест:
Сделал несколько шейдеров: бумп, бумп со светом, параллакс, параллакс со светом.
Простой рендер:
Бамп
Бамп + свет
Параллакс
Параллакс + свет
Категория: Новости разработчиков |
Просмотров: 2858 |
Добавил: Конструктор
| Рейтинг: 5.0/1
Теги: |
HTML ссылка на материал: BB ссылка на материал: |
Всего комментариев: 2 | |
| |