Browse Source

Fixing a crash with D3D9

Marko Pintera 13 years ago
parent
commit
b5a2694499

+ 2 - 2
CamelotClient/CamelotClient.cpp

@@ -13,8 +13,8 @@ using namespace CamelotEngine;
 
 int _tmain(int argc, _TCHAR* argv[])
 {
-	gApplication().startUp("CamelotGLRenderer.dll");
-	//gApplication().startUp("CamelotD3D9Renderer.dll");
+	//gApplication().startUp("CamelotGLRenderer.dll");
+	gApplication().startUp("CamelotD3D9Renderer.dll");
 
 	//RTTITypeBase* st = DbgSrlzTest::getRTTIStatic();
 

+ 1 - 1
CamelotRenderer/Include/CmVertexDeclarationRTTI.h

@@ -34,7 +34,7 @@ namespace CamelotEngine
 
 		void setElementArraySize(VertexDeclaration* obj, UINT32 size)
 		{
-			for(int i = obj->mElementList.size(); i <= size; i++)
+			for(int i = obj->mElementList.size(); i < size; i++)
 				obj->mElementList.push_back(VertexElement());
 		}
 

+ 34 - 34
CamelotRenderer/Source/CmApplication.cpp

@@ -56,41 +56,14 @@ namespace CamelotEngine
 		mCamera->setAspectRatio(800.0f / 600.0f);
 
 		/////////////////// HLSL SHADERS //////////////////////////
-		//String fragShaderCode = "sampler2D diffuseMap;			\
-		//						float4 ps_main(float2 uv : TEXCOORD0) : COLOR0		\
-		//						{														\
-		//						float4 color = tex2D(diffuseMap, uv);				\
-		//						return color;										\
-		//						}";
-
-		//mFragProg =  HighLevelGpuProgramManager::instance().createProgram(fragShaderCode, "ps_main", "hlsl", GPT_FRAGMENT_PROGRAM, GPP_PS_2_0);
-		//mFragProg->load();
-
-		//String vertShaderCode = "float4x4 matViewProjection;	\
-		//						void vs_main(										\
-		//						float4 inPos : POSITION,							\
-		//						float2 uv : TEXCOORD0,								\
-		//						out float4 oPosition : POSITION,					\
-		//						out float2 oUv : TEXCOORD0)							\
-		//						{														\
-		//						oPosition = mul(matViewProjection, inPos);			\
-		//						oUv = uv;											\
-		//						}";
-
-		//mVertProg =  HighLevelGpuProgramManager::instance().createProgram(vertShaderCode, "vs_main", "hlsl", GPT_VERTEX_PROGRAM, GPP_VS_2_0);
-		//mVertProg->load();
-		
-
-
-		/////////////////// CG SHADERS //////////////////////////
 		String fragShaderCode = "sampler2D diffuseMap;			\
-			float4 ps_main(float2 uv : TEXCOORD0) : COLOR0		\
-		{														\
-			float4 color = tex2D(diffuseMap, uv);				\
-			return color;										\
-		}";
+								float4 ps_main(float2 uv : TEXCOORD0) : COLOR0		\
+								{														\
+								float4 color = tex2D(diffuseMap, uv);				\
+								return color;										\
+								}";
 
-		mFragProg =  HighLevelGpuProgramManager::instance().createProgram(fragShaderCode, "ps_main", "cg", GPT_FRAGMENT_PROGRAM, GPP_PS_2_0);
+		mFragProg =  HighLevelGpuProgramManager::instance().createProgram(fragShaderCode, "ps_main", "hlsl", GPT_FRAGMENT_PROGRAM, GPP_PS_2_0);
 		mFragProg->load();
 
 		String vertShaderCode = "float4x4 matViewProjection;	\
@@ -104,11 +77,38 @@ namespace CamelotEngine
 								oUv = uv;											\
 								}";
 
-		mVertProg =  HighLevelGpuProgramManager::instance().createProgram(vertShaderCode, "vs_main", "cg", GPT_VERTEX_PROGRAM, GPP_VS_2_0);
+		mVertProg =  HighLevelGpuProgramManager::instance().createProgram(vertShaderCode, "vs_main", "hlsl", GPT_VERTEX_PROGRAM, GPP_VS_2_0);
 		mVertProg->load();
 		
 
 
+		/////////////////// CG SHADERS //////////////////////////
+		//String fragShaderCode = "sampler2D diffuseMap;			\
+		//	float4 ps_main(float2 uv : TEXCOORD0) : COLOR0		\
+		//{														\
+		//	float4 color = tex2D(diffuseMap, uv);				\
+		//	return color;										\
+		//}";
+
+		//mFragProg =  HighLevelGpuProgramManager::instance().createProgram(fragShaderCode, "ps_main", "cg", GPT_FRAGMENT_PROGRAM, GPP_PS_2_0);
+		//mFragProg->load();
+
+		//String vertShaderCode = "float4x4 matViewProjection;	\
+		//						void vs_main(										\
+		//						float4 inPos : POSITION,							\
+		//						float2 uv : TEXCOORD0,								\
+		//						out float4 oPosition : POSITION,					\
+		//						out float2 oUv : TEXCOORD0)							\
+		//						{														\
+		//						oPosition = mul(matViewProjection, inPos);			\
+		//						oUv = uv;											\
+		//						}";
+
+		//mVertProg =  HighLevelGpuProgramManager::instance().createProgram(vertShaderCode, "vs_main", "cg", GPT_VERTEX_PROGRAM, GPP_VS_2_0);
+		//mVertProg->load();
+		
+
+
 		///////////////// GLSL SHADERS ////////////////////////////
 		//String fragShaderCode = "uniform sampler2D tex; \
 		//							void main() \