<html>
    <head>
      <base href="https://bugzilla.icculus.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - cubemap support for opengl2"
   href="https://bugzilla.icculus.org/show_bug.cgi?id=5979">5979</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>cubemap support for opengl2
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>ioquake3
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>GIT MASTER
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows XP
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P3
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Video
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>zachary@ioquake.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>use.less01@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>quake3-bugzilla@icculus.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=3363&action=diff" name="attach_3363" title="cubemap support for opengl2">attachment 3363</a> <a href="attachment.cgi?id=3363&action=edit" title="cubemap support for opengl2">[details]</a></span>
cubemap support for opengl2

Here's a patch that adds simple cubemap support for opengl2.

It still needs a lot of work, though.  The patch is currently very ugly, and
doesn't support things that it should.

Specifying cubemaps is currently very simplified.  You create a text file in
maps/<level name>/cubemaps.txt, and in that file is a line with a number
indicating the number of cubemaps, then lines giving the coordinates of each. 
An example should be in the attachments.

The renderer then takes those, assigns a closest cubemap to each world surface,
and renders those cubemaps.

Using the cubemaps while drawing world surfaces has been integrated into the
specular lighting.  If no specular texture has been specified for a surface,
the shader assumes a specular reflectance at normal incidence of 0.04, and a
gloss of 0.5.  The gloss is set high so the effects are noticeable, but will
probably be toned down in the final version.

Here's the current, non-exhaustive list of problems:
  - Entities do not use cubemaps.
  - Sunlight is not rendered within cubemaps.
  - Cubemaps are not blended, resulting in visible seams when surface edges
switch between cubemaps.
  - Cubemaps cannot be turned off.
  - External cubemaps are not supported.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>