我想複製BasicEffect的fog方法以在我自己的着色器中使用,所以我不必聲明basiceffect着色器和我自己的。基本效果的HLSL代碼剛剛在XNA Creators Club上的一個可下載樣本中發佈,我認爲所需的方法可以在該HLSL文件中找到。但是,我所看到的只是一個被調用的函數,但沒有針對該函數的實際定義。被調用的函數是:BasicEffect霧,使用的代碼
ApplyFog(color, pin.PositionWS.w);
有沒有人知道定義在哪裏以及它是否可以自由接受。否則,關於如何複製效果的任何幫助都會很好。
我從here下載了樣本。
謝謝。
編輯:斯蒂爾有問題。認爲這是與深度有關:
VertexToPixel InstancedCelShadeVSNmVc(VSInputNmVc VSInput, in VSInstanceVc VSInstance)
{
VertexToPixel Output = (VertexToPixel)0;
Output.Position = mul(mul(mul(mul(VSInput.Position, transpose(VSInstance.World)), xWorld), xView), xProjection);
Output.ViewSpaceZ = -VSInput.Position.z/xCameraClipFar;
這是正確的嗎?遠處的相機剪輯作爲常量傳入。
你可以發佈什麼效果的圖像? – 2013-04-26 15:21:42
BasicEffect的霧是你的意思嗎? – Bushes 2013-04-26 15:22:42
是的,或者任何能夠說明您正在嘗試完成的效果的東西,我不熟悉BasicEffect的Fog。 – 2013-04-26 15:23:21