Panagiotis Christopoulos Charitos 14 лет назад
Родитель
Сommit
5420367a6d

+ 3 - 3
src/r/SceneDrawer.cpp

@@ -70,12 +70,12 @@ void SceneDrawer::setupShaderProg(
 	gl.enable(GL_BLEND, mtlr.isBlendingEnabled());
 	if(mtlr.isBlendingEnabled())
 	{
-		glBlendFunc(mtlr.getBlendingSfactor(), mtlr.getBlendingDfactor());
+		glBlendFunc(mtlr.getBlendingSFactor(), mtlr.getBlendingDFactor());
 	}
 
-	gl.enable(GL_DEPTH_TEST, mtlr.isDepthTestingEnabled());
+	gl.enable(GL_DEPTH_TEST, mtlr.getDepthTesting());
 
-	if(mtlr.isWireframeEnabled())
+	if(mtlr.getWireframe())
 	{
 		glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
 	}

+ 0 - 10
src/rsrc/MaterialProperties.h

@@ -8,16 +8,6 @@
 struct MaterialProperties
 {
 	public:
-		/// @name Accessors
-		/// @{
-		bool getCastShadow() const {return castsShadowFlag;}
-		bool getRenderInBledingStage() const {return renderInBlendingStageFlag;}
-		int getBlendingSFactor() const {return blendingSfactor;}
-		int getBlendingDFactor() const {return blendingDfactor;}
-		bool getDepthTesting() const {return depthTesting;}
-		bool getWireframe() const {return wireframe;}
-		/// @}
-
 		/// Check if blending is enabled
 		bool isBlendingEnabled() const
 			{return blendingSfactor != GL_ONE || blendingDfactor != GL_ZERO;}

+ 0 - 1
src/scene/Camera.h

@@ -6,7 +6,6 @@
 #include "util/Vec.h"
 #include "cln/Collision.h"
 #include "SceneNode.h"
-#include "util/Accessors.h"
 #include "VisibilityInfo.h"
 
 

+ 30 - 17
src/scene/MaterialRuntime.h

@@ -1,8 +1,7 @@
-#ifndef MATERIAL_RUNTIME_MATERIAL_RUNTIME_H
-#define MATERIAL_RUNTIME_MATERIAL_RUNTIME_H
+#ifndef MATERIAL_RUNTIME_H
+#define MATERIAL_RUNTIME_H
 
 #include "rsrc/MaterialProperties.h"
-#include "util/Accessors.h"
 #include "util/ConstCharPtrHashMap.h"
 #include <boost/ptr_container/ptr_vector.hpp>
 
@@ -27,20 +26,34 @@ class MaterialRuntime: public MaterialProperties
 
 		/// @name Accessors
 		/// @{
-		GETTER_SETTER_BY_VAL(bool, castsShadowFlag, castsShadow, setCastShadow)
-		GETTER_SETTER_BY_VAL(bool, renderInBlendingStageFlag,
-			rendersInBlendingStage, setRendersInBlendingStage)
-		GETTER_SETTER_BY_VAL(int, blendingSfactor, getBlendingSfactor,
-			setBlendingSFactor)
-		GETTER_SETTER_BY_VAL(int, blendingDfactor, getBlendingDfactor,
-			setBlendingDFactor)
-		GETTER_SETTER_BY_VAL(bool, depthTesting, isDepthTestingEnabled,
-			setDepthTestingEnabled)
-		GETTER_SETTER_BY_VAL(bool, wireframe, isWireframeEnabled,
-			setWireframeEnabled)
-
-		GETTER_RW(VariablesContainer, vars, getVariables)
-		GETTER_R(Material, mtl, getMaterial);
+		bool getCastShadow() const {return castsShadowFlag;}
+		bool& getCastShadow() {return castsShadowFlag;}
+		void setCastShadow(bool x) {castsShadowFlag = x;}
+
+		bool getRenderInBledingStage() const {return renderInBlendingStageFlag;}
+		bool& getRenderInBledingStage() {return renderInBlendingStageFlag;}
+		void setRenderInBledingStage(bool x) {renderInBlendingStageFlag = x;}
+
+		int getBlendingSFactor() const {return blendingSfactor;}
+		int& getBlendingSFactor() {return blendingSfactor;}
+		void setBlendingSFactor(int x) {blendingSfactor = x;}
+
+		int getBlendingDFactor() const {return blendingDfactor;}
+		int& getBlendingDFactor() {return blendingDfactor;}
+		void setBlendingDFactor(int x) {blendingDfactor = x;}
+
+		bool getDepthTesting() const {return depthTesting;}
+		bool& getDepthTesting() {return depthTesting;}
+		void setDepthTesting(bool x) {depthTesting = x;}
+
+		bool getWireframe() const {return wireframe;}
+		bool& getWireframe() {return wireframe;}
+		void setWireframe(bool x) {wireframe = x;}
+
+		const VariablesContainer& getVariables() const {return vars;}
+		VariablesContainer& getVariables() {return vars;}
+
+		const Material& getMaterial() const {return mtl;}
 		/// @}
 
 		/// Find a material runtime variable. On failure it throws an exception

+ 6 - 3
src/scene/MaterialRuntimeVariable.h

@@ -1,7 +1,6 @@
 #ifndef MATERIAL_RUNTIME_VARIABLE_H
 #define MATERIAL_RUNTIME_VARIABLE_H
 
-#include "util/Accessors.h"
 #include "m/Math.h"
 #include "rsrc/RsrcPtr.h"
 #include <boost/variant.hpp>
@@ -32,8 +31,12 @@ class MaterialRuntimeVariable
 
 		/// @name Accessors
 		/// @{
-		GETTER_R(MaterialUserVariable, umv, getMaterialUserVariable)
-		GETTER_RW(DataVariant, data, getDataVariant)
+		const MaterialUserVariable& getMaterialUserVariable() const
+			{return umv;}
+
+
+		const DataVariant& getDataVariant() const {return data;}
+		DataVariant& getDataVariant() {return data;}
 
 		/// Get the value of the variant
 		/// @exception boost::exception when you try to get the incorrect data

+ 0 - 1
src/scene/ModelNode.h

@@ -4,7 +4,6 @@
 #include <boost/array.hpp>
 #include "SceneNode.h"
 #include "rsrc/RsrcPtr.h"
-#include "util/Accessors.h"
 #include "ModelPatchNode.h"
 #include "util/Vec.h"
 #include "cln/Obb.h"

+ 31 - 11
src/scene/Scene.h

@@ -4,7 +4,6 @@
 #include <boost/scoped_ptr.hpp>
 #include "phys/PhysWorld.h"
 #include "util/Assert.h"
-#include "util/Accessors.h"
 #include "VisibilityTester.h"
 
 
@@ -33,7 +32,7 @@ class Scene
 
 		enum
 		{
-			MAX_VISIBLE_NODES = 1000
+			MAX_VISIBLE_NODES = 1024
 		};
 
 		Scene();
@@ -51,19 +50,40 @@ class Scene
 
 		/// @name Accessors
 		/// @{
-		GETTER_SETTER(Vec3, ambientCol, getAmbientColor, setAmbientColor)
+		const Vec3& getAmbientColor() const {return ambientCol;}
+		Vec3& getAmbientColor() {return ambientCol;}
+		void setAmbientColor(const Vec3& x) {ambientCol = x;}
+
 		PhysWorld& getPhysPhysWorld();
 		const PhysWorld& getPhysPhysWorld() const;
+
 		const VisibilityTester& getVisibilityTester() const;
 
-		GETTER_RW(Types<SceneNode>::Container, nodes, getAllNodes)
-		GETTER_RW(Types<Light>::Container, lights, getLights)
-		GETTER_RW(Types<Camera>::Container, cameras, getCameras)
-		GETTER_RW(Types<ParticleEmitterNode>::Container, particleEmitterNodes,
-			getParticleEmitterNodes)
-		GETTER_RW(Types<ModelNode>::Container, modelNodes, getModelNodes)
-		GETTER_RW(Types<SkinNode>::Container, skinNodes, getSkinNodes)
-		GETTER_RW(Types<Controller>::Container, controllers, getControllers)
+		const Types<SceneNode>::Container& getAllNodes() const {return nodes;}
+		Types<SceneNode>::Container& getAllNodes() {return nodes;}
+
+		const Types<Light>::Container& getLights() const {return lights;}
+		Types<Light>::Container& getLights() {return lights;}
+
+		const Types<Camera>::Container& getCameras() const {return cameras;}
+		Types<Camera>::Container& getCameras() {return cameras;}
+
+		const Types<ParticleEmitterNode>::Container& getParticleEmitterNodes()
+			const {return particleEmitterNodes;}
+		Types<ParticleEmitterNode>::Container& getParticleEmitterNodes()
+			{return particleEmitterNodes;}
+
+		const Types<ModelNode>::Container& getModelNodes() const
+			{return modelNodes;}
+		Types<ModelNode>::Container& getModelNodes() {return modelNodes;}
+
+		const Types<SkinNode>::Container& getSkinNodes() const
+			{return skinNodes;}
+		Types<SkinNode>::Container& getSkinNodes() {return skinNodes;}
+
+		const Types<Controller>::Container& getControllers() const
+			{return controllers;}
+		Types<Controller>::Container& getControllers() {return controllers;}
 		/// @}
 
 	private:

+ 1 - 1
src/scene/SceneNode.h

@@ -3,7 +3,6 @@
 
 #include "m/Math.h"
 #include "cln/Obb.h"
-#include "util/Accessors.h"
 #include "util/Vec.h"
 #include <memory>
 #include <string>
@@ -170,6 +169,7 @@ inline void SceneNode::enableFlag(SceneNodeFlags flag, bool enable)
 
 inline void SceneNode::frameUpdate(float , float)
 {
+	// do nothing
 }
 
 

+ 19 - 11
src/scene/VisibilityInfo.h

@@ -3,7 +3,6 @@
 
 #include <deque>
 #include "util/Vec.h"
-#include "util/Accessors.h"
 
 
 class RenderableNode;
@@ -16,24 +15,33 @@ class SpotLight;
 class VisibilityInfo
 {
 	public:
+		typedef std::deque<const RenderableNode*> RContainer;
+		typedef Vec<const PointLight*> PLContainer;
+		typedef Vec<SpotLight*> SLContainer;
+
 		VisibilityInfo() {}
 		~VisibilityInfo();
 
 		/// @name Accessors
 		/// @{
-		GETTER_RW(std::deque<const RenderableNode*>, msRenderableNodes,
-			getVisibleMsRenderableNodes)
-		GETTER_RW(std::deque<const RenderableNode*>, bsRenderableNodes,
-			getVisibleBsRenderableNodes)
-		GETTER_RW(Vec<const PointLight*>, pointLights, getVisiblePointLights)
-		GETTER_RW(Vec<SpotLight*>, spotLights, getVisibleSpotLights)
+		const RContainer& getVisibleMsRenderableNodes() const {return msRNodes;}
+		RContainer& getVisibleMsRenderableNodes() {return msRNodes;}
+
+		const RContainer& getVisibleBsRenderableNodes() const {return bsRNodes;}
+		RContainer& getVisibleBsRenderableNodes() {return bsRNodes;}
+
+		const PLContainer& getVisiblePointLights() const {return pLights;}
+		PLContainer& getVisiblePointLights() {return pLights;}
+
+		const SLContainer& getVisibleSpotLights() const {return sLights;}
+		SLContainer& getVisibleSpotLights() {return sLights;}
 		/// @}
 
 	private:
-		std::deque<const RenderableNode*> msRenderableNodes;
-		std::deque<const RenderableNode*> bsRenderableNodes;
-		Vec<const PointLight*> pointLights; ///< Used only for non-light cameras
-		Vec<SpotLight*> spotLights; ///< Used only for non-light cameras
+		RContainer msRNodes;
+		RContainer bsRNodes;
+		PLContainer pLights; ///< Used only for non-light cameras
+		SLContainer sLights; ///< Used only for non-light cameras
 };
 
 

+ 4 - 4
src/scene/VisibilityTester.cpp

@@ -227,7 +227,7 @@ void VisibilityTester::getRenderableNodesJobCallback(
 
 			// Skip shadowless
 			if(skipShadowless &&
-				!modelPatchNode->getMaterialRuntime().castsShadow())
+				!modelPatchNode->getMaterialRuntime().getCastShadow())
 			{
 				continue;
 			}
@@ -236,7 +236,7 @@ void VisibilityTester::getRenderableNodesJobCallback(
 			if(test(*modelPatchNode, cam))
 			{
 				if(modelPatchNode->getMaterialRuntime().
-					rendersInBlendingStage())
+					getRenderInBledingStage())
 				{
 					bsVisibles[bsI++] = modelPatchNode;
 				}
@@ -291,12 +291,12 @@ void VisibilityTester::getRenderableNodesJobCallback(
 
 			// Skip shadowless
 			if(skipShadowless &&
-				!patchNode->getMaterialRuntime().castsShadow())
+				!patchNode->getMaterialRuntime().getCastShadow())
 			{
 				continue;
 			}
 
-			if(patchNode->getMaterialRuntime().rendersInBlendingStage())
+			if(patchNode->getMaterialRuntime().getRenderInBledingStage())
 			{
 				bsVisibles[bsI++] = patchNode;
 			}

+ 3 - 3
src/script/scene/MaterialRuntime.cpp

@@ -10,8 +10,8 @@ WRAP(MaterialRuntime)
 			(MaterialRuntime::*)())(&MaterialRuntime::getVariables),
 			return_value_policy<reference_existing_object>())
 
-		.def("isWireframeEnabled", (bool (MaterialRuntime::*)() const)(
-			&MaterialRuntime::isWireframeEnabled))
-		.def("setWireframeEnabled", &MaterialRuntime::setWireframeEnabled)
+		.def("getWireframe", (bool (MaterialRuntime::*)() const)(
+			&MaterialRuntime::getWireframe))
+		.def("setWireframe", &MaterialRuntime::setWireframe)
 	;
 }