Project

General

Profile

« Previous | Next » 

Revision 0fa4141e

Added by danij over 15 years ago

Continued work on cleaning up the texture manager.

Redesigned management of color palettes for use with textures:
  • DGL is no longer dependant upon a color palette (only needed if/when converting to/from 8bit textures or quantizing 24/32 bit textures).
  • Support multiple color palettes. It is the games' responsibility to prepare the color palettes it needs at start up via the public R_CreateColorPalette (various palette formats are now supported).
  • Support variable sized color palettes. The engine no longer expects all color palettes to contain 256 entries.
  • Public color palette identifiers are eternal (they persist across engine and GL resets), similar to those used with the material system.
  • Fixed: Previously the engine would use the PAL18TO8 lumps even when the PLAYPAL they were generated for had changed. This would result in textures which were being quantized to the color palette being "garbled" (for example, the menu font patches). We now opt to defer generation of the PAL18TO8 LUT for each color palette until needed (it may never be).
  • Use of paletted textures (-paltex) using glColorTableEXT has been retained (however use of the shared palette extension (EXTSharedTexturePalette) has not).
  • Began work on removing the concept of palette translations from within the engine. Now that the engine supports multiple palettes, the DOOM concept of palette translations can be moved game-side (the translations can be pre-processed into additional palettes).
Todo:
  • Complete work on removing/externalizing the DOOM concept of palette translations.
  • Implement a logical color palette manager which interfaces the texture manager and allows for fine-grained palette selection per texture and/or texture resource type (for example, a default palette for sprites, with a per-sprite palette override specified directly in a Material definition).

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences