Jump to content
  • Advertisement
Sign in to follow this  
Hello Kitty

backbuffer=backbuffer * texture - blend modes

This topic is 2810 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am making a dx9 ao shader.

I have the ao greyscale image in a texture, and the rendered scene in the backbuffer.

What blendmodes (dx9 fixed function pipeline) would I need to multiply the ao texture against the backbuffer.

something like this : backbuffer=backbuffer*aotexture

I currently have the following, but it is not blending with the backbuffer.

gRender->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_ZERO);
gRender->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
gRender->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
gRender->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
gRender->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2 );
gRender->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );

Is it even possible to blend a texture with the existing backbuffer?


Share this post

Link to post
Share on other sites
The only blend operations supported are listed here. If you need anything else you'll need to render your scene to a render target, and then take that render target along with the AO texture as inputs to a shader that blends them in the way you want.

Share this post

Link to post
Share on other sites
The first 3 lines of code you posted do set up the correct blend mode, i.e.
result = src*0 + dest * source
result = dest * source

The next 5 lines of code seem to be telling the FFP to multiply your AO texture with the vertex diffuse colour -- do you need to do this as well?

What do you mean by "it is not blending with the backbuffer"? Do you end up with the backbuffer, the ao-buffer, just a black screen, etc?

Share this post

Link to post
Share on other sites
No, I dont need to multiply my AO texture with the vertex diffuse colour.

So what should the SetTextureStageStates be?

I only see the ao texture. There is no blending.


Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!