remove Renderer::polygonMode

This commit is contained in:
Moritz Zwerger 2023-07-25 23:37:51 +02:00
parent 46d42fce17
commit 47e83587f4
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
4 changed files with 12 additions and 20 deletions

View File

@ -20,6 +20,7 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observed
import de.bixilon.minosoft.config.key.KeyCodes
import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.events.ResizeWindowEvent
import de.bixilon.minosoft.gui.rendering.framebuffer.IntegratedFramebuffer
import de.bixilon.minosoft.gui.rendering.gui.atlas.AtlasManager
import de.bixilon.minosoft.gui.rendering.gui.gui.GUIManager
import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.DraggedManager
@ -30,8 +31,6 @@ import de.bixilon.minosoft.gui.rendering.input.InputHandler
import de.bixilon.minosoft.gui.rendering.renderer.renderer.AsyncRenderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.RendererBuilder
import de.bixilon.minosoft.gui.rendering.system.base.BlendingFunctions
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
import de.bixilon.minosoft.gui.rendering.system.base.phases.OtherDrawable
import de.bixilon.minosoft.gui.rendering.system.window.KeyChangeTypes
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
@ -54,10 +53,7 @@ class GUIRenderer(
var halfSize: Vec2 = Vec2()
private set
var resolutionUpdate = true
override val framebuffer: Framebuffer
get() = context.framebuffer.gui.framebuffer
override val polygonMode: PolygonModes
get() = context.framebuffer.gui.polygonMode
override val framebuffer: IntegratedFramebuffer get() = context.framebuffer.gui
val shader = context.system.createShader("minosoft:gui".toResourceLocation()) { GUIShader(it) }
val atlasManager = AtlasManager(context)

View File

@ -15,17 +15,13 @@ package de.bixilon.minosoft.gui.rendering.renderer.renderer
import de.bixilon.kutil.latch.AbstractLatch
import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
import de.bixilon.minosoft.gui.rendering.framebuffer.IntegratedFramebuffer
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
interface Renderer {
val context: RenderContext
val renderSystem: RenderSystem
val framebuffer: Framebuffer?
get() = context.framebuffer.world.framebuffer
val polygonMode: PolygonModes
get() = context.framebuffer.world.polygonMode
val framebuffer: IntegratedFramebuffer? get() = context.framebuffer.world
fun preAsyncInit(latch: AbstractLatch) = Unit
fun init(latch: AbstractLatch) = Unit

View File

@ -22,6 +22,7 @@ import de.bixilon.kutil.latch.AbstractLatch
import de.bixilon.kutil.latch.ParentLatch
import de.bixilon.kutil.latch.SimpleLatch
import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
import de.bixilon.minosoft.gui.rendering.system.base.phases.PostDrawable
import de.bixilon.minosoft.gui.rendering.system.base.phases.PreDrawable
import de.bixilon.minosoft.gui.rendering.system.base.phases.RenderPhases
@ -99,8 +100,9 @@ class RendererManager(
if (phase.invokeSkip(renderer)) {
continue
}
renderSystem.framebuffer = renderer.framebuffer
renderSystem.polygonMode = renderer.polygonMode
val framebuffer = renderer.framebuffer
renderSystem.framebuffer = framebuffer?.framebuffer
renderSystem.polygonMode = framebuffer?.polygonMode ?: PolygonModes.DEFAULT
phase.invokeSetup(renderer)
phase.invokeDraw(renderer)
}
@ -150,7 +152,7 @@ class RendererManager(
if (renderer.skipPre) {
continue
}
renderSystem.polygonMode = renderer.polygonMode
renderSystem.polygonMode = renderer.framebuffer?.polygonMode ?: PolygonModes.DEFAULT
renderer.drawPre()
}
}
@ -166,7 +168,7 @@ class RendererManager(
if (renderer.skipPost) {
continue
}
renderSystem.polygonMode = renderer.polygonMode
renderSystem.polygonMode = renderer.framebuffer?.polygonMode ?: PolygonModes.DEFAULT
renderer.drawPost()
}
}

View File

@ -19,6 +19,7 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observe
import de.bixilon.kutil.observer.DataObserver.Companion.observed
import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.events.CameraMatrixChangeEvent
import de.bixilon.minosoft.gui.rendering.framebuffer.IntegratedFramebuffer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.AsyncRenderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.Renderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.RendererBuilder
@ -27,9 +28,7 @@ import de.bixilon.minosoft.gui.rendering.sky.planet.MoonRenderer
import de.bixilon.minosoft.gui.rendering.sky.planet.SunRenderer
import de.bixilon.minosoft.gui.rendering.sky.planet.scatter.SunScatterRenderer
import de.bixilon.minosoft.gui.rendering.system.base.DepthFunctions
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
import de.bixilon.minosoft.gui.rendering.system.base.RenderSystem
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
import de.bixilon.minosoft.gui.rendering.system.base.phases.PreDrawable
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
@ -39,8 +38,7 @@ class SkyRenderer(
override val context: RenderContext,
) : Renderer, PreDrawable, AsyncRenderer {
override val renderSystem: RenderSystem = context.system
override val framebuffer: Framebuffer? = null
override val polygonMode: PolygonModes = PolygonModes.DEFAULT
override val framebuffer: IntegratedFramebuffer? = null
private val renderer: MutableList<SkyChildRenderer> = mutableListOf()
var effects by observed(connection.world.dimension.effects)
var matrix by observed(Mat4())