antialiasing, hdr and a geforce 8800
Hello,
We have ourselves a geforce 8800 here and a game with HDR. You probably see my question coming :-)
On the geforce 7800 we could only have AA without HDR. Many of the praise for the 8800 is that HDR with AA has become possible. But what do I have to change so this indeed works?
I set the settings of my graphics card to use AA (4x, 8x or 16x), this works fine, but when I enable HDR it's gone again.
So, what do I have to change/set/alter that this works?
Thanks,
Alex Vanden Abeele
A texture as rendering target does not supports anti-aliasing, you have to render everything to your frame buffer and then copy it to a texture for post-processing.
Indeed, but the problem is that the frame buffer cannot contain values in high range - I suppose, because that's the reason why you should post process high dynamic range values, otherwise the frame buffer could just display the high range values.
Am I wrong here?
Am I wrong here?
In DX9 at least, you will need to create an MSAA HDR rendertarget and StretchRect to a rendertarget texture.
OK. What about rendering everything twice, both into the frame buffer and a texture? Only users with a better graphic card will have FSAA and HDR enable at the same time anyway.
If you have few bright objects you could render only them to texture instead of the entire scene.
If you have few bright objects you could render only them to texture instead of the entire scene.
Quote:Original post by Anonymous Poster
In DX9 at least, you will need to create an MSAA HDR rendertarget and StretchRect to a rendertarget texture.
If I understand this correctly, I render to a high range texture, and stretch rect it to the framebuffer, but how can I create an MSAA HDR texture?
As the anonymous poster said, you need to create a multisampled rendertarget. For OpenGL this is described here.
http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_multisample.txt
- and yes, you do need to render to textures for HDR (16bit) rendering.
http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_multisample.txt
- and yes, you do need to render to textures for HDR (16bit) rendering.
My rendertarget has the format D3DFMT_A16B16G16R16F, I'm using dx9.
What is the format for a MSAA 64 bit rendertarget?
Thanks for all the answers!
Alex
What is the format for a MSAA 64 bit rendertarget?
Thanks for all the answers!
Alex
I'm in a bit of a hurry now so can't write a full reply [wink] Have you downloaded and looked through Nvidia's SDK? It's usually the best resource for these sorts of questions - they use their SDK to give developers the resources to make the absolute most of their hardware, HDR+AA being an obvious candidate [smile]
hth
Jack
hth
Jack
MSAA isn't specified by the format.
Look at the documentation for CreateRenderTarget; you can specify the multisample quality etc there; you should also call CheckDeviceMultiSampleType to check for hardware support.
Part of your confusion may be that you're currently rendering to a rendertarget *texture* (RTT) - ie created via CreateTexture. You can't specify MSAA for an RTT in DX9; instead you must create an RT and StretchRect the result to a separate surface (RTT or original backbuffer) following rendering.
Look at the documentation for CreateRenderTarget; you can specify the multisample quality etc there; you should also call CheckDeviceMultiSampleType to check for hardware support.
Part of your confusion may be that you're currently rendering to a rendertarget *texture* (RTT) - ie created via CreateTexture. You can't specify MSAA for an RTT in DX9; instead you must create an RT and StretchRect the result to a separate surface (RTT or original backbuffer) following rendering.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement