[quake3-bugzilla] [Bug 4322] Patch to utilize OpenGL environment mapping

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Fri Nov 6 22:38:44 EST 2009


http://bugzilla.icculus.org/show_bug.cgi?id=4322

Evan Goers <megatog615 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #2189|0                           |1
        is obsolete|                            |

--- Comment #4 from Evan Goers <megatog615 at gmail.com> 2009-11-06 20:22:10 EST ---
Created an attachment (id=2197)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2197)
Updated patch to provide optional switching between old method and new.

Deprecated or not, it is still a feature in OpenGL 1.x, which will be supported
by hardware drivers indefinitely. OpenGL 3.0 should be irrelevant in this case
because Quake 3 itself would be nowhere near 3.0-compliant if its graphics
functions weren't re-implemented in software instead of pure OpenGL calls
anyway.
Currently, most of the renderer consists of graphics capabilities that OpenGL
1.x featured but Carmack implemented in software instead. He did not trust the
driver developers to have fully compliant drivers. However, today graphics
drivers for all major graphics accelerators support OpenGL 1.x enough to
perform the functions used in this patch.

The view-based reflection is apparently the 'correct' way it is supposed to be
done. Consider this: if you look at a reflective object, it changes its
reflection just by your view angle changing. You don't have to move around it
to get it to change reflection.

The main reason I took it upon myself to write this patch is because of an
apparent problem in the Quake 3 renderer causing it to lose performance at a
faster rate than expected when many environment-mapped surfaces are in a single
scene.

Admittedly the Quake 3 software-based environment mapping technique yields
nicer-looking results, but of course at the cost of performance. I have created
a new version of the patch that allows the user to choose the software-driven
method or the hardware-accelerated method.

--- Comment #5 from Thilo Schulz <arny at ats.s.bawue.de> 2009-11-06 22:38:38 EST ---
>> The view-based reflection is apparently the 'correct' way it is supposed to be
>> done. Consider this: if you look at a reflective object, it changes its
>> reflection just by your view angle changing. You don't have to move around it
>> to get it to change reflection.

Have you actually stood in front of a mirror? Because I think real life would
disagree with that assessment. I have prepared a video for demonstration. The
first part is the old quake3 behaviour, the second one is what it looks like
after your patch.

http://thilo.tjps.eu/download/videos/q3_reflectionbug.avi

This is not the way it's supposed to be.

-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list