2009-11-17 5 views

답변

1

기기를 만드는 방법을 알고 있다고 가정합니다.

먼저 셰이더 자체를 준비해야합니다.

약간의 샘플 픽셀 쉐이더 (ps_1_4에서 볼 수있는 픽셀 쉐이더 1.4 사용, r0은 최종 결과로 읽은 레지스터, v0는 확산 조명의 기본 색상을 저장하는 레지스터) :

ps_1_4 
mov r0, v0

셰이더 어셈블리에있는이 셰이더는 조립해야합니다. 다음과 같이

Imports Microsoft.DirectX 

' other code 

Dim graphicsStream As GraphicsStream = Direct3D.ShaderLoader.FromString(shaderText, Nothing, Direct3D.ShaderFlags.None) 

' other code. 

쉐이더를 조립 한 후, 마침내 PixelShader 개체를 만들 수 있습니다 : 당신은 (당신이 그렇지 않으면 당신은 ShaderLoader 클래스를 볼 수 없습니다, D3DX 라이브러리를 참조해야 할 메모를) 다음과 같은 것을 할 수

' other code 

Dim p As Direct3D.PixelShader = New Direct3D.PixelShader(Device, graphicsStream) 

' other code 
화소 쉐이더를 적용하기 위해 사용

장치는 Direct3D의 장치이다
' other code 

Device.PixelShader = p 

' other code 

.

HLSL을 사용할 경우 쉐이더 컴파일에 유사한 프로세스가 적용됩니다.

편집 : 그냥 1 년 된 질문이었습니다.