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.graphics.mesh.{Mesh2D, MeshInstance2D, MeshVertex2D}
|
||||
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 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 val framebuffer = ARBFramebufferObject.glGenFramebuffers()
|
||||
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 = {
|
||||
super.freeResource()
|
||||
|
||||
GL30.glDeleteFramebuffers(framebuffer)
|
||||
try {
|
||||
GL30.glDeleteFramebuffers(framebuffer)
|
||||
} catch {
|
||||
case e: Exception => logger.error("Error disposing screen viewport frame buffer!", e)
|
||||
}
|
||||
|
||||
texture.freeResource()
|
||||
renderer.freeResource()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user