0
我是新編寫的像素着色器並在我的託管directx項目中使用,我可以從中獲取一些基本示例以啓動它。託管DirectX中着色器的基本示例
我是新編寫的像素着色器並在我的託管directx項目中使用,我可以從中獲取一些基本示例以啓動它。託管DirectX中着色器的基本示例
我假設你知道如何創建一個設備。
首先,您需要準備着色器本身。
下面是一個小樣本像素着色器(使用像素着色器1.4,如ps_1_4所示; r0是作爲最終結果讀取的寄存器; v0是存儲原色(漫射照明)的寄存器):
ps_1_4
mov r0, v0
該着色器位於着色器組件中,必須進行組裝。你可以做如下(注意,你需要D3DX庫引用,否則你不會看到ShaderLoader類):
Imports Microsoft.DirectX
' other code
Dim graphicsStream As GraphicsStream = Direct3D.ShaderLoader.FromString(shaderText, Nothing, Direct3D.ShaderFlags.None)
' other code.
組裝着色器後,你終於可以創建一個PixelShader對象如下:
' other code
Dim p As Direct3D.PixelShader = New Direct3D.PixelShader(Device, graphicsStream)
' other code
申請像素着色器,使用方法:
' other code
Device.PixelShader = p
' other code
,其中設備是Direct3D設備。
類似的過程適用於在使用HLSL的情況下編譯着色器。
編輯: 剛注意到這是一個古老的問題。