[quake3-bugzilla] [Bug 4358] Assorted renderer changes patch (VBO, GLSL, "modern" techniques etc.)

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Mon Jun 18 23:08:17 EDT 2012


https://bugzilla.icculus.org/show_bug.cgi?id=4358

James Canete <use.less01 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #3088|0                           |1
        is obsolete|                            |
   Attachment #3098|0                           |1
        is obsolete|                            |

--- Comment #68 from James Canete <use.less01 at gmail.com> 2012-03-21 03:08:11 EDT ---
Created attachment 3098
  --> https://bugzilla.icculus.org/attachment.cgi?id=3098
v29 of renderer patch

v29.

Lots of changes again.

-Added Torrance-Sparrow specular, activated with r_specularMapping 4.  I read
up on this (specifically
http://www.gamedev.net/topic/594687-finally-nailing-the-torrance-sparrow-shader-once-and-for-all/
and the code linked), and after playing around with the equations, I realized
that it's actually pretty close to the TriAce specular I already have, only the
scaling factor was different and a couple of other factors were missing, so
implementing this was trivial.
-Added automatic normal map generation, activated with r_genNormalMaps 1,
defaults to 0.  This uses a Sobel filter to naively create a normal map for
pretty much every texture that comes by, and uses them when appropriate.  It's
currently pretty wasteful memory-wise, and really doesn't look very good.
-Added sRGB support, activated with r_srgb 1, defaults to 0.  This uses
GL_EXT_texture_sRGB to load all diffuse and specular textures as if they're in
the sRGB colorspace, and also uses GL_EXT_framebuffer_sRGB to set the
pre-screen frame buffer to the sRGB colorspace, so everything displays
properly.  This is most useful when dealing with HDR, so lighting calculations
are done in proper linear space, but isn't really useful with LDR or assets
that weren't created with it in mind, as it tends to wash out those.
-Changed the tone mapping to a more filmic version, as described in
http://filmicgames.com/Downloads/GDC_2010/Uncharted2-Hdr-Lighting.pptx . 
-Various small changes and fixes.

Known bugs:
-r_dlightMode 2 is broken (again)
-MD4 is probably still broken (haven't looked at it yet)

--- Comment #69 from James Canete <use.less01 at gmail.com> 2012-06-18 23:08:11 EDT ---
Created attachment 3228
  --> https://bugzilla.icculus.org/attachment.cgi?id=3228
v30 of renderer patch

After a long while, v30.

The biggest change in this one is cascaded shadow maps.  I haven't quite worked
out a good way to hook them up for map makers yet, so currently there's only
"r_testSunlight 1" to mess around with.  They work with pretty much any map
with a skybox.  There may be a bug with skyportals though, this requires more
testing.

There's a bunch of other fixes, but I don't remember all of them, so here's the
relevant part of the changelog from Reaction:
- Add r_depthPrepass.
- Improve parallax mapping
- Add AVG_MAP, BLACK_LEVEL, and WHITE_LEVEL defines to tonemap shader
- Fix a bug in fragment shader tangent space calculations
- Fix a bug in new curves code
- Change imagelist cmd to give more relevant information
- Remove DiffuseRoughness shader param, add SpecularExponent shader param
- Change R_SubdividePatchToGrid() to subdivide patches more evenly
- Calculate tangent space in fragment shader instead of storing per vertex
- Fix sun flare with sky portals.  Sun flare must be inside sky portal.
- Speed up tone mapping
- Add fast light shader path when r_normalMapping and r_specularMapping are 0
- Revise FBO blitting code (Still needs more work)
- Detect GLSL version
- Use GL_EXT_draw_range_elements
- Reserve FBOs before shaders, as recommended in nvidia docs
- Minor tweak in VBO allocation.
- Update tr_font.c to ioq3 latest (r2232)
- Minor image code cleanup.
- Added support for LATC(normalmaps) and BPTC(everything else) image
compression
- Use faster framebuffer blits whenever possible.
- Optimized lightall shader for older hardware.
- Fixed case in GLSL_PrintInfoLog when log is 0 length.
- Clear render buffer on allocate, fixes corrupt screen issue
- Use GL_RGB16_F instead of GL_RGBA16_F for hdr render buffer
- Don't reserve render buffers when textures are used for a FBO.  Fixes a crash
when GPU memory is at a premium.

-- 
Configure bugmail: https://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