No nevím, ale podle mě na zdroják kompletní aplikace, řešící analogickou úlohu v DirectX připadají z dané OpenGL ukázky asi tak sedm řádek ...:
Module modMain
Dim WithEvents D As Device, F As New Form()
Sub Main()
F.Show()
Dim PP As New PresentParameters() : PP.Windowed = True : PP.SwapEffect = SwapEffect.Discard
D = New Device(0, 1, F, 32, PP)
D.Clear(1, Color.Silver, 1, 0)
D.RenderState.Lighting = True
D.SetTransform(3, Matrix.PerspectiveFovLH(1, 1, 1, 500))
D.Transform.View = Matrix.LookAtLH(New Vector3(0, 0, 5), New Vector3(), New Vector3(0, 1, 0))
Dim V(3 - 1) As CustomVertex.PositionColored
V(0).X = 0 : V(0).Y = 1 : V(0).Z = 1 : V(0).Color = Color.Red.ToArgb
V(1).X = -1 : V(1).Y = -1 : V(1).Z = 1 : V(1).Color = Color.Green.ToArgb
V(2).X = 1 : V(2).Y = -1 : V(2).Z = 1 : V(2).Color = Color.Blue.ToArgb
D.BeginScene()
D.VertexFormat = CustomVertex.PositionColored.Format
D.DrawUserPrimitives(4, 1, V)
D.EndScene()
D.Present(): Application.Run(F)
End Sub
End Module
To srovnání je nejspíš opsané někde z webu, ale nemá mnoho společného s realitou. Autor přece musí jasně vidět, že v kódu DX jsou kontroly chyb a další redundantní věci.
Naopak nastavit třeba jen PIXELFORMATDESCRIPTOR pro OpenGL zabere ve Windows aspoň deset řádků...