2D, 3D 및 투영법을 설정하는 방법은 무엇입니까? [XNA 3.1, C#을]2D, 3D 및 전망을 설정하는 방법은 무엇입니까?
나는
float4x4 World;
float4x4 View;
float4x4 Projection;
을 필요로하는 쉐이더를 사용하기 위해 노력하고있어하지만 나도 몰라 어떻게 2D 엔진 설정을. 2D로 계산할 올바른 Vertex Shader를 위해 어떤 값을 전달해야하는지 실제로 알지 못합니다.
코드 :
efs[ObjShaders[i].ShaderID].effect.Parameters["World"].SetValue(Matrix.Identity);
efs[ObjShaders[i].ShaderID].effect.Parameters["View"].SetValue(Matrix.CreateLookAt(new Vector3(0, 0, 0), new Vector3(0, 0, 0), new Vector3(0, 0, 0)));
efs[ObjShaders[i].ShaderID].effect.Parameters["Projection"].SetValue(Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f),aspectRatio,1.0f, 10.0f));
efs[ObjShaders[i].ShaderID].effect.Parameters["EyePos"].SetValue(new Vector3(0,0,0));
쉐이더 부분 :
VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
{
VertexShaderOutput output;
float4 worldPosition = mul(float4(input.Position), World);
float4 viewPosition = mul(worldPosition, View);
output.Position = mul(viewPosition, Projection);
output.texCoord = input.texCoord*100;
output.worldPos = worldPosition.xyz;
return output;
}
문제 : VertexShader 이것을 사용하려고하면 = (VertexShaderFunction을 vs_2_0 컴파일); 아무 것도 표시되지 않습니다. 하지만 PixelShader를 사용하면 텍스처가 그려지지만 약간 버그가 있거나 잘못된 것처럼 느껴집니다.
이 조금 애매합니다. 당신은 아직 아무것도 시도? 어떤 자습서를 따르고 있습니까? – Allov
네, 시도했습니다. 코드로 내 질문을 업데이트했는데 성공하지 못했습니다. 그와 함께 VertexShaderFunction을 사용하면 아무 것도 그려지지 않습니다. – Beardminator