PDA

View Full Version : HDR renderer test



NitroGL
02-05-2003, 09:57 AM
http://www.area3d.net/nitrogl/HDR.zip

I need some people to test this out. You'll need NV30 emulation enabled unless you have a GeForce FX http://www.opengl.org/discussion_boards/ubb/wink.gif
Should run >60FPS on a Radeon 9500/9700.

Controls:
Left mouse button - Rotate
Middle mouse button - Pan
Right mouse button - Zoom
A/Z - Exposure up/down
Q - Dump float buffer to .HDR image (gamma corrected, so use 1.0 curve in HDRShop)

It doesn't REQUIRE floating point buffer support (WGL_ATI_pixel_format_float/WGL_NV_float_buffer), but if either of those aren't supported and ARB_f_p is, it'll look like crap (*shudder* 8bit clamping).

Thanks.

Zeno
02-05-2003, 10:08 AM
Looks good http://www.opengl.org/discussion_boards/ubb/smile.gif. Runs at 63 fps with the default window on the Radeon 9700 here at work.

-- Zeno

PH
02-05-2003, 10:13 AM
Very nice. No problems here ( 74 fps, 9700pro ). Oh, the app doesn't terminate correctly ( it's visible in the task manager after closing the window ).

bakery2k
02-05-2003, 10:13 AM
Fails on GF3 with NV30 emulation.
"WGL_ARB_make_current_read not found".

NitroGL
02-05-2003, 10:28 AM
Originally posted by PH:
Very nice. No problems here ( 74 fps, 9700pro ). Oh, the app doesn't terminate correctly ( it's visible in the task manager after closing the window ).

Yeah, that's a driver bug that's been fixed already.

NitroGL
02-05-2003, 10:31 AM
Originally posted by bakery2k:
Fails on GF3 with NV30 emulation.
"WGL_ARB_make_current_read not found".

Huh...

Hey Matt or Cass, any reson why that isn't supported?

Adrian
02-05-2003, 10:34 AM
Originally posted by bakery2k:
Fails on GF3 with NV30 emulation.
"WGL_ARB_make_current_read not found".

Yeah, same on a GF4600.

davepermen
02-05-2003, 10:39 AM
runs fine here, looks sweet

Humus
02-05-2003, 10:50 AM
Looks fine here.

Odd about the WGL_ARB_make_current_read though, cause it seams to be supported all the way from Rage128 on the ATi side:
http://www.delphi3d.net/hardware/extsupport.php?extension=WGL_ARB_make_current_read

V-man
02-05-2003, 11:05 AM
Can you post some screen shots at least or create a workaround?

There are a few hundred extensions and for some reason, one company supports one particular ext and the other ignores it. That's life!

Adrian
02-05-2003, 11:08 AM
If someone emails them to me I'll upload them.

It seems www.nitrogl.com (http://www.nitrogl.com) is down....

NitroGL
02-05-2003, 11:12 AM
Originally posted by V-man:
Can you post some screen shots at least or create a workaround?

There are a few hundred extensions and for some reason, one company supports one particular ext and the other ignores it. That's life!


http://www.area3d.net/nitrogl/shot0.jpg

Is there another way to "emulate" the make current read extension? (other than copying to a texture)

Humus
02-05-2003, 02:17 PM
What do you need to make_current_read extension for?

NitroGL
02-05-2003, 02:30 PM
Originally posted by Humus:
What do you need to make_current_read extension for?

glCopyPixels, I use it to transfer the float buffer to the frame buffer (both are single buffered).

dorbie
02-05-2003, 03:06 PM
Looks good on Radeon 9700 with Athlon.

75 fps with app pref aa & aniso
60 fps with aa & aniso forced on although I don't actually get aa due to the fp buffer & copy approach.

pocketmoon
02-05-2003, 03:08 PM
Originally posted by NitroGL:
glCopyPixels, I use it to transfer the float buffer to the frame buffer (both are single buffered).

I use wglMakeCurrent(hDC, hRC) in my NV30 demos.

Why not RT(fp)T and use a shader to render the texture to the frame buffer ?

NitroGL
02-05-2003, 03:11 PM
Originally posted by pocketmoon:
Why not RT(fp)T and use a shader to render the texture to the frame buffer ?

Because I utterly despise the render texture extenion, and CopyPixels is faster than CopyTex[Sub]Image.

OpenGL needs that new render texture extension... *sigh*

pocketmoon
02-05-2003, 03:13 PM
Originally posted by NitroGL:
Because I utterly despise the render texture extenion, and CopyPixels is faster than CopyTex[Sub]Image.

OpenGL needs that new render texture extension... *sigh*


When my long awaited GFFX turns up I'll gladly test the app, and also try CopyTex vs CopyPixels for rendering a float buffer http://www.opengl.org/discussion_boards/ubb/smile.gif

V-man
02-06-2003, 06:42 AM
Originally posted by NitroGL:

Is there another way to "emulate" the make current read extension? (other than copying to a texture)

Well, since you say you are using float buffers and non of us NV folk have hardware support for it...

May I say that looks superb. Add a nice underwater background with the sun shining from above and a few of these bubbles rising up, warping around. Maybe it will end up as a demo at ATI. The background is from the ATI media pack, right?

VikingCoder
02-06-2003, 07:10 AM
Very nice! I particularly like the magnifiying effect of looking directly at a light through the sphere.

Unfortunately, I see a seam in the sphere...
www.matt.cruikshank.com/Seam.jpg (http://www.matt.cruikshank.com/Seam.jpg)

ATI Fire GL X1 Driver Version 6.13.10.1028

NitroGL
02-06-2003, 07:27 AM
Originally posted by VikingCoder:
Very nice! I particularly like the magnifiying effect of looking directly at a light through the sphere.

Unfortunately, I see a seam in the sphere...
www.matt.cruikshank.com/Seam.jpg (http://www.matt.cruikshank.com/Seam.jpg)

ATI Fire GL X1 Driver Version 6.13.10.1028

Thanks http://www.opengl.org/discussion_boards/ubb/smile.gif It's all per-pixel too, the vertex program is pretty much only transforming vertices, the fragment programs do all the work.

Yeah, that seam is caused by unmatched texture coords and the vertices have to be duplicated, and unfortuantly no one has been able to tell me a way around it. And I'm already welding the model when it's loaded up (it goes away if I ignore the tex coords when welding, but that screws up the tex coords).

fresh
02-06-2003, 09:04 AM
Originally posted by pocketmoon:

When my long awaited GFFX turns up I'll gladly test the app, and also try CopyTex vs CopyPixels for rendering a float buffer http://www.opengl.org/discussion_boards/ubb/smile.gif

Make sure your house has insurance against fires http://www.opengl.org/discussion_boards/ubb/biggrin.gif

NitroGL
02-06-2003, 10:35 PM
Ok, I've updated it (same link as above), so now it doesn't require support for ARB_make_current_read.

If the extension isn't found, the final combine (post processing, gamma correction, exposure) is done using the frame buffer instead of on the float buffer (you probably wouldn't notice a difference... Other than the screen shots having the FPS overlay).

It should work on NV30 emulation now.

*pokes nVidia* Where's my make current read?! http://www.opengl.org/discussion_boards/ubb/wink.gif

Edit:
BTW, the reason I really didn't didn't want to do it that way, is because it destroys the HDR screen shots (clamps the output to [0.0,1.0] instead of float output).

[This message has been edited by NitroGL (edited 02-06-2003).]