현재 XNA 게임에 대한 효과 파일의 언어 "HLSL"을 배우고 있습니다. 하나; SpriteBatch에 효과를 적용하는 문제에 직면 해 있습니다.
내 효과 파일은 다음과 같이 렌더링 된 텍스처를 흰색으로 만듭니다. :]2D Passes.apply() XNA 4.0
float4 PSFunction(float2 coord : TEXCOORD0) : COLOR0
{
return float4(0, 0, 0, 1); // Return a white pixel
}
technique Sample
{
pass pass0
{
PixelShader = compile ps_2_0 PSFunction();
}
}
나는 다음 인수 내의 SpriteBatch을 시작할 때, 그것은 정상적으로 작동하고 그러나
SpriteBatch.Begin(0, null, null, null, null, SampleEffect);
; SpriteBatch.Begin 메서드는 여러 효과를 허용하지 않습니다. 그러므로 나는 그러므로 내가 diffrend 방법 몇 가지를 시도,
SpriteBatch.Begin();
그러나 아무것도 앞으로 일어날를 호출하기 전에
SampleEffect.CurrentTechnique.Passes[0].Apply();
을하려고 노력했다. 예 :
SampleEffect.CurrentTechnique.Passes["pass0"].Apply();
그러나 여전히 작동하지 않았습니다. 그래서 효과가 object.ReferenceEquals 함수를 사용하여 올바른 GraphicsDevice에 첨부되었는지 확인했지만 올바른 graphicsDevice와 같았습니다. 내가 뭘 잘못하고 있니? SpriteBatch에 여러 효과를 첨부하려면 어떻게해야합니까? 사전, 라스무스에서
감사합니다 :] 여러 효과를 그릴 수 없습니다
이 기술을 [다중 번개]라고 부릅니다. (https://www.google.com/search?q=multipass%20vs%20deferred%20lighting). – AgentFire