456
社区成员
发帖
与我相关
我的任务
分享
Private Sub SetupCamera()
'设置投影转换矩阵
Dim fieldOfView As Single = Math.PI / 4
Dim aspectRatio As Single = Me.Width / Me.Height
Dim nearPlane As Single = 2.0F
Dim farPlane As Single = 500.0F
device.Transform.Projection = Matrix.PerspectiveFovLH(fieldOfView, aspectRatio, nearPlane, farPlane)
'设置视图转换矩阵
Select Case CameraDirect
Case 0
Dim cameraPosition As New Vector3(20, 20, -20.0F)
Dim cameraTarget As New Vector3(0, 0, 0)
Dim upDirection As New Vector3(0, 1, 0)
device.Transform.View = Matrix.LookAtLH(cameraPosition, cameraTarget, upDirection)
Case 1
Dim cameraPosition As New Vector3(-20, -20, 20.0F)
Dim cameraTarget As New Vector3(0, 0, 0)
Dim upDirection As New Vector3(0, -1, 0)
device.Transform.View = Matrix.LookAtLH(cameraPosition, cameraTarget, upDirection)
End Select
device.RenderState.Lighting = False '设置打开光照
device.RenderState.CullMode = IIf(enableCullMode, Cull.CounterClockwise, Cull.None) '设置剔除背影
device.RenderState.FillMode = IIf(enableSolidMode, FillMode.Solid, FillMode.WireFrame) '设置填充模式
device.RenderState.Ambient = Color.White
device.Lights(0).Range = 150.0F
End Sub