Procházet zdrojové kódy

well it renderes now. but slooooow!

Zoadian před 11 roky
rodič
revize
df7b5c9066
2 změnil soubory, kde provedl 11 přidání a 11 odebrání
  1. 3 2
      source/app.d
  2. 8 9
      source/gl/renderer.d

+ 3 - 2
source/app.d

@@ -128,6 +128,7 @@ void main() {
 	//------------------------------------------------
 	ulong frameCount = 0;
 	glfwSetTime(0);
+
 	while(keepRunning) {
 		window.pollEvents();
 		
@@ -137,12 +138,12 @@ void main() {
 
 		debug{ renderer.blitGBufferToScreen(); }
 
-		TwDraw();
+//		TwDraw();
 		
 		window.swapBuffers();
 		
 		++frameCount;
-		if(frameCount % 1000 == 0) {
+		if(frameCount % 10 == 0) {
 			auto fps = cast(double)frameCount / glfwGetTime();
 			log("FPS: ", fps);
 			frameCount = 0;

+ 8 - 9
source/gl/renderer.d

@@ -16,11 +16,10 @@ import three.gl.sync;
 import three.gl.util;
 public import three.gl.renderTarget;
 
-enum maxVertices = 1 * 1024 * 1024;
-enum maxIndices = 1 * 1024 * 1024;
-enum maxPerInstanceParams = 1 * 1024 * 1024;
-enum maxIndirectCommands = 1 * 1024 * 1024;
-enum bufferCount = 3; //tripple buffering
+enum maxVertices = 16 * 1024;
+enum maxIndices = 16 * 1024;
+enum maxPerInstanceParams = 1024;
+enum maxIndirectCommands = 1024;
 
 
 
@@ -229,10 +228,10 @@ struct Renderer {
 		
 		this.gbuffer.construct(width, height);
 		this.shaderPipeline.construct(vertexShaderSource, fragmentShaderSource);
-		this.vertexBuffer.construct(bufferCount * maxVertices, createFlags, mapFlags);
-		this.indexBuffer.construct(bufferCount * maxIndices, createFlags, mapFlags);
-		this.perInstanceParamBuffer.construct(bufferCount * maxPerInstanceParams, createFlags, mapFlags);
-		this.drawIndirectCommandBuffer.construct(bufferCount * maxIndirectCommands, createFlags, mapFlags);
+		this.vertexBuffer.construct(maxVertices, createFlags, mapFlags);
+		this.indexBuffer.construct(maxIndices, createFlags, mapFlags);
+		this.perInstanceParamBuffer.construct(maxPerInstanceParams, createFlags, mapFlags);
+		this.drawIndirectCommandBuffer.construct(maxIndirectCommands, createFlags, mapFlags);
 		this.vertexSyncManager.construct();
 		this.indexSyncManager.construct();
 		this.perInstanceParamSyncManager.construct();