saving performed on separate thread so that save-in-progress UI would work

This commit is contained in:
minjaesong
2021-09-14 14:28:38 +09:00
parent b084f9e5a9
commit ce19a85a93
6 changed files with 189 additions and 103 deletions

View File

@@ -378,8 +378,10 @@ object IngameRenderer : Disposable {
processBlur(lightmapFboA, lightmapFboB)
}
internal var fboRGBexportRequested = false
internal var fboRGBexportCallback: (FrameBuffer) -> Unit = {}
@Volatile internal var fboRGBexportRequested = false
@Volatile internal var fboRGBexportedLatch = false
@Volatile internal var fboRGBexportCallback: (FrameBuffer) -> Unit = {}
@Volatile internal lateinit var fboRGBexport: Pixmap
private fun drawToRGB(
actorsRenderBehind: List<ActorWithBody>?,
@@ -737,6 +739,11 @@ object IngameRenderer : Disposable {
shaderRGBOnly.dispose()
shaderAtoGrey.dispose()
shaderPassthru.dispose()
try {
fboRGBexport.dispose()
}
catch (e: Throwable) { e.printStackTrace() }
}
private fun worldCamToRenderPos(): Pair<Float, Float> {