Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2006-04-03 01:04:20 +0400
committerErwin Coumans <blender@erwincoumans.com>2006-04-03 01:04:20 +0400
commit6839ec66405f366d95641b1d5685369a1b19757c (patch)
treeecd65680f673221994758ab86dd563cf9462d8df /source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
parent756bad72c4ca4538834aed7bbdc46a2cce41393f (diff)
applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h')
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
new file mode 100644
index 00000000000..82840cd1399
--- /dev/null
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
@@ -0,0 +1,72 @@
+#ifndef __RAS_LISTRASTERIZER_H__
+#define __RAS_LISTRASTERIZER_H__
+
+#include "RAS_MaterialBucket.h"
+#include "RAS_OpenGLRasterizer.h"
+#include <vector>
+
+class RAS_ListSlot : public KX_ListSlot
+{
+ unsigned int m_list;
+ unsigned int m_flag;
+public:
+ RAS_ListSlot();
+ virtual ~RAS_ListSlot();
+ virtual void SetModified(bool mod);
+
+ void RemoveList();
+ void DrawList();
+ void EndList();
+ bool End();
+
+};
+
+enum RAS_ListSlotFlags {
+ LIST_CREATE =1,
+ LIST_MODIFY =2,
+ LIST_STREAM =4,
+ LIST_NOCREATE =8,
+ LIST_BEGIN =16,
+ LIST_END =32,
+ LIST_REGEN =64
+};
+
+typedef std::map<const vecVertexArray, RAS_ListSlot*> RAS_Lists;
+
+class RAS_ListRasterizer : public RAS_OpenGLRasterizer
+{
+ RAS_Lists mLists;
+
+ RAS_ListSlot* FindOrAdd(const vecVertexArray& vertexarrays, KX_ListSlot** slot);
+ void ReleaseAlloc();
+
+public:
+ RAS_ListRasterizer(RAS_ICanvas* canvas);
+ virtual ~RAS_ListRasterizer();
+
+ virtual void IndexPrimitives(
+ const vecVertexArray& vertexarrays,
+ const vecIndexArrays & indexarrays,
+ int mode,
+ class RAS_IPolyMaterial* polymat,
+ class RAS_IRenderTools* rendertools,
+ bool useObjectColor,
+ const MT_Vector4& rgbacolor,
+ class KX_ListSlot** slot
+ );
+
+ virtual void IndexPrimitivesMulti(
+ const vecVertexArray& vertexarrays,
+ const vecIndexArrays & indexarrays,
+ int mode,
+ class RAS_IPolyMaterial* polymat,
+ class RAS_IRenderTools* rendertools,
+ bool useObjectColor,
+ const MT_Vector4& rgbacolor,
+ class KX_ListSlot** slot
+ );
+
+ virtual bool QueryLists(){return true;}
+};
+
+#endif