forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Xors3D. Шейдеры. Урок первый (http://forum.boolean.name/showthread.php?t=8564)

Knightmare 26.06.2009 17:05

Xors3D. Шейдеры. Урок первый
 
Как и обещалось выкладываю первый урок по использованию шейдеров в Xors3D.
Описываются самые основы. Язык русский, 40 страниц. В архиве PDF и пример к уроку.
Вероятно в последствии будут внесены незначительные изменения.
Скачать

EvilChaotic 26.06.2009 17:23

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от Knightmare (Сообщение 109176)
Как и обещалось выкладываю первый урок по использованию шейдеров в Xors3D.
Описываются самые основы. Язык русский, 40 страниц. В архиве PDF и пример к уроку.
Вероятно в последствии будут внесены незначительные изменения.
Скачать

Наконец!
Красиво оформлен. Спасибо.
Вечерком найду время пройду а щас офф.

ABTOMAT 26.06.2009 18:00

Ответ: Xors3D. Шейдеры. Урок первый
 
Шикарно

falcon 26.06.2009 18:30

Ответ: Xors3D. Шейдеры. Урок первый
 
Здорово!
доступно и понятно :)
поправить правда есть что (ну я о грамматике там...) но эт не очень наверно важно... и сказано было что будут внесены изменения )

impersonalis 26.06.2009 19:12

Ответ: Xors3D. Шейдеры. Урок первый
 
не работаю с Xors3D, но проделанная работа достойна уважения!

Mhyhr 26.06.2009 19:33

Ответ: Xors3D. Шейдеры. Урок первый
 
Замечательно) отныне работаю на Xors3D:-D

cahekp 29.06.2009 11:05

Ответ: Xors3D. Шейдеры. Урок первый
 
Класс! Отлично написано, все ясно, все понятно! :)

IGR 29.06.2009 14:57

Ответ: Xors3D. Шейдеры. Урок первый
 
отдельное спасибо за Русский !!

Randomize 29.06.2009 15:40

Ответ: Xors3D. Шейдеры. Урок первый
 
Эврика! Я понял! Спасибо огромное!
Теперь техника шейдеров и мне под силу!

rr333 19.07.2009 21:14

Ответ: Xors3D. Шейдеры. Урок первый
 
Вот у меня пара воптосов.
1) Как передовать данные в шейдер?
2) Как можно сделать овводку силуэта?
3) Для bump mappingа нужно делать обязательно свой свет? Как сделать omni ясно, а как сделать остальные типы свеиовых источников?
4) И как делать пост эффекты если шейдер накладывается отдельно на один объект?
Заранее спасибо!

Knightmare 19.07.2009 22:10

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от rr333 (Сообщение 111300)
1) Как передовать данные в шейдер?

Какие? А вообще читаем раздел Shaders effects в доке, там все есть.
Цитата:

Сообщение от rr333 (Сообщение 111300)
2) Как можно сделать овводку силуэта?

Вариантов много, гугли.
Цитата:

Сообщение от rr333 (Сообщение 111300)
3) Для bump mappingа нужно делать обязательно свой свет? Как сделать omni ясно, а как сделать остальные типы свеиовых источников?

Если юзаешь шейдеры все освещение писать надо самому. Всегда. Можно только получить данные о источниках света и использовать их.
Цитата:

Сообщение от rr333 (Сообщение 111300)
4) И как делать пост эффекты если шейдер накладывается отдельно на один объект?

Постэффекты не накладываются на объект. Они накладываются на полноэкранный квад, на который натянута текстура сцены.

ABTOMAT 19.07.2009 22:22

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Как сделать omni ясно, а как сделать остальные типы свеиовых источников?
Ну шо вы как маленькие

Данил 19.07.2009 22:25

Ответ: Xors3D. Шейдеры. Урок первый
 
Авт, как ты любишь всех посылать в 7-9 классы :-)

rr333 21.07.2009 12:10

Ответ: Xors3D. Шейдеры. Урок первый
 
Я английский не знаю, поэтому о содержании
раздела о шейдерах могу лишь догадыватся. Может кто-нибудь подскажет как передать в шейдер позицию камеры или время, ну или количество источников освещения.

NitE 21.07.2009 12:44

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Я английский не знаю, поэтому о содержании
а это, простите, кто виноват ? словарь в зубы и вперёд !

rr333 21.07.2009 13:14

Ответ: Xors3D. Шейдеры. Урок первый
 
'Устанавливает булевую постоянную ценность для объекта шейдера'- что это значит?
:crazy:

NitE 21.07.2009 13:29

Ответ: Xors3D. Шейдеры. Урок первый
 
