@@ -166,12 +166,11 @@ public void BenchmarkRender()
166
166
{
167
167
var dut = new Maploader . World . World ( ) ;
168
168
dut . Open ( Path . Combine ( AppDomain . CurrentDomain . BaseDirectory , "benchmark" , "world" , "db" ) ) ;
169
- int chunkRadius = 1 ;
170
- int centerOffsetX = 1 ; //65;
171
- int centerOffsetZ = 1 ; //65;
169
+ int XMin = - 1 , XMax = 3 ;
170
+ int ZMin = - 1 , ZMax = 4 ;
172
171
string filename = "benchmark.png" ;
173
172
174
- RenderMap ( chunkRadius , dut , centerOffsetX , centerOffsetZ , filename ) ;
173
+ RenderMap ( dut , filename , XMin , XMax , ZMin , ZMax ) ;
175
174
}
176
175
177
176
private static void RenderMap ( int chunkRadius , Maploader . World . World dut , int centerOffsetX ,
@@ -180,6 +179,12 @@ private static void RenderMap(int chunkRadius, Maploader.World.World dut, int ce
180
179
int XMin = centerOffsetX - chunkRadius , XMax = centerOffsetX + chunkRadius ;
181
180
int ZMin = centerOffsetZ - chunkRadius , ZMax = centerOffsetZ + chunkRadius ;
182
181
182
+ RenderMap ( dut , filename , XMin , XMax , ZMin , ZMax ) ;
183
+ }
184
+
185
+ private static void RenderMap ( Maploader . World . World dut , string filename ,
186
+ int XMin , int XMax , int ZMin , int ZMax )
187
+ {
183
188
var json = File . ReadAllText ( Path . Combine ( AppDomain . CurrentDomain . BaseDirectory , @"textures" ,
184
189
"terrain_texture.json" ) ) ;
185
190
var ts = new TerrainTextureJsonParser ( json , "" ) ;
@@ -189,7 +194,7 @@ private static void RenderMap(int chunkRadius, Maploader.World.World dut, int ce
189
194
Path . Combine ( AppDomain . CurrentDomain . BaseDirectory , "textures" ) , g ) ;
190
195
finder . Debug = false ;
191
196
192
- var b = g . CreateEmptyImage ( 16 * 16 * ( 2 * chunkRadius + 1 ) , 16 * 16 * ( 2 * chunkRadius + 1 ) ) ;
197
+ var b = g . CreateEmptyImage ( 16 * 16 * ( XMax - XMin + 1 ) , 16 * 16 * ( ZMax - ZMin + 1 ) ) ;
193
198
194
199
var render = new ChunkRenderer < Bitmap > ( finder , g , new RenderSettings ( ) { YMax = 40 } ) ;
195
200
@@ -205,9 +210,9 @@ private static void RenderMap(int chunkRadius, Maploader.World.World dut, int ce
205
210
var c = dut . GetChunk ( chunkData . X , chunkData . Z , chunkData ) ;
206
211
if ( c != null )
207
212
{
208
- int dx = chunkData . X - centerOffsetX ;
209
- int dz = chunkData . Z - centerOffsetZ ;
210
- render . RenderChunk ( b , c , ( chunkRadius + dx ) * 256 , ( chunkRadius + dz ) * 256 ) ;
213
+ int dx = chunkData . X - XMin ;
214
+ int dz = chunkData . Z - ZMin ;
215
+ render . RenderChunk ( b , c , dx * 256 , dz * 256 ) ;
211
216
}
212
217
}
213
218
0 commit comments