Project

General

Profile

« Previous | Next » 

Revision 3e30e2d5

Added by danij over 12 years ago

Fixed: Mismanagement of GL texture state

Middle wall sections on two-sided linedefs use different wrap states
depending on whether the texture coordinates are within the expected
[0..1] range.

Previously this was handled by changing the current wrap state for a
GL texture directly in Rend_RenderMaskedWall(). Also, this routine
assumed tthe previous state was GL_REPEAT on both u and v axes.

Now we have the texture variant and variant specification abstractions
the GL texture state for textures handled by the GL texture manager
should only be updated by it, not by users of this subsystem.

Todo: This presently results in the preparation of additional copies
of some textures, due to the fact a variant material has already been
chosen prior to calling Rend_AddMaskedPoly(). The logic flow of
rendSegSection() should be refactored so that either a) preparation
of the variant is deferred or, b) final variant is chosen earlier.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences