@@ -104,9 +104,10 @@ public NeoRenderer(World world){
104
104
105
105
Vector4f transformedOrigin = new Vector4f ();
106
106
107
- public void preRenderSortedRenderers (int renderPass , double alpha , WorldRenderer [] sortedWorldRenderers ) {
108
- if (hasInited ) {
109
- if (renderPass == 0 ) {
107
+ public int preRenderSortedRenderers (int renderPass , double alpha , WorldRenderer [] sortedWorldRenderers ) {
108
+ int rendered = 0 ;
109
+ if (hasInited ) {
110
+ if (renderPass == 0 ) {
110
111
renderedMeshes = 0 ;
111
112
renderedQuads = 0 ;
112
113
@@ -149,11 +150,12 @@ public void preRenderSortedRenderers(int renderPass, double alpha, WorldRenderer
149
150
if (rendererActive && renderWorld ) {
150
151
Minecraft .getMinecraft ().entityRenderer .enableLightmap (alpha );
151
152
152
- render (renderPass , alpha );
153
+ rendered += render (renderPass , alpha );
153
154
154
155
Minecraft .getMinecraft ().entityRenderer .disableLightmap (alpha );
155
156
}
156
157
}
158
+ return rendered ;
157
159
}
158
160
159
161
public void onRenderTickEnd () {
@@ -285,10 +287,10 @@ private void handleKeyboard() {
285
287
Matrix4f modelViewMatrixInv = new Matrix4f ();
286
288
Matrix4f projMatrix = new Matrix4f ();
287
289
288
- private void render (int pass , double alpha ) {
290
+ private int render (int pass , double alpha ) {
289
291
int shader = getShaderProgram (pass );
290
292
291
- if (shader == 0 ) return ;
293
+ if (shader == 0 ) return 0 ;
292
294
293
295
glBindVertexArray (VAO );
294
296
glUseProgram (shader );
@@ -301,10 +303,12 @@ private void render(int pass, double alpha) {
301
303
int u_renderOffset = glGetUniformLocation (getShaderProgram (pass ), "renderOffset" );
302
304
303
305
int oldLimit = piFirst [pass ].limit ();
304
-
306
+
307
+ int rendered = 0 ;
305
308
int order = pass == 0 ? 1 : -1 ;
306
309
for (int regionI = order == 1 ? 0 : loadedRegionsList .size () - 1 ; regionI >= 0 && regionI < loadedRegionsList .size (); regionI += order ) {
307
310
NeoRegion .RenderData region = loadedRegionsList .get (regionI ).getRenderData ();
311
+ rendered += region .batchLimit [pass ] - region .batchFirst [pass ];
308
312
Util .setPositionAndLimit (piFirst [pass ], region .batchFirst [pass ], region .batchLimit [pass ]);
309
313
Util .setPositionAndLimit (piCount [pass ], region .batchFirst [pass ], region .batchLimit [pass ]);
310
314
@@ -320,6 +324,7 @@ private void render(int pass, double alpha) {
320
324
321
325
glBindVertexArray (0 );
322
326
glUseProgram (0 );
327
+ return rendered ;
323
328
}
324
329
325
330
private void updateGLValues () {
0 commit comments