Trenutno radim jedan program u kome vrsim dosta paralelnih racunanja.
CPU ima dosta losije performanse(u ovom slucaju), pa sam odlucio za GPU.
Razumem se malo u 3D programiranje, ali najveci problem mi pravi pisanje shader-a (pixel shader).
Posto sam potpuni pocetnik sto se tice HLSL-a, imam nekoliko pitanja:
npr: Ako imam najednostavniji pxSh
Code:
sampler Screen;
float4 mainSh(float2 texCoord: TEXCOORD) : COLOR
{
float4 color = tex2D(Screen, texCoord);
return color;
}
technique NekaTeh
{
pass Pass0
{
PixelShader = compile ps_2_0 mainSh();
}
}
sampler Screen;
float4 mainSh(float2 texCoord: TEXCOORD) : COLOR
{
float4 color = tex2D(Screen, texCoord);
return color;
}
technique NekaTeh
{
pass Pass0
{
PixelShader = compile ps_2_0 mainSh();
}
}
1. Kao mogu da ekstraktujem iz 'color' dva kanala npr.
RG u jednu promjenjljivu(tipa double)
BA u drugu promjenjljivu(isto)
i da posle racunanja i cega vec to opet upakujem u float4?
2. Kao da dobijem indekse (x,y) trenutnog piksela koji se obradjuje?
Unapred HVALA