Revision 639bf163
Added by danij over 14 years ago
Various interwoven changes to Materials system:
- Fixed bottleneck with the Material.name to Decoration/Reflection/Generator association linking. We now resolve once, at Material Bind creation time for all definition selection conditions (iwad, noiwad, ext, etc...).
- Began revising the Material precaching scheme in preparation for further changes.
- Added GLTextureInst.data.texture.colorAmplified and updated GLTexture_Prepare() to store both the average and amplified average texture colors.
- Added MaterialSnapshot.colorAmplified - used with glowing planes and wall glow and taken from GLTextureInst (todo: this should be expanded upon once we have Materials tick'ing to allow for animation with a Stage system like that used for Particles).
- Reworked the implementation of the 'fullbright' concept:
- Materials definitions may now define a Glow strength. The old glow flag has been removed.
- Internally 'fullbright' is now represented as Glow = 1 (also used as a wall glow strength multiplier).
- Implemented both Map.decoratedSurfaceList and Map.glowingSurfaceList - lists of surfaces with those attributes and maintained accordingly by Surface.setMaterial()
- Make use of the new surface lists when projecting glow lumobjs and plotting and projecting decorations.
Files
- added
- modified
- copied
- renamed
- deleted
- doomsday
- engine
- api
- portable
- include
- src
- dam_main.c (diff)
- def_main.c (diff)
- edit_map.c (diff)
- gl_tex.c (diff)
- gl_texmanager.c (diff)
- p_data.c (diff)
- p_dmu.c (diff)
- p_material.c (diff)
- p_materialmanager.c (diff)
- p_particle.c (diff)
- p_surface.c (diff)
- r_data.c (diff)
- r_lumobjs.c (diff)
- r_model.c (diff)
- r_things.c (diff)
- r_world.c (diff)
- rend_decor.c (diff)
- rend_fakeradio.c (diff)
- rend_main.c (diff)
- rend_model.c (diff)
- rend_sky.c (diff)
- rend_sprite.c (diff)
- plugins
- engine