forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Имитация водной поверхности. (http://forum.boolean.name/showthread.php?t=15000)

dsd 30.06.2011 12:47

Ответ: Имитация водной поверхности.
 
http://netlib.narod.ru/library/book0...ges/f02_09.jpgВот эта матрица нужна только для пиксельных шейдеров?

И когда я хотел в стандартном блитце откуда то выцарапать projectedz() и на основе полученной информации манипулировать нормалью вершины, с целью правильного самозатенения.(проецировал на камеру расположенную в источнике света и направленную по его вектору). То это была потуга самодельного пиксельного шейдера, что ли?

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

Mr_F_ 30.06.2011 13:19

Ответ: Имитация водной поверхности.
 
Цитата:

Вот эта матрица нужна только для пиксельных шейдеров?
Цитата:

и чет нигде не увидел создание источника света, а только сферы, которая походу служит маркером для координат света. То есть обычный свет в сцене для шейдеров вреден?
вертекс шейдеры полностью с нуля считают позиции вертексов и другие данные на каждый вертекс.
чтобы показать на экран геометрию, имея координаты её вертексов в пространстве объекта - тебе надо умножить их сначала на world матрицу (это матрица трансформаций объекта, она содержит позицию, ротейт, скейл. без неё ты тоже увидишь объект на экране, но в нуле координат, неротированный, с единичным скейлом), потом на view матрицу (это инвертированная матрица трансформаций камеры - при умножении на неё, мы получаем что позиция камеры - это ноль координат, то же самое и с вращением, проще говоря пододвигаем всю геометрию к камере), потом на projection, который ты и указал - это сложная матрица, которая сделает перспективное сокращение.
в реале можно перемножить все эти матрицы заранее и подавать как одну WorldViewProj, одним умножением на которую, можно получить объект в нужном месте - ксорс позволяет её сразу передавать.

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

dsd 30.06.2011 13:24

Ответ: Имитация водной поверхности.
 
Я походу скоро к вижуал студии деградирую >_<

h1dd3n 30.06.2011 14:37

Ответ: Имитация водной поверхности.
 
И обнаружишь что писать код там очень удобно, а для подсветки hlsl, fx файлов есть NShader.

dsd 30.06.2011 14:38

Ответ: Имитация водной поверхности.
 

Это значит, что мне нужно обновить директикс или видеокарту?

moka 30.06.2011 14:40

Ответ: Имитация водной поверхности.
 
Возможно видяшка кубмапы не держит.. :(

dsd 30.06.2011 14:48

Ответ: Имитация водной поверхности.
 
Intel gma 950 вообще не видеокарта по ощущениям(matrox g400 и то резче в разы был в паре с более дохлым вторым пнем, нежели атом). Ладно присоветуйте мне ноут, есть разница для меня между intel'вским 3000 встроенным видео и 540gt? Или при условии отсутствия разницы для хорса лучше взять с более шустрым процем и встроенным видео?

А пока я так понимаю есть смысл экспериментировать с шейдерами 1.0 ?

Шейдер морф, на глаз похож на умножение координат вершин на соs^2(f(x)+time) или нечто похожее :)

moka 30.06.2011 15:27

Ответ: Имитация водной поверхности.
 
А почему именно ноут? Это не комфортно и ущербно за большие деньги при этом? В разы лучше работать на хорошем стационарнике не?
С любыми шейдерами хорошо, главное начать, не важно с какой версии. С 1.0 даже лучше - научишься базе.

maxturbo 30.06.2011 15:55

Ответ: Имитация водной поверхности.
 
Цитата:

Сообщение от dsd (Сообщение 193778)
Я походу скоро к вижуал студии деградирую >_<

Если дойдешь до VisualStudio и API DirectX то тогда вообще будет все понятно как это работает, все эти матрицы, шматрицы и т. д. :)

moka 30.06.2011 16:03

Ответ: Имитация водной поверхности.
 
Только это не "деградация", а развитие.

dsd 30.06.2011 18:04

Ответ: Имитация водной поверхности.
 


Зачем матрицы по четыре элемента в ряду имеют? Что четвертый в визуальном смысле значит? И вот допустим в соответствующей ячейке стоит интересующая меня буква, то чтобы получить эту букву я должен просто найти определитель матрицы этого элемента? Это и будет сей параметр? Пардон за тупость, но последний раз с матрицами я работал в 2002 и 2003 году. А книжку по линейной алгебре я тогда только в папке носил, читать брезговал :( Вот это мне поможет?
Что из алгебр из этого списка читать?http://eqworld.ipmnet.ru/ru/library/...cs/algebra.htm

moka 30.06.2011 18:41

Ответ: Имитация водной поверхности.
 
Почитай не алгебру, а литературу относительно разработке игр и матриц в этой области. Там часто всё разжёвывают как надо.

dsd 30.06.2011 18:45

Ответ: Имитация водной поверхности.
 
Сцылку! С удобочитаемой, пожалста :rolleyes:

moka 30.06.2011 19:24

Ответ: Имитация водной поверхности.
 
gamedev.ru
google.com

dsd 30.06.2011 19:37

Ответ: Имитация водной поверхности.
 
Спасибо, гуру. Но походу матрицы эти для разработки шейдера нахрен не нужны. Я походу снова начал рыть не в ту строну, гребанные рефлексы. :-D

Мало знать о многом, походу вредно :)


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

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