Subversion Repository Public Repository

Divide-Framework

This repository has no backups
This repository's network speed is throttled to 100KB/sec

Diff Revisions 167 vs 168 for /trunk/Source Code/Graphs/Headers/SceneNode.h

Diff revisions: vs.
  @@ -44,8 +44,10 @@
44 44
45 45 class Scene;
46 46 class Material;
47 + class SceneState;
47 48 class ShaderProgram;
48 49 enum RenderStage;
50 +
49 51 class SceneNode : public Resource {
50 52 friend class SceneGraphNode;
51 53 friend class RenderQueue;
  @@ -64,7 +66,7 @@
64 66 /*//Rendering/Processing*/
65 67
66 68 virtual bool unload();
67 - virtual bool isInView(const bool distanceCheck,const BoundingBox& boundingBox,const BoundingSphere& sphere);
69 + virtual bool isInView(const BoundingBox& boundingBox,const BoundingSphere& sphere,const bool distanceCheck = true);
68 70 virtual void setMaterial(Material* const m);
69 71 void clearMaterials();
70 72 Material* getMaterial();
  @@ -93,14 +95,11 @@
93 95 virtual void drawBoundingBox(SceneGraphNode* const sgn);
94 96 virtual void postLoad(SceneGraphNode* const sgn) = 0; //Post insertion calls (Use this to setup child objects during creation)
95 97 /// Called from SceneGraph "sceneUpdate"
96 - virtual void sceneUpdate(const U32 sceneTime,SceneGraphNode* const sgn);
97 -
98 - inline void setSelected(const bool state) {_selected = state;}
99 - inline bool isSelected() const {return _selected;}
98 + virtual void sceneUpdate(const U32 sceneTime, SceneGraphNode* const sgn, SceneState& sceneState);
100 99
101 100 inline void setType(const SceneNodeType& type) {_type = type;}
102 101 inline const SceneNodeType& getType() const {return _type;}
103 -
102 +
104 103 inline SceneNodeRenderState& getSceneNodeRenderState() {return _renderState;}
105 104
106 105 inline void incLODcount() {_LODcount++;}
  @@ -108,6 +107,9 @@
108 107 inline U8 getLODcount() const {return _LODcount;}
109 108 inline U8 getCurrentLOD() const {return (_lodLevel < (_LODcount-1) ? _lodLevel : (_LODcount-1));}
110 109
110 + inline bool isSelectable() const {return _isSelectable;}
111 + inline void setSelectable(const bool state) {_isSelectable = state;}
112 +
111 113 protected:
112 114 ShaderProgram* _customShader;
113 115 ///The various states needed for rendering
  @@ -121,9 +123,10 @@
121 123 private:
122 124 //mutable SharedLock _materialLock;
123 125 Material* _material;
124 - bool _selected;
125 126 bool _refreshMaterialData;
127 + bool _isSelectable;
126 128 SceneNodeType _type;
129 + char _textureOperationUniformSlots[Config::MAX_TEXTURE_STORAGE][32];
127 130 };
128 131
129 132 #endif