| Шейдеры |
|
Maverick
| Дата: Четверг, 01.01.2009, 14:04 | Сообщение # 1 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
Кто знает вообще язык шейдеров? Тока не тот, который похож на С++, а более простой, типа mul, add, phase и прочее
|
| |
| | |
|
NewStrannik
| Дата: Четверг, 01.01.2009, 14:16 | Сообщение # 2 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
А HLSL чем не приглянулся?
|
| |
| | |
|
Maverick
| Дата: Четверг, 01.01.2009, 14:16 | Сообщение # 3 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
Тем что в Ultimate 3D НЕТ его :P
|
| |
| | |
|
NewStrannik
| Дата: Четверг, 01.01.2009, 14:34 | Сообщение # 4 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
Ну не знаю - не знаю.. Вот почитай -> [http://msdn.microsoft.com/en-us/library/bb219840(VS.85).aspx]! Это тебе нужно? P.S.: Не вижу огромных различий между asm и HLSL, кроме сложности и быстрости (зависит от корявости рук). xD
Сообщение отредактировал NewStrannik - Четверг, 01.01.2009, 19:37 |
| |
| | |
|
Maverick
| Дата: Четверг, 01.01.2009, 15:00 | Сообщение # 5 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
смотри, у меня есть простой код ps.1.4 phase mov r0, v0 проще не бывает =) я считаю что он работает так - берет цвет с тексутры экрана(v0) и записывает этот цвет в текстуру, которая потом нарисуецо поверх экрана (r0) Тоесть фактически этот код ВООБЩЕ никак не должен быть заметен в игре, правильно? Просто я запустил - у меня все белое wtf?
|
| |
| | |
|
WertyXBOCT
| Дата: Четверг, 01.01.2009, 15:16 | Сообщение # 6 |
Каждый 5й пост мой
Группа: Страж
Сообщений: 2467
Статус: Offline
|
Попробуй любой другой шейдер. Возможно ты просто неправильно его используешь. Может где то в коде ошибка. По идее шейдеры всегда чтото отображают на экран... (правда сам в этом сомневаюсь в этом)
Blog:www.WeslomPo.ru mailto: i@weslompo.ru
|
| |
| | |
|
Maverick
| Дата: Четверг, 01.01.2009, 19:26 | Сообщение # 7 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
все, с шейдерами более менее стало понятно - написал моушн блюр на U3D - вроде норм.....
|
| |
| | |
|
Ang3L
| Дата: Четверг, 01.01.2009, 19:29 | Сообщение # 8 |
Каждый 5й пост мой
Группа: Админы
Сообщений: 2667
Статус: Offline
|
Если интересны асм коды шейдеров, в справке к DirectX SDK там все коды. И примеры.
Blogpost
|
| |
| | |
|
NewStrannik
| Дата: Четверг, 01.01.2009, 19:39 | Сообщение # 9 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
Ang3L, а я на что ссылку дал? ... Maverick, можешь показать код размытия, очень интересно:)
|
| |
| | |
|
Maverick
| Дата: Четверг, 01.01.2009, 20:02 | Сообщение # 10 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
короче Create обьекта, отвечающего за шейдер SetPSSPSConstant(0,0,0,0,0.4) //0.4 - сила размытия, чем меньше - тем сильнее (0...1) SetPSSTexture(1,-1) //тут я загружаю файлы шейдеров, содержания которых приведено ниже vertex_shader = 'shaders/shader1.vsh' pixel_shader = 'shaders/shader1.psh' CreatePostScreenShader() фаил вертексных шейдеров vs.1.1 mov oPos, v0 mov oT0, v7 mov oT1, v8 фаил пиксельных шейдеров ps.1.3 tex t0 tex t1 mul r1, t1, t1 mul r1, r1, r1 mul r1, r1, r1 mul r1, r1, r1 mul r1, r1, r1 mul r1, r1, r1 add r0, t0, r1 mov r0.a, c0.w почему столько mul? Я хотел немного увеличить контрастность и выделить яркие участки на экране (планировалось чтото типа bloom'а)
|
| |
| | |
|
NewStrannik
| Дата: Четверг, 01.01.2009, 20:43 | Сообщение # 11 |
Всех уже задолбал
Группа: Проверенные
Сообщений: 808
Статус: Offline
|
вау, удобно, практично и мало кода)) хм.. в пиксельном шейдере всё понятно, а вот что делает вертексный?))
|
| |
| | |
|
Maverick
| Дата: Пятница, 02.01.2009, 13:30 | Сообщение # 12 |
|
Хоть палкой гони
Группа: Высший Советник
Сообщений: 781
Статус: Offline
|
он передает в регистры to и t1 текстуры: первая - это то рендерицо всегда на главный вид, а вторую я задал сам, функцией SetPSSTexture(1,-1) которая означает "задать индексу oT1 текстуру главного вида" Тоесть я её скопироваль грубо говоря. Первая строка выводит главную тексту вида на экран как есть. Короче ничего особого он не делает ) Текстура главного вида сцены всега лежит в регистре v7, а v8 - это для остальных дополнительных текстур, назначаемых юзером. Добавлено (02.01.2009, 13:30) --------------------------------------------- *.vcs - это че за формат шейдеров такой? Типа скомпилированные уже? если да, то как их декомпильнуть? )
|
| |
| |
|
|