|
Xors3D Графический движок с поддержкой DirectX9 |
15.03.2011, 04:48
|
#76
|
Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
MoKa, спасибо, я тож конечно не самым лучшим образом отвечал, на меня не похоже. Принашу глубочайшие извинения MR_F если его обидел.
Вообще проблема в чем я пытаюсь изучить шейдеры. Для этого мне посоветовали хелпы по HLSL и DXSDK? Но понятия это растяжимые хелпы, и следовательно не зная что искать я не знаю даже как спросить. Спрошу тогда так, что бы ты ,MoKa, стал учить после вышеописанного урока по шейдерам?
|
(Offline)
|
|
15.03.2011, 13:24
|
#77
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Я бы стал писать простые шейдеры. Обучение как ты знаешь состоит из последовательных этапов. Начиная с простого к сложному.
Лучше всего когда понимаешь как шейдерный конвеер работает и как передедавать переменные и как из вершинного в попиксельный шейдер передаются данные. Для это напиши простой шейдер - простой диффуз. При этом попробуй это сделать без единого копипаста, но можно смотреть в чужой шейдер.
Разбери его до мелчайших деталей. В msdn на HLSL есть хорошая инфа о тех или иных общих момментах.
Далее усложняй, но важно понять представление вершины и пикселя в шейдере, "как шейдер видит" их
Тогда будет проще далее.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
15.03.2011, 15:45
|
#78
|
Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Ладно, будем пытать Ся
|
(Offline)
|
|
15.03.2011, 21:22
|
#79
|
Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Пасибо мока сочитание терминов msdn и HLSL привели меня на ссылку где какраз то что я искал. С этого можно продолжить свое обучение шейдерам.
http://www.gamedev.ru/code/terms/HLSL?page=2
Советую после изучения первого урока полазать по ссылкам в конце этой странице всем несведующим
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.12.2011, 17:55
|
#80
|
Мастер
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений (для 2,526 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
а можно пример простого шейдера который тупо окрашивает обьект в белый цвет?
|
(Offline)
|
|
08.12.2011, 17:59
|
#81
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.12.2011, 18:00
|
#82
|
Мастер
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений (для 2,526 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Сообщение от MoKa
|
спасибо. будем разбираться..
|
(Offline)
|
|
08.12.2011, 20:46
|
#83
|
Мастер
Регистрация: 23.09.2009
Адрес: ленобласть
Сообщений: 1,189
Написано 447 полезных сообщений (для 2,526 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
кстати вопрос такой.
в примерах используется такой вариант передачи матриц:
float4x4 view_proj_matrix; - в шейдере
и xSetEffectMatrixSemantic poly, "MatWorldViewProj", WORLDVIEWPROJ в ксорсе
а в уроке тупо в шейдере float4x4 viewprojMatrix : MATRIX_VIEWPROJ;
т.е. эти варианты делают по сути одно и тоже?
|
(Offline)
|
|
08.12.2011, 20:54
|
#84
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Да, с одним отличем как эта матрица задаётся. В первом варианте, нада ручками указывать матрицу, а во втором, она будет автоматически назначена, исходя из объекта на который шейдер наложен. Второй лучше, если это не нужно менять из кода (не могу придумать необходиомсти), так что юзай второй.
Это называется семантики. В документации есть раздел про семантики.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
30.12.2011, 09:33
|
#85
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Привет Всем!)
Первый раз познакомился с написанием шейдеров вчера, ради постэффектов т к в основном для обьектов нужен только обычный диффуз)
Прошу помощи в реализации одной штуки:
возможно ли как нибудь использовать в шейдере внешнюю функцию? например для передачи положения текущего пикселя в двиг, чтобы сгенерировать маску (чтобы некий пост-эффект действовал только на некоторые обьекты) ? или может как то по другому можно? ибо через камераПик ну ооочень тормозно получается)
UPD: а что если изменить активный буффер на другой, отрендерить в него нужные шейдеры, перепригнуть на начальный буффер, отрендерить еще раз с нормальными шейдерамы и наложенным пост-эффектом с маской созданной в предыдущем буффере?
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
Последний раз редактировалось ANIK123, 30.12.2011 в 12:18.
|
(Offline)
|
|
08.01.2012, 05:46
|
#86
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Т.к. ты только начал заниматься шейдерами, то ещё думаешь совсем в иной парадигме.
Суть шейдеров - математически обрабатывать тексели, и не более.
Зная на что шейдер как механизм может, ты будешь знать что можно с ними делать, а что нет (например передать какую-то внешнюю функцию, невозможно, да и зачем, если есть внутренние?).
Далее понимая возможности математики, и смекалки, сможешь придумать реализацию идеи.
Как я понял, тебе нужно обработать пост эффектом только конкретный объект.
Если там нету блуров, и тексели которые нужно обработать постом находятся прямо на нужном объекте, то можно применить алгоритм пост обработки, на сам объект, заранее получив позицию пикселя в скринспейсе (если это нужно для пост обработки).
А можно отрендерить маску, в отдельную текстуру, и затем по маске делать пост обработку, или смешивать пост обработанную текстуру с нормальной.
Короче, вариантов много, зависит всё от деталей. Каждый из них имеет свои недостатки, экспериментируй - это лучший вариант изучить шейдеры.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
25.03.2012, 08:46
|
#87
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Хотелось бы узнать, насколько баловство с шейдерами на этом сайте поможет общему применению. Есть ли отличия в написании кода? Значительны ли они?
Заранее благодарю.
|
(Offline)
|
|
25.03.2012, 15:41
|
#88
|
ПроЭктировщик
Регистрация: 11.10.2011
Адрес: Мурманск
Сообщений: 154
Написано 74 полезных сообщений (для 218 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Сообщение от LLI.T.A.L.K.E.R.
Хотелось бы узнать, насколько баловство с шейдерами на этом сайте поможет общему применению. Есть ли отличия в написании кода? Значительны ли они?
Заранее благодарю.
|
В плане синтаксиса отличий нет, не имеет значения, где в последствие ты будишь использовать свои знания.
__________________
Острый психоз- это когда вы разговариваете с кошкой.
Острый галлюцинаторный психоз - вы говорите с кошкой, которой не существует.
Паранойя - вы боитесь ляпнуть лишнего при кошке.
Шизофрения - иногда у вас появляется кошка, которая разговаривает.
Неврастения - вы жалуетесь кошке, она молчит, игнорирует вас и это для вас невыносимо!!!
Навязчивый невроз - вы уверены, что кошка не одна и они что-то замышляют!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.04.2012, 02:41
|
#89
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Мужики, не получается применить пиксельный шейдер к спрайту - на иных объектах все ок, вопрос: есть ли какой-то специальный подход к спрайтам или к ним тупо не можно применять шейдеры вообще?
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
14.04.2012, 20:35
|
#90
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Xors3D. Шейдеры. Урок первый
Есть объект Poly, можешь его создавать и применять шейдер на него.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:51.
|