Jump to content
  • Advertisement
Sign in to follow this  
ava

antialiasing, hdr and a geforce 8800

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

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

Share this post


Link to post
Share on other sites
Advertisement
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
In DX9 at least, you will need to create an MSAA HDR rendertarget and StretchRect to a rendertarget texture.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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.

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!