D3D正交投影与透视投影放大mesh的方法

来源:互联网 发布:电话软件下载 编辑:程序博客网 时间:2024/05/16 11:42
    Private viewWidth As Single = 2
    Private viewHeight As Single = 2
    Private Sub View3D_MouseWheel(sender As Object, e As MouseEventArgs) Handles Me.MouseWheel
        Dim s As Single = -CSng(e.Delta) / 2000
        viewWidth += s
        viewHeight += s
        If viewWidth <= 0 Or viewHeight <= 0 Then
            Exit Sub
        End If
        device.Transform.Projection = Matrix.OrthoLH(viewWidth, viewHeight, 0, 100)


        ''下面适用于透视投影
        'Dim scaleFactor As Single = -CSng(e.Delta) / 2000 + 1.0F
        'CamPostion.Subtract(CamTarget)
        'CamPostion.Scale(scaleFactor)
        'CamPostion.Add(CamTarget)
        'Dim viewMatrix As Matrix = Matrix.LookAtLH(CamPostion, CamTarget, New Vector3(0, 1, 0))
        'device.Transform.View = viewMatrix
    End Sub