Ответ: Xors3D. Шейдеры. Урок первый
'Устанавливает булевую постоянную ценность для объекта шейдера'- что это значит?
:crazy: |
Ответ: Xors3D. Шейдеры. Урок первый
rr333, 1/0
|
Ответ: Xors3D. Шейдеры. Урок первый
В 3 части урока я перечислил функции для передачи данных для всего объекта. Думаю не сложно провести аналогию на сюрфейсы. В твоем случае нужно для всего объекта передавать. Думаю не надо быть гением, чтобы в доке найти прототип функции и по нему понять принцип работы.
К тому же, английский нужен в любом случае. Выучить на уровне чтобы читать статьи со словарем - не сложно (кстати школьной программы достаточно). |
Ответ: Xors3D. Шейдеры. Урок первый
И правда, невнимательно прочел статью. Т.е. это функцию xSetEffectFloat и т.п. А на уровне школьной программы я знаю немецкий, хоть и не хотел изучать его. А выше я привел пример моего перевода xSetEffectBool.
|
Ответ: Xors3D. Шейдеры. Урок первый
Слушайте , действительно всё понятно.
Наконецто сбудется моя мечта . Поиграю я в свою игрушку с отстреливанием конечностей и даже ОНА БУДЕТ КРАСИВОЙ С ТЕНЯМИ!!! и ещё РАЗ СПАСИБО!!!!!!!!!!!!!!!!!!! |
Ответ: Xors3D. Шейдеры. Урок первый
У меня не получается получить доступ к элементам вектора. Копирую из документации:
float4 someVector; someVector.x = 1.0f; someVector.y = 2.0f; Ошибка : syntax error: unexpected token '.' |
Ответ: Xors3D. Шейдеры. Урок первый
Проще воспользоватся инициализатором:
float4 value = float4( 1, 2, 0, 0 ); |
Ответ: Xors3D. Шейдеры. Урок первый
Ну а как тогда изменить например только 3 элемент?
|
Ответ: Xors3D. Шейдеры. Урок первый
Попробуй
float4 someVector = float4( 0, 0, 0, 0 );; someVector.x = 1.0f; someVector.y = 2.0f; Видать чего-то компилятору не понравилось. |
Ответ: Xors3D. Шейдеры. Урок первый
Цитата:
Ну просто там все норм и нету никаких ошибок. Хотелось бы конечно полностью увидеть код шейдера. |
Ответ: Xors3D. Шейдеры. Урок первый
Ошибки в этом коде нету.
Вот, попробуй воспользоватьсяс этой прогой, просто скопируй в неё шейдер (или открой ею исходник шейдера), и нажми на билд, он подсветит строку ошибки. http://moka.ucoz.ru/load/0-0-0-110-20 |
Ответ: Xors3D. Шейдеры. Урок первый
Ну вот самый простой пример и та же ошибка:
float4 cvet=float4(.4f,.5f,.9f,1.0f); cvet.y =1.0f; float4 PSMain() :COLOR0 { return cvet; } technique Cv { pass p0 { PixelShader = compile ps_1_4 PSMain(); } } |
Ответ: Xors3D. Шейдеры. Урок первый
думаю вот так будет работать
Код:
float4 PSMain() :COLOR0 |
Ответ: Xors3D. Шейдеры. Урок первый
Заработало! Значит элементы вектора можно изменять только в функции.
|
Ответ: Xors3D. Шейдеры. Урок первый
Кстати а зачем надо было создавать свои семантики для таких как WORLD, VIEW, PROJECTION, VIEWPROJECTION, WORLDVIEWPROJECTION и т.д. добавлением перфиксов "MATRIX_"? Конечно не сложно его добавить, но, как я понимаю, если шейдер будет разрабатываться в другом софте, то ИМХО лучше было-бы оставить общепринятые семантики... или же у вас они тоже поддерживаются?
|
Часовой пояс GMT +4, время: 20:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot