Revision d2342aca
Added by danij almost 10 years ago
Files
- added
- modified
- copied
- renamed
- deleted
- doomsday
- client
- client.pro (diff)
- include
- MaterialAnimator
- MaterialSnapshot
- de_resource.h (diff)
- def_main.h (diff)
- r_util.h (diff)
- render
- resource
- src
- dd_main.cpp (diff)
- def_main.cpp (diff)
- gl
- render
- api_render.cpp (diff)
- billboard.cpp (diff)
- decoration.cpp (diff)
- lightdecoration.cpp (diff)
- r_draw.cpp (diff)
- r_fakeradio.cpp (diff)
- r_main.cpp (diff)
- r_things.cpp (diff)
- rend_fakeradio.cpp (diff)
- rend_main.cpp (diff)
- rend_model.cpp (diff)
- rend_shadow.cpp (diff)
- shadowedge.cpp (diff)
- skydrawable.cpp (diff)
- surfacedecorator.cpp (diff)
- vissprite.cpp (diff)
- resource
- material.cpp (diff)
- materialanimation.cpp
- materialanimator.cpp
- materialdetailtexturelayer.cpp
- materiallightdecoration.cpp
- materialmanifest.cpp (diff)
- materialshinelayer.cpp
- materialsnapshot.cpp
- materialtexturelayer.cpp
- materialvariant.cpp
- resourcesystem.cpp (diff)
- sprite.cpp (diff)
- texturevariant.cpp (diff)
- ui
- world
- libcore
- libdoomsday
- server
- client
Refactor|Resources: Revised Material resource model
Implemented a MaterialAnimator concept and revised the old context
"variant" stuff accordingly. The idea is that each material usage
context (map surface, UI, etc...) has it's own client-side Animator
which is responsible for animating an instance of the base Material
resource.
Each MaterialAnimator is configured with a MaterialVariantSpec. This
specification allows for context-specific customization of how the
Material (and any dependent resources) is interpreted.
Material layers and decorations are now modeled with an extensible
object-oriented framework for future enhancement.