Войти
ПрограммированиеФорумГрафика

Программирование шейдеров на HLSL. (Комментарии к статье) (5 стр)

Страницы: 14 5 6 710 Следующая »
#60
10:53, 26 июля 2004

Dusk

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


#61
23:13, 26 июля 2004

fr
ну простая очепятка.....

#62
23:31, 26 июля 2004

Иннокентий

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

#63
20:51, 27 июля 2004

fr
>> очень неплохая хотя и немного сумбурная.
ага, есть немного :) Мне чего-то захотелось там все переписать.

#64
16:04, 31 июля 2004

>Иннокентий
>там еще есть, просто наверно можно было компильнуть перед отправкой, а статья как введение очень >неплохая хотя и немного сумбурная.

Сумбурное все, главное твое желание.

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

А поповоду стоящего бампа на ps2.0 можно и написать так сказать аккуратнее и с компилируемыми исходниками.

#65
7:19, 6 янв. 2005

Народ!

Почему при компиляции примера из статьи (Dizzy эффект).
Выдается ошибка error X4541: vertex shader must minimally write all four components of POSITION
на этом шейдере

float4 main(float2 texCoord: TEXCOORD0) : COLOR
{
  float ang = atan2 (texCoord.x, texCoord.y);
  float rad = dot (texCoord, texCoord);

  return 0.5*(1 + sin (ang + rings * rad + time));
};

#66
9:36, 6 янв. 2005

OLEG'us
Это - пиксельный шейдер, его надо компилить как пиксельный, а не как вершинный.

#67
6:30, 14 янв. 2005

Никто с NVIDIA плагином NVBExplorer для макса не работал? Если я с вопросом не по адресу, посоветуйте пожалуйста где можно узнать. Я первый раз в форуме:)

#68
6:37, 14 янв. 2005

И еще, пожно ли в шейдере при альфа блендинге получить доступ к dst цвету(в буфере кадра) если можно то как, а если нет, то как через шейдер смешение цветов делать?

#69
15:18, 11 фев. 2005

Zeux
Cпасибочки за ответ, хоть я и сам потом разобрался
(я не волшебник - я только учусь : как говорится)
но всёравно спасибо,

А вот с бампмепингом у меня вышла такая загагулина

  это вращение источника света вместе с объектом,
  причём какоето неупорядоченное вращение
  вернее не совсем неупорядоченное, т.к. какойто логике поддаётся,
  а вот какой высказать не смогу

Вот что я делаю с канстантами
m_matMVP – транспанированная (миравая * вид * проекцию) (всё матрици соответственно)
m_matWorld – (миравая) - соответственно содержит координаты и все вращения объекта
m_vLightPos = D3DXVECTOR4 vec_light(0, 1000, 1000, 1);
m_vViewPos = D3DXVECTOR4 v_ViewPos(0,0,30,1);
m_vAmbient = D3DXVECTOR4 m_vAmbient(1,1,1,1);
m_vDiffuse  = D3DXVECTOR4 m_vDiffuse(1,1,1,1);
m_vSpec      = D3DXVECTOR4 m_vSpec(1,1,1,1);
m_vHelper  = D3DXVECTOR4 m_vHelper(1,1,1,1);


Помогите если что не так делаю


Разобрался с проблемой просто вместо
m_matWorld – (миравая) - соответственно содержит координаты и все вращения объекта
надо передовать транспанированную матрицу мира.

Вот так

#70
23:09, 17 фев. 2005

OLEG'us
>m_matWorld – (миравая) - соответственно содержит координаты и все вращения объекта
Нет, я тогда сам ошибся :( это инвертированная модель вью матрица... а не ворлд.

#71
11:57, 2 мар. 2005

Полгода у меня GameDev был недоступен, а сейчас вот зашёл, и сразу на эту статью наткнулся.
Действительно всё описано здорово и понятно, вот только я так и не понял, куда конкретно вставлять этот код в C++ и как говороть растеризатору каким шейдером пользоваться и пользоваться ли вообще.
Может кто-нибудь покажет пожалуйста.

D3D_Device->SetVertexShader ( Bla , Bla );  //Вот бы что-нобудь типа этого посмотреть :).

А вообще, написано очень хорошо. Я долго искал инфу по шейдерам. И наконец нашёл :).

#72
12:00, 2 мар. 2005

Извиняюсь. Забыл поставить галочку - получать на мыло. :)

#73
17:32, 28 мар. 2005

не могли бы вы немного пояcнить эту формулу (спекулар по Фонгу) -

 Ispecular=ks×Is×(V•R)^n

где R=reflect (–norm(V), N)

почему для расчета R берется V, если R - это рефлект L относительно N?
или я опять не вижу что-то важное?

#74
18:34, 28 мар. 2005

/\AMEP
Ну, как видишь, во второй строчке написано, что R - это рефлект V относительно N.

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

Страницы: 14 5 6 710 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.