# Strange MRT Problem

## Recommended Posts

Hi guys,

I can't figure out why this is happening:

IDirect3DSurface9* temp_surface;

// the following two textures are half screen size

color_texture->GetSurfaceLevel(0,&temp_surface);
d3d_device->SetRenderTarget(0,temp_surface);
releaseInterface(temp_surface);

depth_texture->GetSurfaceLevel(0,&temp_surface);
d3d_device->SetRenderTarget(1,temp_surface);
releaseInterface(temp_surface);

// don't even do anything with the two textures above

// the following screen_texture is twice the size of the two textures above

screen_texture->GetSurfaceLevel(0,&temp_surface);
d3d_device->SetRenderTarget(0,temp_surface);
releaseInterface(temp_surface);

// just clear it

d3d_device->Clear(0,NULL,D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,32,128),1.0f,0);



That will work perfectly fine if all three textures are the same size. It also works if I comment out the three lines where I set the depth texture. It won't work as is, I just get a black screen.

It was working great until I cut some texture sizes in half to speed up processing, that's why I think everything is set up right.

Thanks.

##### Share on other sites

MRTs in Direct3D9 have to be the same size.

##### Share on other sites
Correct:

All surfaces of a multiple render target should have the same width and height.

The D3D debug layer will complain if you try:
[tt]
[2688] Direct3D9: (ERROR) :Dimensions of render target 1 do not match target 0.
[/tt]

##### Share on other sites

Hey guys,

The two MRTs are the same size.

d3d_device->SetRenderTarget(1,NULL);

***

Unbird, can I get those D3D debug messages in VS's output window when I compile just like regular errors/warnings ? If I can I have to set that up.

Thanks.

## Create an account

Register a new account

• ### Forum Statistics

• Total Topics
628330
• Total Posts
2982112

• 22
• 9
• 9
• 13
• 11