Ух ты, КАКОЙ ответ!) Аж любо смотреть - так все разжевано и развернуто!))) Эхх, если б так Все делали... Спасибо тебе, добрый человек!)
Все заработало как часики швейЦарские) Правда с пропорциями квада чтото не то - какой-то сплющенный он получился
struct vsi
{
float4 position : POSITION;
float3 texCoords : TEXCOORD0;
float4 color : COLOR;
};
struct vso
{
float4 color : TEXCOORD1;
float4 position : POSITION;
};
vso VS(vsi i)
{
vso o;
o.position = mul(i.position, viewProj);
if (i.texCoords.x > 0){o.position.x += 1.0f;} else{o.position.x -= 1.0f;}
if (i.texCoords.y > 0){o.position.y += 1.0f;} else{o.position.y -= 1.0f;}
o.color = i.color;
return o;
}
float4 PS(vso vo) : COLOR0
{
return vo.color;
}
А на счет w-координаты есть инфа? Или как еще можно идентифицировать каждую частицу в шейдере?
И еще вопрос: есть функции для передачи в шейдер инфу всякую, ОК. Беру из документации одну такую, и тут компилятор как заорет! Грит, Я положил свой массив туда где якобы должен быть хэндл. Ну ладно - смотрю входные параметры этой функции а там - И вправду нужен какой-то Handle value! НУ ЛАДНО, думаю мож надо передать каким-то макаром адрес массива в целочисленном виде - фиг тебе! - сказала студия и Я остался сам на сам с чистым недоумением - чяднт?
ЗЫ: почему ты в выходной структуре вершинного шейдера семантику цвета определил как тексКоординаты?