Toon posts:

[HLSL] Geen beeld uit render target met Screen Aligned Quad

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers,

Ik probeer aan de hand van het boek 'Shaders for Game Programmers and Artists' mezelf het 1 en ander over shaders aan te leren, helaas loop ik vast op een van de tutorial onderdelen van het boek.

In de tutorial (met RenderMonkey van AMD) wordt getracht eerder geconstrueerde passes naar een texture (render target) te laten renderen en deze in een 3de pass d.m.v. een screen aligned quad af te beelden op het scherm. Ik blijf echter, zelfs met de code uit het boek en andere code online, met een zwart beeld zitten. De vorige passes renderen zover ik kan zien wel prima, aangezien als ik 'render to screen' selecteer voor de tweede pass, het beeld wel prima weergegeven wordt.

Is er iemand die mij in de goede richting kan sturen?

Ik gebruik de volgende shaders:

Vertex shader:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
float4x4 matViewProjection;

struct VS_INPUT 
{
   float4 Position : POSITION0;
   float2 TexCoord : TEXCOORD0;
};

struct VS_OUTPUT 
{
   float4 Position : POSITION0;
   float2 TexCoord : TEXCOORD0;
   
};

VS_OUTPUT vs_main( VS_INPUT Input )
{
   VS_OUTPUT Output;

   Output.Position      = float4(sign(Input.Position.xy),0.0,1.0);
   Output.TexCoord.x    = (Output.Position.x+1.0) * 0.5;
   Output.TexCoord.y    = 1.0 - ((Output.Position.y+1.0) * 0.5);
   
   return( Output );
   
}


Pixelshader:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sampler Texture0;

struct PS_INPUT 
{
   float2 TexCoord:       TEXCOORD0; 
};

struct PS_OUTPUT 
{
   float4 Color    : COLOR0;
};

PS_OUTPUT ps_main(PS_INPUT Input)
{   
   
   PS_OUTPUT Output;
   Output.Color = tex2D(Texture0, Input.TexCoord);
   
   return (Output);
}

[ Voor 5% gewijzigd door Verwijderd op 22-02-2009 14:23 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmm.. Als ik CULLMODE op NONE zet, dan zie ik dus wel wat ik zou moeten zien. Camera standpunt probleempje oid? :?

Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Verwijderd schreef op zondag 22 februari 2009 @ 14:27:
Hmm.. Als ik CULLMODE op NONE zet, dan zie ik dus wel wat ik zou moeten zien. Camera standpunt probleempje oid? :?
Je hebt je quad verkeerd om gedefineerd / je camera staat aan de verkeerde kant van je Quad.

probeer de definitie van je vertices voor je quad om te draaien of de camera aan de andere kant te zetten. (merk op dat bijvoorbeeld z+ meer in je monitor is, dus je camera zou moeten staan op iets van x=0; y=0; z=-10; (ofzoiets).

als je culling uit zet dan worden ook de achterkanten van objecten getekend, in dit geval dus de achterkant van je quad :)

~ Mijn prog blog!