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.config.key.KeyCodes
import de.bixilon.minosoft.gui.rendering.RenderContext import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.events.ResizeWindowEvent 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.atlas.AtlasManager
import de.bixilon.minosoft.gui.rendering.gui.gui.GUIManager import de.bixilon.minosoft.gui.rendering.gui.gui.GUIManager
import de.bixilon.minosoft.gui.rendering.gui.gui.dragged.DraggedManager 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.AsyncRenderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.RendererBuilder 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.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.base.phases.OtherDrawable
import de.bixilon.minosoft.gui.rendering.system.window.KeyChangeTypes import de.bixilon.minosoft.gui.rendering.system.window.KeyChangeTypes
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
@ -54,10 +53,7 @@ class GUIRenderer(
var halfSize: Vec2 = Vec2() var halfSize: Vec2 = Vec2()
private set private set
var resolutionUpdate = true var resolutionUpdate = true
override val framebuffer: Framebuffer override val framebuffer: IntegratedFramebuffer get() = context.framebuffer.gui
get() = context.framebuffer.gui.framebuffer
override val polygonMode: PolygonModes
get() = context.framebuffer.gui.polygonMode
val shader = context.system.createShader("minosoft:gui".toResourceLocation()) { GUIShader(it) } val shader = context.system.createShader("minosoft:gui".toResourceLocation()) { GUIShader(it) }
val atlasManager = AtlasManager(context) 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.kutil.latch.AbstractLatch
import de.bixilon.minosoft.gui.rendering.RenderContext 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.RenderSystem
import de.bixilon.minosoft.gui.rendering.system.base.buffer.frame.Framebuffer
interface Renderer { interface Renderer {
val context: RenderContext val context: RenderContext
val renderSystem: RenderSystem val renderSystem: RenderSystem
val framebuffer: Framebuffer? val framebuffer: IntegratedFramebuffer? get() = context.framebuffer.world
get() = context.framebuffer.world.framebuffer
val polygonMode: PolygonModes
get() = context.framebuffer.world.polygonMode
fun preAsyncInit(latch: AbstractLatch) = Unit fun preAsyncInit(latch: AbstractLatch) = Unit
fun init(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.ParentLatch
import de.bixilon.kutil.latch.SimpleLatch import de.bixilon.kutil.latch.SimpleLatch
import de.bixilon.minosoft.gui.rendering.RenderContext 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.PostDrawable
import de.bixilon.minosoft.gui.rendering.system.base.phases.PreDrawable import de.bixilon.minosoft.gui.rendering.system.base.phases.PreDrawable
import de.bixilon.minosoft.gui.rendering.system.base.phases.RenderPhases import de.bixilon.minosoft.gui.rendering.system.base.phases.RenderPhases
@ -99,8 +100,9 @@ class RendererManager(
if (phase.invokeSkip(renderer)) { if (phase.invokeSkip(renderer)) {
continue continue
} }
renderSystem.framebuffer = renderer.framebuffer val framebuffer = renderer.framebuffer
renderSystem.polygonMode = renderer.polygonMode renderSystem.framebuffer = framebuffer?.framebuffer
renderSystem.polygonMode = framebuffer?.polygonMode ?: PolygonModes.DEFAULT
phase.invokeSetup(renderer) phase.invokeSetup(renderer)
phase.invokeDraw(renderer) phase.invokeDraw(renderer)
} }
@ -150,7 +152,7 @@ class RendererManager(
if (renderer.skipPre) { if (renderer.skipPre) {
continue continue
} }
renderSystem.polygonMode = renderer.polygonMode renderSystem.polygonMode = renderer.framebuffer?.polygonMode ?: PolygonModes.DEFAULT
renderer.drawPre() renderer.drawPre()
} }
} }
@ -166,7 +168,7 @@ class RendererManager(
if (renderer.skipPost) { if (renderer.skipPost) {
continue continue
} }
renderSystem.polygonMode = renderer.polygonMode renderSystem.polygonMode = renderer.framebuffer?.polygonMode ?: PolygonModes.DEFAULT
renderer.drawPost() 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.kutil.observer.DataObserver.Companion.observed
import de.bixilon.minosoft.gui.rendering.RenderContext import de.bixilon.minosoft.gui.rendering.RenderContext
import de.bixilon.minosoft.gui.rendering.events.CameraMatrixChangeEvent 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.AsyncRenderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.Renderer import de.bixilon.minosoft.gui.rendering.renderer.renderer.Renderer
import de.bixilon.minosoft.gui.rendering.renderer.renderer.RendererBuilder 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.SunRenderer
import de.bixilon.minosoft.gui.rendering.sky.planet.scatter.SunScatterRenderer 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.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.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.gui.rendering.system.base.phases.PreDrawable
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
@ -39,8 +38,7 @@ class SkyRenderer(
override val context: RenderContext, override val context: RenderContext,
) : Renderer, PreDrawable, AsyncRenderer { ) : Renderer, PreDrawable, AsyncRenderer {
override val renderSystem: RenderSystem = context.system override val renderSystem: RenderSystem = context.system
override val framebuffer: Framebuffer? = null override val framebuffer: IntegratedFramebuffer? = null
override val polygonMode: PolygonModes = PolygonModes.DEFAULT
private val renderer: MutableList<SkyChildRenderer> = mutableListOf() private val renderer: MutableList<SkyChildRenderer> = mutableListOf()
var effects by observed(connection.world.dimension.effects) var effects by observed(connection.world.dimension.effects)
var matrix by observed(Mat4()) var matrix by observed(Mat4())