rr333, 1/0

Knightmare 21.07.2009 14:52

Ответ: Xors3D. Шейдеры. Урок первый
 
В 3 части урока я перечислил функции для передачи данных для всего объекта. Думаю не сложно провести аналогию на сюрфейсы. В твоем случае нужно для всего объекта передавать. Думаю не надо быть гением, чтобы в доке найти прототип функции и по нему понять принцип работы.
К тому же, английский нужен в любом случае. Выучить на уровне чтобы читать статьи со словарем - не сложно (кстати школьной программы достаточно).

rr333 21.07.2009 16:17

Ответ: Xors3D. Шейдеры. Урок первый
 
И правда, невнимательно прочел статью. Т.е. это функцию xSetEffectFloat и т.п. А на уровне школьной программы я знаю немецкий, хоть и не хотел изучать его. А выше я привел пример моего перевода xSetEffectBool.

Ganociy 21.07.2009 16:49

Ответ: Xors3D. Шейдеры. Урок первый
 
Слушайте , действительно всё понятно.
Наконецто сбудется моя мечта . Поиграю я в свою игрушку с отстреливанием конечностей и даже ОНА БУДЕТ КРАСИВОЙ С ТЕНЯМИ!!!
и ещё РАЗ
СПАСИБО!!!!!!!!!!!!!!!!!!!

rr333 24.07.2009 20:54

Ответ: Xors3D. Шейдеры. Урок первый
 
У меня не получается получить доступ к элементам вектора. Копирую из документации:
float4 someVector;
someVector.x = 1.0f;
someVector.y = 2.0f;
Ошибка :
syntax error: unexpected token '.'

johnk 24.07.2009 21:37

Ответ: Xors3D. Шейдеры. Урок первый
 
Проще воспользоватся инициализатором:
float4 value = float4( 1, 2, 0, 0 );

rr333 24.07.2009 21:42

Ответ: Xors3D. Шейдеры. Урок первый
 
Ну а как тогда изменить например только 3 элемент?

Render 24.07.2009 21:52

Ответ: Xors3D. Шейдеры. Урок первый
 
Попробуй
float4 someVector = float4( 0, 0, 0, 0 );;
someVector.x = 1.0f;
someVector.y = 2.0f;

Видать чего-то компилятору не понравилось.

Knightmare 24.07.2009 21:54

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от rr333 (Сообщение 111737)
У меня не получается получить доступ к элементам вектора. Копирую из документации:
float4 someVector;
someVector.x = 1.0f;
someVector.y = 2.0f;
Ошибка :
syntax error: unexpected token '.'

Как бы, ты скопировал вот ИМЕННО этот код и не завелось? Или ты его скопировал, чота поменял, и не завлось? И ты уверен что именно в нем ошибка?
Ну просто там все норм и нету никаких ошибок. Хотелось бы конечно полностью увидеть код шейдера.

moka 25.07.2009 04:08

Ответ: Xors3D. Шейдеры. Урок первый
 
Ошибки в этом коде нету.
Вот, попробуй воспользоватьсяс этой прогой, просто скопируй в неё шейдер (или открой ею исходник шейдера), и нажми на билд, он подсветит строку ошибки.
http://moka.ucoz.ru/load/0-0-0-110-20

rr333 25.07.2009 11:03

Ответ: 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();
}
}

jimon 25.07.2009 12:49

Ответ: Xors3D. Шейдеры. Урок первый
 
думаю вот так будет работать
Код:

float4 PSMain() :COLOR0
{
float4 cvet=float4(.4f,.5f,.9f,1.0f);
cvet.y =1.0f;
return cvet;
}

technique Cv
{
pass p0
{
PixelShader = compile ps_1_4 PSMain();
}
}


rr333 25.07.2009 13:15

Ответ: Xors3D. Шейдеры. Урок первый
 
Заработало! Значит элементы вектора можно изменять только в функции.

pax 08.10.2009 17:13

Ответ: Xors3D. Шейдеры. Урок первый
 
Кстати а зачем надо было создавать свои семантики для таких как WORLD, VIEW, PROJECTION, VIEWPROJECTION, WORLDVIEWPROJECTION и т.д. добавлением перфиксов "MATRIX_"? Конечно не сложно его добавить, но, как я понимаю, если шейдер будет разрабатываться в другом софте, то ИМХО лучше было-бы оставить общепринятые семантики... или же у вас они тоже поддерживаются?

Knightmare 08.10.2009 17:18

Ответ: Xors3D. Шейдеры. Урок первый
 
Общепринятых семантик не существует. Хотя типично действительно для матриц используются типа WORLD, VIEW, PROJECTION. Кроме того, стоит учитыавть что данный урок писался под конкретный движок, а не про шейдеры в целом.

