Ты >< все новички.
Я не считаю себя новичком в блитце, но в шейдерах я новичок. Несмотря на это, я стремлюсь разобраться, а не скопипастить чужой шейдер "лишь бы работало".
Я расписал на доступном языке
|
Fail. Объясни мне пожалуйста поподробнее вот это:
Out.position = mul(In.position,World); /* домножаем позицию вершины на
мировую матрицу трансформации
*/
Out.position2 = Out.position; // Сохраняем её так-как она нам ещё понадобится
Out.position = mul(mul(Out.position,View),Proj); /* Домнажаем позицию
на матрицу вида и проекции*/
Out.normal = normalize(mul(In.normal,World)); /* Доманажаем нормаль на
мировую матрицу и нормализуем */
Out.tangent = normalize(mul(In.tangent,World)); /* Доманажаем тангент на
мировую матрицу и нормализуем */
Out.binormal = normalize(mul(In.binormal,World)); /* Доманажаем би-нормаль на
мировую матрицу и нормализуем */
Out.texcoord = In.texcoord; // сохраняем текстурные координаты
return Out; // Finish :)
Вот я не понимаю, для чего нужны все эти домножения, я не вижу цельной картины. Вообще ничего не понимаю, что откуда и куда приходит, и главное - зачем.
Считай, что ты ничего не объяснил, просто выложил код шейдера с незначительными комментариями. Объясни пожалуйста лично мне принцип, каким образом это делается? Пока ты не решишь эту задачу - не заслужишь моего "спасибо" а заодно оправдания слова "Статья" в заголовке темы.