[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Panda3D - по русски » Panda3D » Примеры кода » Шейдерный ландшафт
Шейдерный ландшафт
ninthДата: Среда, 14.08.2013, 09:48 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 1554
Награды: 5
Репутация: 46
Статус: Offline
Я как обычно с шейдерами. На этот раз мопед пример не мой, я только перевёл его на glsl чтобы работало на карточках отличных от NVIDIA.



Оригинальный пример: https://www.dropbox.com/s/272gr0dl7gfbmoy/terrain.zip

Переделанные мной шейдеры прикреплены к сообщению. Их надо закинуть в папку shader и в main.py заменить загрузку Cg'шных шейдеров на GLSL
           
Код
#self._terrainElem.setShader(loader.loadShader("shader/terrain_engine.cg"))
             gl_shader = Shader.load(Shader.SLGLSL, 'shader/te_vert.glsl', 'shader/te_frag.glsl')
             self._terrainElem.setShader(gl_shader)

           
Код
#postProcessingShader = loader.loadShader("shader/post_processing.cg")
             #preBlurShader = loader.loadShader("shader/post_processing_blur.cg")
             postProcessingShader = Shader.load(Shader.SLGLSL, 'shader/pp_vert.glsl', 'shader/pp_frag.glsl')
             preBlurShader = Shader.load(Shader.SLGLSL, 'shader/pp_vert.glsl', 'shader/pp_blur_frag.glsl')


Оригинальная тема на оффоруме: http://www.panda3d.org/forums/viewtopic.php?f=6&t=15835
А здесь идёт работа над обновлённой версией: http://www.panda3d.org/forums/viewtopic.php?f=6&t=16216
Прикрепления: terrain_glsl_sh.zip(3Kb)
 
vadikinДата: Четверг, 15.08.2013, 22:24 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
А можно поподробнее про установку?
Я не совсем ориентируюсь ещё.
Сделал стандартную исталляцию. Свою shader (а не shaders) туда все glsl . Прописал пути в конфиге.
Плюс свой скрипт в нём куски кода из поста. После запуска жалуется на self.


Сообщение отредактировал vadikin - Четверг, 15.08.2013, 22:27
 
ninthДата: Пятница, 16.08.2013, 07:27 | Сообщение # 3
Admin
Группа: Администраторы
Сообщений: 1554
Награды: 5
Репутация: 46
Статус: Offline
Цитата (vadikin)
shader (а не shaders) туда все glsl

Да, верно, спасибо, пост поправил.

Цитата (vadikin)
жалуется на self.

self - стандартная ссылка питоновского кода на класс к которому принадлежит тот или иной элемент. Если ты собираешься воткнуть это всё в свой код, то помимо тех кусков что я привёл в посте тебе потребуется ещё много чего из оригинального примера. Эти куски - только исправления для него.
 
vadikinДата: Суббота, 17.08.2013, 12:05 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
аа. Понятно. То есть сначало исходники от немца взять. Потом уже исправлять.
А я думаю что за ерунда написана с этим selfом и вообще.
О.к. Побачим.
 
Форум Panda3D - по русски » Panda3D » Примеры кода » Шейдерный ландшафт
Страница 1 из 11
Поиск: