# 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.

## Recommended Posts

Quote:
 Original post by CorefanaticWell, 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 on other sites
Quote:
 Original post by BuckeyeYou 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 on other sites
Quote:
Original post by kauna
Quote:
 Original post by CorefanaticZbuffer: 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 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 on other sites
Quote:
Original post by Corefanatic
Quote:
Original post by kauna
Quote:
 Original post by CorefanaticZbuffer: 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 on other sites
Quote:
 Original post by BuckeyeJust 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 on other sites
Quote:
Original post by kauna
Quote:
Original post by Corefanatic
Quote:
Original post by kauna
Quote:
 Original post by CorefanaticZbuffer: 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 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 on other sites
Quote:
 Original post by kaunaHi,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 on other sites
Quote:
 Original post by kaunaHi,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.

1. 1
Rutin
41
2. 2
3. 3
4. 4
5. 5

• 16
• 18
• 12
• 14
• 9
• ### Forum Statistics

• Total Topics
633360
• Total Posts
3011524
• ### Who's Online (See full list)

There are no registered users currently online

×