Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Paralelno racunanje pomocu HLSL - Problemi

[es] :: 3D programiranje :: Paralelno racunanje pomocu HLSL - Problemi

[ Pregleda: 4099 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SaiCoder
(none)

Član broj: 232158
Poruke: 9
*.teol.net.



+1 Profil

icon Paralelno racunanje pomocu HLSL - Problemi21.02.2011. u 17:32 - pre 160 meseci
Pozdrav svima,

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(); 
    } 



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
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
*.dynamic.isp.telekom.rs.

ICQ: 208550327


+14 Profil

icon Re: Paralelno racunanje pomocu HLSL - Problemi27.02.2011. u 14:59 - pre 160 meseci
Odgovor na 1. pitanje:

HLSL koristi tzv. swizzle operator. Mozes videti detaljnje na netu.

Code:


float4 color;

float2 firstPart = color.rg;
float2 secondPart = color.ba;

float4 colorAgain = float4(firstPart, secondPart); 



Swizzle je fleksibilan, mozes pisati float4 value = color.rrrr. Za vise detalja pogledaj na google pod swizzle HLSL searchom.

Odgovor na 2. pitanje mozes naci ovde:
http://forums.create.msdn.com/forums/p/29835/168065.aspx


EOF
 
Odgovor na temu

[es] :: 3D programiranje :: Paralelno racunanje pomocu HLSL - Problemi

[ Pregleda: 4099 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.