Jump to content
  • Advertisement
Sign in to follow this  
Corefanatic

DX9 Render target size

This topic is 2887 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

Quote:
Original post by Corefanatic
Well, I do link against the debug versions and in Visual Studio Debug output I do get messages from D3DX like : D3DX: (INFO) Using SSE2 optimizations.
D3DX debug spew comes from linking d3dx9d.lib. Do you get any debug output from D3D9? You should at least get a message saying it's using a HAL HWVP device or similar.

EDIT: Ninja'd again!

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Buckeye
You can set the level of debugging messages. That's why we posted the link to the DruinkJournal. Did you check the DX control panel?

EDIT: The messages should come from Direct3D, not D3DX.

Ex:

Direct3D9: (INFO) :Direct3D9 Debug Runtime selected.


( EDIT2: C'mon, Steve. Keep up! [smile])


Ok, got the proper debug now but no errors or warnings related to textures or render targets when I step through the code, just few warnings about vertex buffers after loading .x mesh.

Share this post


Link to post
Share on other sites
Quote:
Original post by kauna
Quote:
Original post by Corefanatic
Zbuffer: AutoDepthStencilFormat = D3DFMT_D16;


I meant the width*height of the z-buffer, not the bit depth.


I don't explicitly set it, I assume D3D does that automatically from my window size.

Share this post


Link to post
Share on other sites
Just for fun, try m_RT1->GetLevelDesc and see if all the parameters in D3DSURFACE_DESC are correct. Obviously, width and height should be as requested.

Share this post


Link to post
Share on other sites
Quote:
Original post by Corefanatic
Quote:
Original post by kauna
Quote:
Original post by Corefanatic
Zbuffer: AutoDepthStencilFormat = D3DFMT_D16;


I meant the width*height of the z-buffer, not the bit depth.


I don't explicitly set it, I assume D3D does that automatically from my window size.


So logically, if your window size is smaller than 1024*1024, then rendering to a 1024*1024 render target will fail, since your z-buffer will be the same size as the back buffer.

I am not saying that this is the case, but just something to verify.

Share this post


Link to post
Share on other sites
Quote:
Original post by Buckeye
Just for fun, try m_RT1->GetLevelDesc and see if all the parameters in D3DSURFACE_DESC are correct. Obviously, width and height should be as requested.


Seems correct, format is as I set it,

Type is D3DRTYPE_SURFACE
Usage is 1
Pool is D3DPOOL_DEFAULT
MultiSampleType is D3DMULTISAMPLE_NONE
MultiSampleQuality is 0
Width and Height are 1024 which doesn't work

Share this post


Link to post
Share on other sites
Quote:
Original post by kauna
Quote:
Original post by Corefanatic
Quote:
Original post by kauna
Quote:
Original post by Corefanatic
Zbuffer: AutoDepthStencilFormat = D3DFMT_D16;


I meant the width*height of the z-buffer, not the bit depth.


I don't explicitly set it, I assume D3D does that automatically from my window size.


So logically, if your window size is smaller than 1024*1024, then rendering to a 1024*1024 render target will fail, since your z-buffer will be the same size as the back buffer.

I am not saying that this is the case, but just something to verify.


I think you are onto the problem, my height is less than 1024. Also, the backbuffer size is probably less then my window size since the window frame takes a bit off.

What is the best way to find out the backbuffer size after it's been created?

Share this post


Link to post
Share on other sites

Hi,

IDirect3DSurface9 *pZStencilSurface;

you can get the z-buffer/stencil with device->GetDepthStencilSurface(&pZStencilSurface);

You may create a separate depth-stencil surface to use with your 1024x1024 render target.

Cheers!

Share this post


Link to post
Share on other sites
Quote:
Original post by kauna

Hi,

IDirect3DSurface9 *pZStencilSurface;

you can get the z-buffer/stencil with device->GetDepthStencilSurface(&pZStencilSurface);

You may create a separate depth-stencil surface to use with your 1024x1024 render target.

Cheers!


Ok, solved it, the dimensions of my backbuffer and therefore the depthbuffer were slightly smaller than my window size, therefore nothing rendered. After I got the right dimensions from my backbuffer, the render target works as intended.

Thx for everyone's help.

Share this post


Link to post
Share on other sites
Quote:
Original post by kauna

Hi,

IDirect3DSurface9 *pZStencilSurface;

you can get the z-buffer/stencil with device->GetDepthStencilSurface(&pZStencilSurface);

You may create a separate depth-stencil surface to use with your 1024x1024 render target.

Cheers!


Ok, solved it, the dimensions of my backbuffer and therefore the depthbuffer were slightly smaller than my window size, therefore nothing rendered. After I got the right dimensions from my backbuffer, the render target works as intended.

Thx for everyone's help.

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!