|
17.03.2009, 19:59
|
#526
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Sigel
ну и отлично.
переписал систему расширений. теперь они по хитрому инициализирутся. сначала без суффикса, если нет то с ARB, если нет то с EXT. таким образом удалось инстансинг инициализировать на обоих видюхах (у NV он EXT а у ATI - AR .
Убрал наконец возможность менять размеры окна. Ибо она больше мешает, чем помогает.
Теперь окно вылазит вперед, как и положено.
Сделал возможность рендера в несколько текстур сразу (движек держит до 16).
такие дела
|
(Offline)
|
|
17.03.2009, 20:02
|
#527
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Sigel
пока не работает на АТИ. скоро поправлю
|
эм... действительно !!
|
(Offline)
|
|
17.03.2009, 20:25
|
#528
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Sigel
На АТИ открывается вход в Матрицу!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
17.03.2009, 20:46
|
#529
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Sigel
На АТИ открывается вход в Матрицу!
|
ага, ты какую таблетку буш синюю или красную ??
|
(Offline)
|
|
17.03.2009, 22:26
|
#530
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Sigel
Галоперидол, пожалста
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.03.2009, 23:35
|
#531
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Sigel
HolyDel, к Deferred Shading готовишся?
|
(Offline)
|
|
17.03.2009, 23:58
|
#532
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Sigel
MoKa, не совсем. просто технология на глаза попалась, решил по быстрому сделать
на самом деле довольно много всего можно завязать на MRT. Например рендеринг в кубемапу за один проход (естественно не всю сцену, а какую нить спец геометрию). Или даже рендер в 3д текстуру, и так тоже можно, да. Или например партиклы на ГПУ, или какая нибудь хитрая анимация.
Вобщем технология очень полезная и ограничивает только фантазия.
Последний раз редактировалось HolyDel, 18.03.2009 в 00:49.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
18.03.2009, 00:54
|
#533
|
|
Ответ: Sigel
MoKa
а что собстенно от deferred shading надо ?
к примеру у меня в jengine уже сейчас можно отрендерить всю сцену (или часть сцены выборочно) с одним шейдером в несколько текстур за раз (mrt рулз), а потом уже работать с этими текстурами (я заюзал рендер через композиторы как в ogre и использую шейдеры cgfx)
такого подхода достаточно будет ?
но прокручивая всё это в голове я наткнулся на одну проблему, к примеру анимация происходит в вертексном шейдере, а нам надо отрендерить только канал глубины в фрагментном шейдере, как такое сделать если в материале вертексный и фрагментный шейдер не разделимы ?
|
|
|
18.03.2009, 01:34
|
#534
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Sigel
у меня с мрт ассоциируется только "магнитно-резонансная томография", подскажите что курить.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.03.2009, 01:36
|
#535
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Sigel
В FX (HLSL) материал, можно было делать инклюды. Можно сделать в одном файле много разновидностей вершинного, а в другом пиксельные, а в третьем только техники, где делать разные комбинации.
Jimon, от Deferred Shading'а требуется по сути уже готовая модель освещения, плюс гибкость для пользовательских шейдеров.
|
(Offline)
|
|
18.03.2009, 01:40
|
#536
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Sigel
jimon попробуй сделать ветвление.
условие на некую uniform переменную. когда она true - тогда рендериш цвет, когда false - тогда глубину.
это примерно.
|
(Offline)
|
|
18.03.2009, 01:44
|
#537
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Sigel
Советую ещё Defin'ы покурить, ты можешь сделать ifdef'ов много, и заранее чтобы подготовить разные шейдера, открываешь инклуд файл с дефайнами, там везде ставишь нужные дефайны в зависимости от настроек (это делать нада программой писать, работу с текстовым файлом, почти как ini). И компилишь шейдер, каждый раз когда компилишь, идёт переучёт всего, в том числе и дефайнов.
Прошлый шейдер с этого же файла, но с другими дефайнами, который был скомпилен - естественно не пострадает.
|
(Offline)
|
|
18.03.2009, 01:51
|
#538
|
|
Ответ: 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)
<
string VL0 = "Position";
string VL2 = "UV";
>
{
oPosition = mul(ProjMat,Position);
oUV = mul(TexMat,float4(UV.x,UV.y,0,1)).xy;
}
void DefaultMaterial_FS(in float2 UV : TEXCOORD0,out float4 oColor : COLOR,uniform sampler2D Diff : TEX0)
{
oColor = tex2D(Diff,UV);
}
float4x4 ProjViewModelMatrix;
float4x4 TexMatrix;
sampler2D DiffuseTexture;
technique DefaultMaterial
<
string PROJMAT = "ProjViewModelMatrix";
string TEXMAT = "TexMatrix";
string TEX0 = "DiffuseTexture";
>
{
pass
{
VertexProgram = compile latest DefaultMaterial_VS(ProjViewModelMatrix,TexMatrix);
FragmentProgram = compile latest DefaultMaterial_FS(DiffuseTexture);
}
}"
VL0-VL4 это слои данных вертексов (position,normal,uv,color но можно и свои данные пихать)
TEX0-TEX8 слои текстур (до 32, ограничено настройками при компиляции)
техники могут быть разного уровня качества графики, тогда надо задать имя техники так DefaultMaterial__Q3 (где может быть Q0,Q1,Q2,Q3,Q4 от самого низкого до самого высокого качества) и двиг тогда выберет оптимальную технику
как видим уже тут у меня далеко не упрёшь, надо соблюдать формат аннотаций
|
|
|
18.03.2009, 01:57
|
#539
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Sigel
тогда никак. хотя если тебе надо тупо получить глубину, то просто юзай glMaskColor(0,0,0,0);
насколько мне известно, в таком случае пиксельный шейдер вообще не будет обрабатываться (хотя может и будет, все таки там discard (texkill) может быть).
Последний раз редактировалось HolyDel, 18.03.2009 в 02:09.
|
(Offline)
|
|
18.03.2009, 02:03
|
#540
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Sigel
jimon, заюзай struct - код будет намного читабельнее и удобнее (это насчёт передачи данных в вершинник, и перенос данных из вершинного в фрагментный).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:17.
|