![]() |
Ответ: Sigel
ну и отлично.
переписал систему расширений. теперь они по хитрому инициализирутся. сначала без суффикса, если нет то с ARB, если нет то с EXT. таким образом удалось инстансинг инициализировать на обоих видюхах (у NV он EXT а у ATI - ARB). Убрал наконец возможность менять размеры окна. Ибо она больше мешает, чем помогает. Теперь окно вылазит вперед, как и положено. Сделал возможность рендера в несколько текстур сразу (движек держит до 16). такие дела |
Ответ: Sigel
Вложений: 1
Цитата:
|
Ответ: Sigel
На АТИ открывается вход в Матрицу! :pure_magic: :-D
|
Ответ: Sigel
|
Ответ: Sigel
|
Ответ: Sigel
HolyDel, к Deferred Shading готовишся? :)
|
Ответ: Sigel
MoKa, не совсем. просто технология на глаза попалась, решил по быстрому сделать :)
на самом деле довольно много всего можно завязать на MRT. Например рендеринг в кубемапу за один проход (естественно не всю сцену, а какую нить спец геометрию). Или даже рендер в 3д текстуру, и так тоже можно, да. Или например партиклы на ГПУ, или какая нибудь хитрая анимация. Вобщем технология очень полезная и ограничивает только фантазия. |
Ответ: Sigel
MoKa
а что собстенно от deferred shading надо ? к примеру у меня в jengine уже сейчас можно отрендерить всю сцену (или часть сцены выборочно) с одним шейдером в несколько текстур за раз (mrt рулз), а потом уже работать с этими текстурами (я заюзал рендер через композиторы как в ogre и использую шейдеры cgfx) такого подхода достаточно будет ? но прокручивая всё это в голове я наткнулся на одну проблему, к примеру анимация происходит в вертексном шейдере, а нам надо отрендерить только канал глубины в фрагментном шейдере, как такое сделать если в материале вертексный и фрагментный шейдер не разделимы ? |
Ответ: Sigel
у меня с мрт ассоциируется только "магнитно-резонансная томография", подскажите что курить.
|
Ответ: Sigel
В FX (HLSL) материал, можно было делать инклюды. Можно сделать в одном файле много разновидностей вершинного, а в другом пиксельные, а в третьем только техники, где делать разные комбинации.
Jimon, от Deferred Shading'а требуется по сути уже готовая модель освещения, плюс гибкость для пользовательских шейдеров. |
Ответ: Sigel
jimon попробуй сделать ветвление.
условие на некую uniform переменную. когда она true - тогда рендериш цвет, когда false - тогда глубину. это примерно. |
Ответ: Sigel
Советую ещё Defin'ы покурить, ты можешь сделать ifdef'ов много, и заранее чтобы подготовить разные шейдера, открываешь инклуд файл с дефайнами, там везде ставишь нужные дефайны в зависимости от настроек (это делать нада программой писать, работу с текстовым файлом, почти как ini). И компилишь шейдер, каждый раз когда компилишь, идёт переучёт всего, в том числе и дефайнов.
Прошлый шейдер с этого же файла, но с другими дефайнами, который был скомпилен - естественно не пострадает. |
Ответ: Sigel
MoKa
да,но тебе так хочется иметь отдельную технику RenderZToTexture ? HolyDel в принципе можно, но тогда еще большая нагрузка на код шейдера вот дефолтовый шейдер : Код:
void DefaultMaterial_VS(in float4 Position : POSITION,in float2 UV : TEXCOORD0,out float4 oPosition : POSITION,out float2 oUV : TEXCOORD0,uniform float4x4 ProjMat,uniform float4x4 TexMat) TEX0-TEX8 слои текстур (до 32, ограничено настройками при компиляции) техники могут быть разного уровня качества графики, тогда надо задать имя техники так DefaultMaterial__Q3 (где может быть Q0,Q1,Q2,Q3,Q4 от самого низкого до самого высокого качества) и двиг тогда выберет оптимальную технику как видим уже тут у меня далеко не упрёшь, надо соблюдать формат аннотаций |
Ответ: Sigel
тогда никак. хотя если тебе надо тупо получить глубину, то просто юзай glMaskColor(0,0,0,0);
насколько мне известно, в таком случае пиксельный шейдер вообще не будет обрабатываться (хотя может и будет, все таки там discard (texkill) может быть). |
Ответ: Sigel
jimon, заюзай struct - код будет намного читабельнее и удобнее (это насчёт передачи данных в вершинник, и перенос данных из вершинного в фрагментный).
|
Часовой пояс GMT +4, время: 14:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot