Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-11-15 19:24:55 +0000
committerStijn Buys <ingar@osirion.org>2008-11-15 19:24:55 +0000
commit28ba97bdd8fb6ca352dc49dba01a66bd155ad523 (patch)
treeeb4abd0505eb842e15201783529814bda1ae6e76 /src/render/renderext.h
parent1f0dbeeabdffff096908473168898c5fa63bcff0 (diff)
entity extensions
Diffstat (limited to 'src/render/renderext.h')
-rw-r--r--src/render/renderext.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/render/renderext.h b/src/render/renderext.h
new file mode 100644
index 0000000..eafa707
--- /dev/null
+++ b/src/render/renderext.h
@@ -0,0 +1,45 @@
+/*
+ render/renderext.h
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_RENDER_RENDEREXT_H__
+#define __INCLUDED_RENDER_RENDEREXT_H__
+
+#include "core/extension.h"
+
+namespace render
+{
+
+/// the render extension of an entity
+class RenderExt :public core::Extension {
+public:
+ RenderExt(core::Entity *entity);
+ ~RenderExt();
+
+ virtual void frame(float elapsed);
+
+ inline bool visible() const { return state_visible; }
+ inline bool detailvisible() const { return state_detailvisible; }
+
+ inline float fuzz() const { return state_fuzz; }
+
+ /// distance to the camera
+ inline float distance() const { return state_distance; }
+
+ // FIXME
+ float state_engine_trail_offset;
+
+private:
+ bool state_visible;
+ bool state_detailvisible;
+
+ float state_fuzz;
+ float state_distance;
+};
+
+} // namespace render
+
+#endif // __INCLUDED_RENDER_RENDEREXT_H__
+