肥龍 發表於 2008-12-25 22:25:13

[轉貼]和我一起入門Direct3D的VB.net程式設計

我是個VB程式師,一直在做資料庫應用程式的開發,做的時間長了就感覺很煩悶,很想換換口味,但苦於沒有學習時間和資料,恰巧看到CSDN上他人寫的學習經驗,我也就很快的入了門。好東西不敢獨享,隨著我學習的同時,把原來的C#程式改成了vb.net的代碼,但思路還是一樣的,僅供大家參考。
(感謝原文作者。原文:http://blog.csdn.net/ygrx/archive/2005/03/02/307781.aspx?Pending=true)
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows 表單設計器生成的代碼 "
Public Sub New()
MyBase.New()
'該調用是 Windows 表單設計器所必需的。
InitializeComponent()
'在 InitializeComponent() 調用之後添加任何初始化
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.Opaque, True)
End Sub
'表單重寫 dispose 以清理組件清單。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 表單設計器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下過程是 Windows 表單設計器所必需的
'可以使用 Windows 表單設計器修改此過程。
'不要使用代碼編輯器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Name = "Form1"
Me.Text = "Form1"
End Sub
#End Region

阿游 發表於 2005-03-22 2:49 PM   
Private device As Device
Public Sub InitializeGraphics()
'設置參數
Dim presentParams As PresentParameters = New PresentParameters
presentParams.Windowed = True '視窗模式
presentParams.SwapEffect = SwapEffect.Discard '交換
'創建設備
device = New Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, presentParams)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitializeGraphics()
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
device.Clear(ClearFlags.Target, System.Drawing.Color.CadetBlue, 1.0F, 0)
Dim verts(2) As CustomVertex.TransformedColored
verts(0).Position = New Vector4(Me.Width / 2.0F, 50.0F, 0.5F, 1.0F)
verts(0).Color = System.Drawing.Color.Aqua.ToArgb()
verts(1).Position = New Vector4(Me.Width - Me.Width / 5.0F, Me.Height - Me.Height / 5.0F, 0.5F, 1.0F)
verts(1).Color = System.Drawing.Color.Black.ToArgb()
verts(2).Position = New Vector4(Me.Width / 5.0F, Me.Height - Me.Height / 5.0F, 0.5F, 1.0F)
verts(2).Color = System.Drawing.Color.Purple.ToArgb()
device.BeginScene()
device.VertexFormat = CustomVertex.TransformedColored.Format
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts)
device.EndScene()
device.Present()
Me.Invalidate()
End Sub
End Class

vwxy445 發表於 2010-8-9 14:45:21

天津環氧地坪

天津通尼科技有限公司承接天津環氧地坪、天津環氧自流平的涂裝設計與施工。主要從事室內工程的設計與施工企業,還是建築材料的科研、生產、銷售為一體的高科技企業,通尼於2004年在天津市東麗區建成新型現代化生產及科研基地,生產設備先進,係國內同行規模較大的公司之一。滑觸線 手拉葫蘆 天津LED顯示屏
頁: [1]
查看完整版本: [轉貼]和我一起入門Direct3D的VB.net程式設計