v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
41
source/game/StarEntityRendering.hpp
Normal file
41
source/game/StarEntityRendering.hpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
#ifndef STAR_RENDERING_HPP
|
||||
#define STAR_RENDERING_HPP
|
||||
|
||||
#include "StarMixer.hpp"
|
||||
#include "StarEntityRenderingTypes.hpp"
|
||||
#include "StarParticle.hpp"
|
||||
#include "StarDrawable.hpp"
|
||||
#include "StarLightSource.hpp"
|
||||
#include "StarGameTypes.hpp"
|
||||
|
||||
namespace Star {
|
||||
|
||||
STAR_CLASS(RenderCallback);
|
||||
|
||||
// Callback interface for entities to produce light sources, particles,
|
||||
// drawables, and sounds on render. Everything added is expected to already be
|
||||
// translated into world space.
|
||||
class RenderCallback {
|
||||
public:
|
||||
virtual ~RenderCallback();
|
||||
|
||||
virtual void addDrawable(Drawable drawable, EntityRenderLayer renderLayer) = 0;
|
||||
virtual void addLightSource(LightSource lightSource) = 0;
|
||||
virtual void addParticle(Particle particle) = 0;
|
||||
virtual void addAudio(AudioInstancePtr audio) = 0;
|
||||
virtual void addTilePreview(PreviewTile preview) = 0;
|
||||
virtual void addOverheadBar(OverheadBar bar) = 0;
|
||||
|
||||
// Convenience non-virtuals
|
||||
|
||||
void addDrawables(List<Drawable> drawables, EntityRenderLayer renderLayer, Vec2F translate = Vec2F());
|
||||
void addLightSources(List<LightSource> lightSources, Vec2F translate = Vec2F());
|
||||
void addParticles(List<Particle> particles, Vec2F translate = Vec2F());
|
||||
void addAudios(List<AudioInstancePtr> audios, Vec2F translate = Vec2F());
|
||||
void addTilePreviews(List<PreviewTile> previews);
|
||||
void addOverheadBars(List<OverheadBar> bars, Vec2F translate = Vec2F());
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue