Skip to content

Commit 7c179d1

Browse files
committed
Renderer cleanup
1 parent 3309595 commit 7c179d1

File tree

6 files changed

+21
-41
lines changed

6 files changed

+21
-41
lines changed

common/src/main/kotlin/com/lambda/graphics/gl/Scissor.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ object Scissor {
1313
private var stack = ArrayDeque<Rect>()
1414

1515
fun scissor(rect: Rect, block: () -> Unit) {
16-
// clamp corners so children scissor box can't overlap parent
16+
// clamp corners so children scissor boxes can't overlap parent
1717
val processed = stack.lastOrNull()?.let(rect::clamp) ?: rect
1818
registerScissor(processed, block)
1919
}
@@ -25,7 +25,7 @@ object Scissor {
2525
block()
2626

2727
stack.removeLast()
28-
stack.lastOrNull().apply(::scissor)
28+
scissor(stack.lastOrNull())
2929
}
3030

3131
private fun scissor(entry: Rect?) {

common/src/main/kotlin/com/lambda/graphics/renderer/Renderer.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

common/src/main/kotlin/com/lambda/graphics/renderer/gui/font/FontRenderer.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.lambda.graphics.renderer.gui.font
22

3+
import com.lambda.graphics.buffer.vao.VAO
34
import com.lambda.graphics.buffer.vao.vertex.VertexAttrib
45
import com.lambda.graphics.buffer.vao.vertex.VertexMode
5-
import com.lambda.graphics.renderer.Renderer
66
import com.lambda.graphics.renderer.gui.font.glyph.GlyphInfo
77
import com.lambda.graphics.shader.Shader
88
import com.lambda.module.modules.client.FontSettings
@@ -14,7 +14,9 @@ import java.awt.Color
1414
class FontRenderer(
1515
private val font: LambdaFont,
1616
private val emojis: LambdaMoji
17-
) : Renderer(VertexMode.TRIANGLES, VertexAttrib.Group.FONT) {
17+
) {
18+
private val vao = VAO(VertexMode.TRIANGLES, VertexAttrib.Group.FONT)
19+
1820
private val scaleMultiplier = 1.0
1921
private val emojiRegex = Regex(":[a-zA-Z0-9_]+:")
2022

@@ -144,14 +146,16 @@ class FontRenderer(
144146
)
145147
}
146148

147-
override fun render() {
149+
fun render() {
148150
shader.use()
149151
shader["u_EmojiTexture"] = 1
150152

151153
font.glyphs.bind()
152154
emojis.glyphs.bind()
153155

154-
super.render()
156+
vao.upload()
157+
vao.render()
158+
vao.clear()
155159
}
156160

157161
companion object {
Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.lambda.graphics.renderer.gui.rect
22

3-
import com.lambda.Lambda.mc
3+
import com.lambda.graphics.RenderMain
4+
import com.lambda.graphics.buffer.vao.VAO
45
import com.lambda.graphics.buffer.vao.vertex.VertexAttrib
56
import com.lambda.graphics.buffer.vao.vertex.VertexMode
6-
import com.lambda.graphics.renderer.Renderer
77
import com.lambda.graphics.shader.Shader
88
import com.lambda.module.modules.client.GuiSettings
99
import com.lambda.util.math.Vec2d
@@ -12,16 +12,19 @@ import org.lwjgl.glfw.GLFW.glfwGetTime
1212
abstract class AbstractRectRenderer(
1313
attribGroup: VertexAttrib.Group,
1414
val shader: Shader
15-
) : Renderer(VertexMode.TRIANGLES, attribGroup) {
16-
override fun render() {
15+
) {
16+
protected val vao = VAO(VertexMode.TRIANGLES, attribGroup)
17+
18+
open fun render() {
1719
shader.use()
1820
shader["u_Time"] = glfwGetTime() * GuiSettings.colorSpeed * 5.0
1921
shader["u_Color1"] = GuiSettings.shadeColor1
2022
shader["u_Color2"] = GuiSettings.shadeColor2
2123

22-
val screen = Vec2d(mc.window.framebufferWidth, mc.window.framebufferHeight)
23-
val size = Vec2d(GuiSettings.colorWidth, GuiSettings.colorHeight)
24-
shader["u_Size"] = screen / size
25-
super.render()
24+
shader["u_Size"] = RenderMain.screenSize /Vec2d(GuiSettings.colorWidth, GuiSettings.colorHeight)
25+
26+
vao.upload()
27+
vao.render()
28+
vao.clear()
2629
}
2730
}

common/src/main/kotlin/com/lambda/graphics/renderer/gui/rect/FilledRectRenderer.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ class FilledRectRenderer : AbstractRectRenderer(
5959

6060
override fun render() {
6161
shader.use()
62-
6362
super.render()
6463
}
6564

common/src/main/kotlin/com/lambda/graphics/texture/Texture.kt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,4 @@ abstract class Texture {
1515
protected abstract fun init()
1616

1717
open fun bind(slot: Int = 0) = bindTexture(id, slot)
18-
19-
override fun equals(other: Any?): Boolean {
20-
if (this === other) return true
21-
if (javaClass != other?.javaClass) return false
22-
23-
other as Texture
24-
25-
return id == other.id
26-
}
27-
28-
override fun hashCode() = id
2918
}

0 commit comments

Comments
 (0)