@@ -30,7 +30,7 @@ import kotlin.collections.isNotEmpty
3030
3131abstract class AbstractRenderer (val name : String , var depthTest : SafeContext .() -> Boolean ) {
3232 protected abstract fun getRendererTransforms (): List <Pair <RegionRenderer , GpuBufferSlice >>
33-
33+
3434 protected abstract fun getScreenRenderers (): List <RegionRenderer >
3535
3636 protected abstract val currentFontAtlas: SDFFontAtlas ?
@@ -41,7 +41,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
4141 if (chunks.isEmpty()) return
4242
4343 RegionRenderer .createRenderPass(" $name Faces" , depth)?.use { pass ->
44- pass.setPipeline(RendererUtils .facesPipeline )
44+ pass.setPipeline(RendererUtils .worldFacesPipeline )
4545 RenderSystem .bindDefaultUniforms(pass)
4646 chunks.forEach { (renderer, transform) ->
4747 pass.setUniform(" DynamicTransforms" , transform)
@@ -50,7 +50,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
5050 }
5151
5252 RegionRenderer .createRenderPass(" $name Edges" , depth)?.use { pass ->
53- pass.setPipeline(RendererUtils .edgesPipeline )
53+ pass.setPipeline(RendererUtils .worldLinesPipeline )
5454 RenderSystem .bindDefaultUniforms(pass)
5555 chunks.forEach { (renderer, transform) ->
5656 pass.setUniform(" DynamicTransforms" , transform)
@@ -66,7 +66,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
6666 val sampler = atlas.sampler
6767 if (textureView != null && sampler != null ) {
6868 RegionRenderer .createRenderPass(" $name Text" , depth)?.use { pass ->
69- pass.setPipeline(RendererUtils .textPipeline )
69+ pass.setPipeline(RendererUtils .worldTextPipeline )
7070 RenderSystem .bindDefaultUniforms(pass)
7171 pass.bindTexture(" Sampler0" , textureView, sampler)
7272 textChunks.forEach { (renderer, transform) ->
@@ -80,13 +80,13 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
8080 val imageChunks = chunks.filter { (renderer, _) -> renderer.hasWorldImageData() }
8181 if (imageChunks.isNotEmpty()) {
8282 RendererUtils .ensureGlintTextureLoaded()
83-
83+
8484 RegionRenderer .createRenderPass(" $name World Images" , depth)?.use { pass ->
8585 pass.setPipeline(RendererUtils .worldImagePipeline)
8686 RenderSystem .bindDefaultUniforms(pass)
8787
8888 RendererUtils .bindGlintTexture(pass, " Sampler1" )
89-
89+
9090 imageChunks.forEach { (renderer, transform) ->
9191 pass.setUniform(" DynamicTransforms" , transform)
9292 renderer.renderWorldImages(pass)
@@ -97,19 +97,19 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
9797 val modelChunks = chunks.filter { (renderer, _) -> renderer.hasModelData() }
9898 if (modelChunks.isNotEmpty()) {
9999 RendererUtils .ensureGlintTextureLoaded()
100-
100+
101101 val glintUniform = RendererUtils .createGlintUniform(8.0f )
102-
102+
103103 RegionRenderer .createRenderPass(" $name World Models" , depth)?.use { pass ->
104- pass.setPipeline(RendererUtils .modelPipeline )
104+ pass.setPipeline(RendererUtils .worldModelPipeline )
105105 RenderSystem .bindDefaultUniforms(pass)
106106
107107 RendererUtils .bindOverlayTexture(pass, " Sampler1" )
108108 RendererUtils .bindLightmapTexture(pass, " Sampler2" )
109109 RendererUtils .bindGlintTexture(pass, " Sampler3" )
110110
111111 pass.setUniform(" GlintTransforms" , glintUniform)
112-
112+
113113 modelChunks.forEach { (renderer, transform) ->
114114 pass.setUniform(" DynamicTransforms" , transform)
115115 renderer.renderModels(pass)
@@ -128,7 +128,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
128128 val style = chunks.firstNotNullOfOrNull { it.first.getOutlineStyle(id) } ? : OutlineStyle .DEFAULT
129129
130130 RegionRenderer .createRenderPass(" $name Outlined Draw $id " , depth)?.use { pass ->
131- pass.setPipeline(RendererUtils .facesPipeline )
131+ pass.setPipeline(RendererUtils .worldFacesPipeline )
132132 RenderSystem .bindDefaultUniforms(pass)
133133 chunks.forEach { (renderer, transform) ->
134134 if (renderer.hasOutlinedData(id)) {
@@ -137,7 +137,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
137137 }
138138 }
139139
140- pass.setPipeline(RendererUtils .edgesPipeline )
140+ pass.setPipeline(RendererUtils .worldLinesPipeline )
141141 RenderSystem .bindDefaultUniforms(pass)
142142 chunks.forEach { (renderer, transform) ->
143143 if (renderer.hasOutlinedData(id)) {
@@ -148,7 +148,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
148148
149149 val atlasD = currentFontAtlas
150150 if (atlasD != null && atlasD.textureView != null ) {
151- pass.setPipeline(RendererUtils .textPipeline )
151+ pass.setPipeline(RendererUtils .worldTextPipeline )
152152 RenderSystem .bindDefaultUniforms(pass)
153153 pass.bindTexture(" Sampler0" , atlasD.textureView!! , atlasD.sampler ? : nearestSampler)
154154 chunks.forEach { (renderer, transform) ->
@@ -169,7 +169,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
169169 }
170170 }
171171
172- pass.setPipeline(RendererUtils .modelPipeline )
172+ pass.setPipeline(RendererUtils .worldModelPipeline )
173173 RenderSystem .bindDefaultUniforms(pass)
174174 RendererUtils .bindOverlayTexture(pass, " Sampler1" )
175175 RendererUtils .bindLightmapTexture(pass, " Sampler2" )
@@ -187,7 +187,7 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
187187 val groupTarget = OutlineRenderer .getGroupView() ? : return @forEach
188188 val groupDepthView = OutlineRenderer .getGroupDepthView() ? : return @forEach
189189
190- RenderSystem .getDevice()
190+ RenderSystem .getDevice()
191191 .createCommandEncoder()
192192 .createRenderPass(
193193 { " $name Outline Group $id - Draw" },
@@ -251,17 +251,17 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
251251 }
252252 }
253253
254- OutlineRenderer .endGroupPass(style, depth)
255- }
254+ OutlineRenderer .endGroupPass(style, depth)
256255 }
256+ }
257257 }
258258
259259 fun renderScreen () {
260260 val renderers = getScreenRenderers()
261261
262262 RendererUtils .withScreenContext {
263263 val dynamicTransform = RendererUtils .createScreenDynamicTransform()
264-
264+
265265 RendererUtils .clearScreenDepthBuffer()
266266
267267 fun getScreenPass (label : String ): RenderPass ? =
@@ -270,11 +270,11 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
270270 val modelRenderers = renderers.filter { it.hasScreenModelData() }
271271 if (modelRenderers.isNotEmpty()) {
272272 RendererUtils .ensureGlintTextureLoaded()
273-
273+
274274 val glintUniform = RendererUtils .createGlintUniform(8.0f )
275-
275+
276276 getScreenPass(" $name Screen Models" )?.use { pass ->
277- pass.setPipeline(RendererUtils .modelPipeline )
277+ pass.setPipeline(RendererUtils .worldModelPipeline )
278278 RenderSystem .bindDefaultUniforms(pass)
279279
280280 pass.setUniform(" DynamicTransforms" , dynamicTransform)
@@ -283,23 +283,26 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
283283 RendererUtils .bindOverlayTexture(pass, " Sampler1" )
284284 RendererUtils .bindLightmapTexture(pass, " Sampler2" )
285285 RendererUtils .bindGlintTexture(pass, " Sampler3" )
286-
286+
287287 modelRenderers.forEach { it.renderScreenModels(pass) }
288288 }
289289 }
290290
291- getScreenPass(" $name Screen Faces" )?.use { pass ->
292- pass.setPipeline(RendererUtils .screenFacesPipeline)
293- RenderSystem .bindDefaultUniforms(pass)
294- pass.setUniform(" DynamicTransforms" , dynamicTransform)
295- renderers.forEach { it.renderScreenFaces(pass) }
296- }
291+ val imageRenderers = renderers.filter { it.hasScreenImageData() }
292+ if (imageRenderers.isNotEmpty()) {
293+ RendererUtils .ensureGlintTextureLoaded()
297294
298- getScreenPass(" $name Screen Edges" )?.use { pass ->
299- pass.setPipeline(RendererUtils .screenEdgesPipeline)
300- RenderSystem .bindDefaultUniforms(pass)
301- pass.setUniform(" DynamicTransforms" , dynamicTransform)
302- renderers.forEach { it.renderScreenEdges(pass) }
295+ val glintTransform = RendererUtils .createScreenDynamicTransformWithGlint()
296+
297+ getScreenPass(" $name Screen Images" )?.use { pass ->
298+ pass.setPipeline(RendererUtils .screenImagePipeline)
299+ RenderSystem .bindDefaultUniforms(pass)
300+ pass.setUniform(" DynamicTransforms" , glintTransform)
301+
302+ RendererUtils .bindGlintTexture(pass, " Sampler1" )
303+
304+ imageRenderers.forEach { it.renderScreenImages(pass) }
305+ }
303306 }
304307
305308 val textRenderers = renderers.filter { it.hasScreenTextData() }
@@ -319,21 +322,18 @@ abstract class AbstractRenderer(val name: String, var depthTest: SafeContext.()
319322 }
320323 }
321324
322- val imageRenderers = renderers.filter { it.hasScreenImageData() }
323- if (imageRenderers.isNotEmpty()) {
324- RendererUtils .ensureGlintTextureLoaded()
325-
326- val glintTransform = RendererUtils .createScreenDynamicTransformWithGlint()
327-
328- getScreenPass(" $name Screen Images" )?.use { pass ->
329- pass.setPipeline(RendererUtils .screenImagePipeline)
330- RenderSystem .bindDefaultUniforms(pass)
331- pass.setUniform(" DynamicTransforms" , glintTransform)
325+ getScreenPass(" $name Screen Faces" )?.use { pass ->
326+ pass.setPipeline(RendererUtils .screenFacesPipeline)
327+ RenderSystem .bindDefaultUniforms(pass)
328+ pass.setUniform(" DynamicTransforms" , dynamicTransform)
329+ renderers.forEach { it.renderScreenFaces(pass) }
330+ }
332331
333- RendererUtils .bindGlintTexture(pass, " Sampler1" )
334-
335- imageRenderers.forEach { it.renderScreenImages(pass) }
336- }
332+ getScreenPass(" $name Screen Edges" )?.use { pass ->
333+ pass.setPipeline(RendererUtils .screenLinesPipeline)
334+ RenderSystem .bindDefaultUniforms(pass)
335+ pass.setUniform(" DynamicTransforms" , dynamicTransform)
336+ renderers.forEach { it.renderScreenEdges(pass) }
337337 }
338338 }
339339 }
0 commit comments