pax 08.10.2009 21:10

Ответ: Xors3D. Шейдеры. Урок первый
 
И кстати не нашел у вас семантики TIME, ее бы добавить.

moka 10.10.2009 18:00

Ответ: Xors3D. Шейдеры. Урок первый
 
Тут используются ьобщепринятые семантики, но чтобы как-то разделить типы данных, приняли некие префиксы.
Это лишь имя регистра, а не название матрицы.

Hurrit 15.12.2009 14:03

Ответ: Xors3D. Шейдеры. Урок первый
 
Заинтересовался шейдерами, потому что это слово, наверно, по произносимости стоит третьим после "окей" и "кока-колы". Так вот, вопрос первый, шейдер-это некий код, который работает с каждым вертексем по отдельности, и производит с ними какие то операции, верно?

Knightmare 15.12.2009 14:05

Ответ: Xors3D. Шейдеры. Урок первый
 
Я ж в уроке это расписывал. Вроде. Но в общем да.

Hurrit 15.12.2009 14:07

Ответ: Xors3D. Шейдеры. Урок первый
 
Ну, я просто, проверяю правильно ли понял. То, есть с помощью шейдеров можно даже скейлить и крутить объект?

Knightmare 15.12.2009 14:09

Ответ: Xors3D. Шейдеры. Урок первый
 
С помощью шейдера НУЖНО скейлить и крутить объект.

Hurrit 15.12.2009 14:11

Ответ: Xors3D. Шейдеры. Урок первый
 
Получаются шейдеры будут работать шустрее чем scaleentity, positionentity и тому подобное?

Knightmare 15.12.2009 15:39

Ответ: Xors3D. Шейдеры. Урок первый
 
Врятли быстрее. Они просто заменяют их.

SBJoker 15.12.2009 16:23

Ответ: Xors3D. Шейдеры. Урок первый
 
Шейдеры позволяют изменить стандартный паплайн обработки и рендеринга 3д графики видеокартой. А быстрее будет лишь в случае переноса на шейдеры операций выполняемых CPU.

Bizzy 04.08.2010 14:33

Ответ: Xors3D. Шейдеры. Урок первый
 
Битая ссылка на урок, у кого заволялась, перезалейте плз.

Knightmare 04.08.2010 14:49

Ответ: Xors3D. Шейдеры. Урок первый
 
На сайте трудно поискать, да? http://area.xors3d.com/depository/do...first-steps-ru

Dzirt 11.09.2010 00:21

Ответ: Xors3D. Шейдеры. Урок первый
 
Второй урок планируется...или "Урок первый" это немного неверный перевод слов "First steps" ?)

Knightmare 11.09.2010 00:22

Ответ: Xors3D. Шейдеры. Урок первый
 
Бессмысленная трата времени, всем по**й.

Dzirt 11.09.2010 00:25

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от Knightmare (Сообщение 161610)
Бессмысленная трата времени, всем по**й.

:mad: исправь! нехватало еще чтобы тебя забанили.

Лично мне, нет! Посмотри сколько тебе спасибо народу то сказало в первом посту, это ведь уже сведетельство тому, что народу это нужно.

Knightmare 11.09.2010 00:28

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от Dzirt (Сообщение 161611)
Лично мне, нет! Посмотри сколько тебе спасибо народу то сказало в первом посту, это ведь уже сведетельство тому, что народу это нужно.

Ага, но как никто не умел шейдеры писать, так никто и не умеет.

.Squid 11.09.2010 00:30

Ответ: Xors3D. Шейдеры. Урок первый
 
Да вообще я второй урок почти написал еще в апреле. Но забил. Найт уже сказал почему.
Хотя надо все таки закончить.

Dzirt 11.09.2010 00:36

Ответ: Xors3D. Шейдеры. Урок первый
 
Смотрите уважаемые разработчики.....литературы по шейдерам много(если поискать хорошенько), но она почти всегда о том как писать шейдера на Rendermonkey или NVIDIA FX Composer.....в своё время я многим мозги выё...кхм-кхм...извините....чтобы шейдер после експорта прочитался хорсом(тебе кстати тоже)....напишите хотя бы маленький тутор как это сделать.

.Squid 11.09.2010 00:43

Ответ: Xors3D. Шейдеры. Урок первый
 
Эээ.. Ну надо определенные правки вносить.
Например, если взглянуть на шейдеры из nvidia shader library, то там можно обнаружить специфические участки кода для разных движков. Уже не помню точно для каких именно, но вот почему-то Torque там упоминается.
Так вот. Дельный совет - прочитать первый урок так, чтобы понять, что там написано. Написать несколько шейдеров самому руками. Добиться того, чтобы они работали. Потом можно ковырять более сложные шейдеры, и не важно, с помощью чего они будут написаны.

