Enhanced OpenGL 3.0

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

FieldMedic

Less good UT Player ever
Aug 30, 2001
1,134
0
36
Chris Dohnal released the version 3.0 of his OpenGL render
http://cwdohnal.home.mindspring.com/utglr/

direct download link there
I did not tested it yet, but it seems to be a major release

Version 3.0 is released. It adds a few new major features.

Single pass fog
Support for single pass fog mode is now present in the OpenGL renderer. It requires at least 3 texture units and support for the GL_ATI_texture_env_combine3 extension or the GL_NV_texture_env_combine4 extension. The bad news is that if you don't have an ATI or NVIDIA video card, you probably can't use single pass fog mode since there is no standard extension that provides access to the required texture blending mode (for fixed function), and it looks like other vendors decided not to support either of these extensions. The SinglePassFog option enables single pass fog mode if supported.

DetailMax
Support for an extra detail texture layer was added. This feature is already present in some OpenGL renderers from Oldunreal and some Direct3D renderers. The extra detail texture layer, which adds even more detail at short distances, can be enabled by settings DetailMax to 2. If set to 0 or 1, standard one layer detail texturing will be used if detail textures are enabled. I limited DetailMax to 2 because my testing showed that the third layer only starts to blend in when right up against a wall, at which point it makes almost no difference. Also, the second detail texture layer will not show up unless SinglePassDetail is disabled.

Masked S3TC texture support
Masked S3TC textures are given an RGBA format that supports single bit masking instead of an RGB format that does not like in previous renderers. This is enabled by default and hopefully does not break any existing uses of textures. The new debug option NoMaskedS3TC can be used to disable this feature (though it really should be considered a fix for a bug that's always been there). If creating new masked S3TC textures, this option can also be used to see how they would look with an older renderer that does not support masked S3TC textures. Also note that this change most likely will not fix existing problems with black areas in older original S3TC skybox textures since all of these do not appear to have been encoded with proper masking information.

ZRangeHack
I activated the experimental ZRangeHack code, fixed a few things, and adjusted it a little bit for safety. There's still some risk, so no guarantee it works in all cases. This hack fix isn't enough to make a 16-bit z-buffer work. It can however fix the problem with decals flickering in the distance with 24-bit z-buffers. It will also fix the issue with the Redeemer covering up part of the HUD. It may have the same effect on other similar weapon models used in various mods, though I didn't test any of these potential cases, so I can't say for sure, or if it might cause problems in these cases. Set ZRangeHack to True to enable this experimental option.

Notes and other minor changes
The single pass fog support was difficult to add for the OpenGL renderer. NVIDIA, ATI, and others involved with OpenGL in this area really made a mess out of things here. NVIDIA has one extension, GL_NV_texture_env_combine4, that provides access to great functionality that should have always been the standard at this level, but does a lot of bad things in the way the extension was implemented. The ATI extension, GL_ATI_texture_env_combine3, doesn't seem too bad, though there are still things I don't like about this and how tex env stuff in general ended up in OpenGL. Unfortunately, no other vendors appear to support the simpler ATI extension that provides minor additional functionality, which their hardware most likely supports. So, for myself and other developers interested in using this functionality, we get to write and test two different code paths to support NVIDIA and ATI, and end up without access to certain features on other video cards unless using fragment programs or Direct3D. I pulled some previous optimization to implement single pass fog mode, though the overall effect should be very minor. This could be fixed, but it's even more extra work, including testing the updates on two different video cards.

Enabling ZRangeHack will slow things down a little bit, but the difference will probably still be very small. It would be better if the issues this hack fix addresses could be dealt with in higher level code, but it has been a while, and with not much else to add, I decided to try adding this one, mainly to get rid of the flickering decals with 24-bit z-buffers that will be the maximum available on most video cards for quite a while it seems.

I added some minor optimizations and one or two minor fixes. There's some new inline assembly for the various gouraud polygon buffering functions. It will help fogged triangles on all systems, the colored triangles path on systems without SSE support, and the buffer additional triangles path on all systems. I also ran some benchmarks on the new code that buffers 3 vertices on my P4 2.8C. For colored, execution time is reduced by 7.5%, and it's 15% for fogged. The existing SSE colored function reduces execution time by an additional 25% compared to the new colored function with the improved inline assembly. But, the architecture of the renderer that I can't change isn't really designed for moving lots of polygons quickly, so due to high overhead, these changes will make very little difference overall.
 

zeep

:(
Feb 16, 2001
1,741
1
36
Visit site
yeh i'm about to test drive this puppy yay! lets see if this can get me an extra frame in smoke areas.
 

zeep

:(
Feb 16, 2001
1,741
1
36
Visit site
I feel that smoke is rendered faster now. I don't get that noticeable fps hit anymore. 2ghz athl / 9800pro here btw.

On the other hand, i can't see the difference with Detailmax on/off. Oh never mind...
Also, the second detail texture layer will not show up unless SinglePassDetail is disabled.
.. must learn to read better ;)