From af3fc02c0a260d4c038daa6271ea2e04465d0a63 Mon Sep 17 00:00:00 2001 From: CaptainSegis Date: Wed, 26 Jul 2017 02:07:37 -0500 Subject: [PATCH] Fixed OpenTK issues when rendering models in StorageSystemScreen --- 2.5DHero/2.5DHero/Resources/ModelManager.vb | 4 ++-- 2.5DHero/2.5DHero/Screens/PC/StorageSystemScreen.vb | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/2.5DHero/2.5DHero/Resources/ModelManager.vb b/2.5DHero/2.5DHero/Resources/ModelManager.vb index 5ada2148f..f31383b52 100644 --- a/2.5DHero/2.5DHero/Resources/ModelManager.vb +++ b/2.5DHero/2.5DHero/Resources/ModelManager.vb @@ -47,8 +47,8 @@ Public Class ModelManager ModelList.Clear() End Sub - Public Shared Function DrawModelToTexture(ByVal modelName As String, ByVal texSize As Vector2, ByVal modelPosition As Vector3, ByVal cameraPosition As Vector3, ByVal cameraRotation As Vector3, ByVal Scale As Single, ByVal enableLight As Boolean) As Texture2D - Dim renderTarget As RenderTarget2D = New RenderTarget2D(Core.GraphicsDevice, CInt(texSize.X), CInt(texSize.Y), False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8) + Public Shared Function DrawModelToTexture(ByVal modelName As String, ByVal renderTarget As RenderTarget2D, ByVal modelPosition As Vector3, ByVal cameraPosition As Vector3, ByVal cameraRotation As Vector3, ByVal Scale As Single, ByVal enableLight As Boolean) As Texture2D + Core.GraphicsDevice.SetRenderTarget(renderTarget) Core.GraphicsDevice.Clear(Color.Transparent) diff --git a/2.5DHero/2.5DHero/Screens/PC/StorageSystemScreen.vb b/2.5DHero/2.5DHero/Screens/PC/StorageSystemScreen.vb index 60e19adac..9d6baa149 100644 --- a/2.5DHero/2.5DHero/Screens/PC/StorageSystemScreen.vb +++ b/2.5DHero/2.5DHero/Screens/PC/StorageSystemScreen.vb @@ -4,6 +4,8 @@ Public Class StorageSystemScreen Public Shared TileOffset As Integer = 0 + Private renderTarget As RenderTarget2D + Public Enum FeatureTypes Deposit Withdraw @@ -73,6 +75,7 @@ Public Class StorageSystemScreen Dim modelPan As Single = 0.0F Public Sub New(ByVal currentScreen As Screen) + Me.renderTarget = New RenderTarget2D(Core.GraphicsDevice, 1200, 680, False, SurfaceFormat.Color, DepthFormat.Depth24Stencil8) Me.PreScreen = currentScreen Me.Identification = Identifications.StorageSystemScreen Me.MouseVisible = True @@ -1370,7 +1373,7 @@ Public Class StorageSystemScreen Dim roll As Single = propList.Item5 - Dim t As Texture2D = ModelManager.DrawModelToTexture(modelName, New Vector2(1200, 680), New Vector3(x, y, z), New Vector3(0.0F, 50.0F, 10.0F), New Vector3(0.0F, 0.2F, roll + modelRoll), scale, True) + Dim t As Texture2D = ModelManager.DrawModelToTexture(modelName, renderTarget, New Vector3(x, y, z), New Vector3(0.0F, 50.0F, 10.0F), New Vector3(0.0F, 0.2F, roll + modelRoll), scale, True) Core.SpriteBatch.Draw(t, New Rectangle(160, 50, 1200, 680), Color.White) End Sub