Dzirt 11.09.2010 00:49

Ответ: Xors3D. Шейдеры. Урок первый
 
Цитата:

Сообщение от .Squid (Сообщение 161616)
Эээ.. Ну надо определенные правки вносить.
Например, если взглянуть на шейдеры из nvidia shader library, то там можно обнаружить специфические участки кода для разных движков. Уже не помню точно для каких именно, но вот почему-то Torque там упоминается.
Так вот. Дельный совет - прочитать первый урок так, чтобы понять, что там написано. Написать несколько шейдеров самому руками. Добиться того, чтобы они работали. Потом можно ковырять более сложные шейдеры, и не важно, с помощью чего они будут написаны.

Так то оно так, согласен......Но все же было бы здорово, если бы после экспорта из редактора код не нужно было переписывать по новой.....ведь работать с редактором намного удобнее.
К примеру на огр сделали конвертер спецльно на эту тему....
Думаю что еслиб была подобная штука и на Ксорс, то интерес к написании шейдеров намного вырос бы.. Мало кто хочет розбирать все нюансы этого дела.

Плюс опять же.....сложно по литературе практиковатся.....если там пишут сделай так....а тебе нужно совсем по другом чтобы ошибку не выбило.

moka 11.09.2010 17:27

Ответ: Xors3D. Шейдеры. Урок первый
 
Угу, это как гейм-мейкером, намного проще делать игры..

Dzirt 11.09.2010 17:48

Ответ: Xors3D. Шейдеры. Урок первый
 
Вложений: 1
Я не писал проще...я писал удобнее.
Хочешь сказать что удобнее уровни делать без редактора.? =)
Гейммейкер-зверь машина! ...здесь и равнять то незачем.:-D
Вложение 11208

pepel 25.11.2010 20:35

Ответ: Xors3D. Шейдеры. Урок первый
 
а можете поправить ссылку? не работает

.Squid 25.11.2010 21:52

Ответ: Xors3D. Шейдеры. Урок первый
 
http://area.xors3d.com/depository/do...first-steps-ru

Mickle_PES_fun 17.01.2011 22:02

Ответ: Xors3D. Шейдеры. Урок первый
 
перезалейте файл плизззз...

Mickle_PES_fun 17.01.2011 22:07

Ответ: Xors3D. Шейдеры. Урок первый
 
извиняюсь, уже все ОК.
а можно ли использовать Xors3D с blitz3d?

Knightmare 17.01.2011 22:08

Ответ: Xors3D. Шейдеры. Урок первый
 
Блджад...

Mickle_PES_fun 17.01.2011 22:09

Ответ: Xors3D. Шейдеры. Урок первый
 
???????

Nuprahtor 17.01.2011 22:09

Ответ: Xors3D. Шейдеры. Урок первый
 
Он имеет ввиду, что можно

Mickle_PES_fun 17.01.2011 22:12

Ответ: Xors3D. Шейдеры. Урок первый
 
парни, вы извините, если туплю, просто я еще сдесь новичёк, нахожусь на уровне "hello, world!":)

Reks888 17.01.2011 22:17

Ответ: Xors3D. Шейдеры. Урок первый
 
"хеллоу, ворлд" можно реализовать на чистом блице, без использования Xors3D.
Кроме того можно сохранить нервы некоторым участникам форума если не качать его(что скорее всего вызовет очевидные вопросы с твоей стороны)

Nex 18.01.2011 07:10

Ответ: Xors3D. Шейдеры. Урок первый
 
Учи Блитз, а потом дойдешь до Хорса..
Цитата:

Сообщение от Mickle_PES_fun (Сообщение 176005)
парни, вы извините, если туплю, просто я еще сдесь новичёк, нахожусь на уровне "hello, world!":)

Слишком глобально. Надо было начинать с "hello, me". :)

CRASHER 12.03.2011 23:10

Ответ: Xors3D. Шейдеры. Урок первый
 
Скажите, есть, илл будет второй урок по шейдерам?

Dzirt 13.03.2011 00:54

Ответ: Xors3D. Шейдеры. Урок первый
 
Выше по теме уже спрашивалось...ответ: скорее всего нет.
Да, с ними можно и самому разобратся....выход в инет есть? Значит литературу подходящую найдешь.
Базу можно конечно и с первого урока почерпнуть, можно считать это первым шагом чтоли.


Часовой пояс GMT +4, время: 21:16.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot