mirror of
https://gitlab.com/cc-ru/ocelot/ocelot-desktop.git
synced 2025-12-20 02:59:19 +01:00
Add exception catch for screen viewport dispose method
This commit is contained in:
parent
6decd3e51a
commit
74b498bdfb
@ -4,12 +4,12 @@ import ocelot.desktop.color.{Color, RGBAColorNorm}
|
|||||||
import ocelot.desktop.geometry.Transform2D
|
import ocelot.desktop.geometry.Transform2D
|
||||||
import ocelot.desktop.graphics.mesh.{Mesh2D, MeshInstance2D, MeshVertex2D}
|
import ocelot.desktop.graphics.mesh.{Mesh2D, MeshInstance2D, MeshVertex2D}
|
||||||
import ocelot.desktop.graphics.render.InstanceRenderer
|
import ocelot.desktop.graphics.render.InstanceRenderer
|
||||||
import ocelot.desktop.util.{Font, Resource, Spritesheet}
|
import ocelot.desktop.util.{Font, Logging, Resource, Spritesheet}
|
||||||
import org.lwjgl.opengl.{ARBFramebufferObject, GL11, GL21, GL30}
|
import org.lwjgl.opengl.{ARBFramebufferObject, GL11, GL21, GL30}
|
||||||
|
|
||||||
import java.nio.ByteBuffer
|
import java.nio.ByteBuffer
|
||||||
|
|
||||||
class ScreenViewport(graphics: Graphics, private var _width: Int, private var _height: Int) extends Resource {
|
class ScreenViewport(graphics: Graphics, private var _width: Int, private var _height: Int) extends Resource with Logging {
|
||||||
private[graphics] var texture = new Texture(_width, _height, GL21.GL_SRGB8, GL11.GL_UNSIGNED_BYTE, 0)
|
private[graphics] var texture = new Texture(_width, _height, GL21.GL_SRGB8, GL11.GL_UNSIGNED_BYTE, 0)
|
||||||
private val framebuffer = ARBFramebufferObject.glGenFramebuffers()
|
private val framebuffer = ARBFramebufferObject.glGenFramebuffers()
|
||||||
GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer)
|
GL30.glBindFramebuffer(GL30.GL_FRAMEBUFFER, framebuffer)
|
||||||
@ -32,7 +32,11 @@ class ScreenViewport(graphics: Graphics, private var _width: Int, private var _h
|
|||||||
override def freeResource(): Unit = {
|
override def freeResource(): Unit = {
|
||||||
super.freeResource()
|
super.freeResource()
|
||||||
|
|
||||||
GL30.glDeleteFramebuffers(framebuffer)
|
try {
|
||||||
|
GL30.glDeleteFramebuffers(framebuffer)
|
||||||
|
} catch {
|
||||||
|
case e: Exception => logger.error("Error disposing screen viewport frame buffer!", e)
|
||||||
|
}
|
||||||
|
|
||||||
texture.freeResource()
|
texture.freeResource()
|
||||||
renderer.freeResource()
|
renderer.freeResource()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user