Browse Source

Adding the deformer of all skins

Panagiotis Christopoulos Charitos 15 years ago
parent
commit
30e319774e
2 changed files with 46 additions and 0 deletions
  1. 26 0
      src/Renderer/SkinsDeformer.cpp
  2. 20 0
      src/Renderer/SkinsDeformer.h

+ 26 - 0
src/Renderer/SkinsDeformer.cpp

@@ -0,0 +1,26 @@
+#include "SkinsDeformer.h"
+#include "ShaderProg.h"
+
+
+//======================================================================================================================
+// init                                                                                                                =
+//======================================================================================================================
+void SkinsDeformer::init()
+{
+	std::string all = ShaderProg::createSrcCodeToCache("shaders/TfHwSkinningGeneric.glsl",
+	                                                   "#define NORMAL_ENABLED\n#define TANGENT_ENABLED\n",
+	                                                   "pnt");
+
+	std::string pn = ShaderProg::createSrcCodeToCache("shaders/TfHwSkinningGeneric.glsl",
+	                                                  "#define NORMAL_ENABLED\n",
+	                                                  "pn");
+
+	std::string pt = ShaderProg::createSrcCodeToCache("shaders/TfHwSkinningGeneric.glsl",
+	                                                  "\n#define TANGENT_ENABLED\n",
+	                                                  "pt");
+
+
+	tfHwSkinningAllSProg.loadRsrc(all.c_str());
+	tfHwSkinningPosNormSProg.loadRsrc(pn.c_str());
+	tfHwSkinningPosTangentSProg.loadRsrc(pt.c_str());
+}

+ 20 - 0
src/Renderer/SkinsDeformer.h

@@ -0,0 +1,20 @@
+#ifndef SKINS_DEFORMER_H
+#define SKINS_DEFORMER_H
+
+#include "RsrcPtr.h"
+
+
+class SkinsDeformer
+{
+	public:
+		void init();
+		void run();
+
+	private:
+		RsrcPtr<ShaderProg> tfHwSkinningAllSProg;
+		RsrcPtr<ShaderProg> tfHwSkinningPosNormSProg;
+		RsrcPtr<ShaderProg> tfHwSkinningPosTangentSProg;
+};
+
+
+#endif