Ich habe folgendes Problem: Wenn ich mein Programm starte verbraucht es immer mehr arbeitspeicher bis es irgendwann abstürzt. Dabei mach ich eigendlich nichts besonderes:
Code:
While device.Run
With device.VideoDriver
.BeginScene(True, True, Color.Blue)
.Draw2DImage(TestTexture, New Position2D(0, 0), True)
Draw(TestTexture, device.CursorControl.Position, SpriteMaterial.Alpha)
device.GUIEnvironment.BuiltInFont.Draw(.FPS, New Position2D(10, 20), Color.White, False, False)
.EndScene()
End With
End While
Hier der code der Draw() funktion:
Code:
Private _driver As VideoDriver
Sub Draw(ByVal tex As Texture, ByVal pos As Position2D, Optional ByVal mat As SpriteMaterial = SpriteMaterial.Alpha)
Dim Mat2D As New Material
With Mat2D
.Lighting = False
.BackfaceCulling = False
.BilinearFilter = False
.Texture1 = tex
.MaterialType = mat
End With
_driver.SetMaterial(Mat2D)
Dim _m As New Matrix4
_m.MakeIdentity()
_m.Translation = New Vector3D(pos.X, pos.Y, 0)
_driver.SetTransform(TransformationState.World, _m)
Dim vertices(0 To 3) As Vertex3D
vertices(0) = New Vertex3D(New Vector3D(0, 0, 0), New Vector3D, Color.White, New Vector2D(0, 0))
vertices(1) = New Vertex3D(New Vector3D(tex.OriginalSize.Width, 0, 0), New Vector3D, Color.White, New Vector2D(1, 0))
vertices(2) = New Vertex3D(New Vector3D(tex.OriginalSize.Width, tex.OriginalSize.Height, 0), New Vector3D, Color.White, New Vector2D(1, 1))
vertices(3) = New Vertex3D(New Vector3D(0, tex.OriginalSize.Height, 0), New Vector3D, Color.White, New Vector2D(0, 1))
Dim indices() As UShort = {0, 1, 3, 1, 2, 3}
device.VideoDriver.DrawIndexedTriangleList(vertices, 4, indices, 2)
End Sub