Просмотр исходного кода

Add marker field to SceneGraph

Daniele Bartolini 10 лет назад
Родитель
Сommit
21a5af63f8
2 измененных файлов с 10 добавлено и 1 удалено
  1. 4 1
      src/world/scene_graph.cpp
  2. 6 0
      src/world/scene_graph.h

+ 4 - 1
src/world/scene_graph.cpp

@@ -18,7 +18,8 @@ namespace crown
 {
 
 SceneGraph::SceneGraph(Allocator& a)
-	: _allocator(a)
+	: _marker(MARKER)
+	, _allocator(a)
 	, _map(a)
 {
 }
@@ -26,6 +27,8 @@ SceneGraph::SceneGraph(Allocator& a)
 SceneGraph::~SceneGraph()
 {
 	_allocator.deallocate(_data.buffer);
+
+	_marker = 0;
 }
 
 TransformInstance SceneGraph::make_instance(uint32_t i)

+ 6 - 0
src/world/scene_graph.h

@@ -87,6 +87,10 @@ struct SceneGraph
 
 	void transform(const Matrix4x4& parent, TransformInstance i);
 
+public:
+
+	enum { MARKER = 0x63a44dbf };
+
 private:
 
 	void grow();
@@ -142,6 +146,8 @@ private:
 		TransformInstance* prev_sibling;
 	};
 
+	uint32_t _marker;
+
 	Allocator& _allocator;
 	InstanceData _data;
 	Hash<uint32_t> _map;