|  |  | @@ -110,28 +110,49 @@ void Chunk::SetBlock(int x, int y, int z, BlockType type, World* world) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | BlockType Chunk::GetBlock(int x, int y, int z) { return m_blocks.Get(x, y, z); } |  |  |  | BlockType Chunk::GetBlock(int x, int y, int z) { return m_blocks.Get(x, y, z); } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | void Chunk::CheckNeighbors(unsigned int x, unsigned int z, World* world) { |  |  |  | NEIGHBOR_CHUNK_POSITION Chunk::CheckNeighbors(unsigned int x, unsigned int z, World* world) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     unsigned int cx, cy; |  |  |  |     unsigned int cx, cy; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     world->GetScope(cx, cy); |  |  |  |     world->GetScope(cx, cy); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (x == 0 && m_posX - cx >= 0 && |  |  |  |     if (x == 0 && m_posX - cx >= 0 && world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); |  |  |  |         world->ChunkAt((m_posX - cx - 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     else if (x == CHUNK_SIZE_X - 1 && m_posX - cx < WORLD_SIZE_X &&  |  |  |  |         return X_MINUS; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) |  |  |  |     } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     else if (x == CHUNK_SIZE_X - 1 && m_posX - cx < WORLD_SIZE_X && world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); |  |  |  |         world->ChunkAt((m_posX - cx + 1) * CHUNK_SIZE_X, 1, (m_posY - cy) * CHUNK_SIZE_Z)->MakeDirty(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return X_PLUS; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (z == 0 && m_posY - cy >= 0 &&  |  |  |  |     if (z == 0 && m_posY - cy >= 0 && world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)) |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)->MakeDirty(); |  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy - 1) * CHUNK_SIZE_Z)->MakeDirty(); | 
			
		
	
		
		
			
				
					
					|  |  |  |     else if (z == CHUNK_SIZE_X - 1 && m_posY - cy < WORLD_SIZE_Y && |  |  |  |         return Z_MINUS; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)) |  |  |  |     } | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     else if (z == CHUNK_SIZE_X - 1 && m_posY - cy < WORLD_SIZE_Y && world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)) { | 
			
		
	
		
		
			
				
					
					|  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)->MakeDirty(); |  |  |  |         world->ChunkAt((m_posX - cx) * CHUNK_SIZE_X, 1, (m_posY - cy + 1) * CHUNK_SIZE_Z)->MakeDirty(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return Z_PLUS; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     return NONE; | 
			
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | void Chunk::GetPosition(unsigned int& x, unsigned int& y) const { x = m_posX; y = m_posY; } |  |  |  | void Chunk::GetPosition(unsigned int& x, unsigned int& y) const { x = m_posX; y = m_posY; } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | void Chunk::AddAllVertices(VertexBuffer::VertexData* vd, int& count, BlockType bt, int cx, int cy, int x, int y, int z, float u, float v, float s, World* world) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (world->BlockAt(cx + 1, y, cy) == BTYPE_AIR) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddXPlusVertices(vd, count, bt, x, y, z, u, v, s); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (world->BlockAt(cx - 1, y, cy) == BTYPE_AIR) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddXMinusVertices(vd, count, bt, x, y, z, u, v, s); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (world->BlockAt(cx, y, cy + 1) == BTYPE_AIR) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddZPlusVertices(vd, count, bt, x, y, z, u, v, s); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (world->BlockAt(cx, y, cy - 1) == BTYPE_AIR) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddZMinusVertices(vd, count, bt, x, y, z, u, v, s); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | void Chunk::FlushMeshToVBO() { |  |  |  | void Chunk::FlushMeshToVBO() { | 
			
		
	
		
		
			
				
					
					|  |  |  |     m_vertexBuffer.SetMeshData(m_vd, m_vcount); |  |  |  |     m_vertexBuffer.SetMeshData(m_vd, m_vcount); | 
			
		
	
		
		
			
				
					
					|  |  |  |     m_vcount = 0; |  |  |  |     m_vcount = 0; | 
			
		
	
	
		
		
			
				
					
					|  |  | @@ -181,47 +202,66 @@ void Chunk::AddBlockToMesh(VertexBuffer::VertexData* vd, int& count, BlockType b | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     int cx = x + (m_posX - cex) * CHUNK_SIZE_X, cy = z + (m_posY - cey) * CHUNK_SIZE_Z; |  |  |  |     int cx = x + (m_posX - cex) * CHUNK_SIZE_X, cy = z + (m_posY - cey) * CHUNK_SIZE_Z; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (y == CHUNK_SIZE_Y - 1 || GetBlock(x, y + 1, z) == BTYPE_AIR) {                      //  y |  |  |  |     bool isOnBorder = (x == 0 || x == CHUNK_SIZE_X - 1 || | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                        z == 0 || z == CHUNK_SIZE_Z - 1 || | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                        y == 0 || y == CHUNK_SIZE_Y - 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     NEIGHBOR_CHUNK_POSITION ncp = CheckNeighbors(x, z, world); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     if (y == CHUNK_SIZE_Y - 1 || GetBlock(x, y + 1, z) == BTYPE_AIR) {                                              // Y+ | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, .8f, .8f, .8f, u, v); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, .8f, .8f, .8f, u, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .8f, .8f, .8f, u, v + s); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .8f, .8f, .8f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .8f, .8f, .8f, u + s, v + s); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .8f, .8f, .8f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, .8f, .8f, .8f, u + s, v); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, .8f, .8f, .8f, u + s, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (y == 0 || GetBlock(x, y - 1, z) == BTYPE_AIR) {                                     // -y |  |  |  |     if (y == 0 || GetBlock(x, y - 1, z) == BTYPE_AIR) {                                                             // Y- | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .2f, .2f, .2f, u, v); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .2f, .2f, .2f, u, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y, z, .2f, .2f, .2f, u, v + s); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y, z, .2f, .2f, .2f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z, .2f, .2f, .2f, u + s, v + s); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z, .2f, .2f, .2f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .2f, .2f, .2f, u + s, v); |  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .2f, .2f, .2f, u + s, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (world->BlockAt(cx + 1, y, cy) == BTYPE_AIR) {                      //  x |  |  |  |     if (!isOnBorder || (x == CHUNK_SIZE_X - 1 && ncp == X_PLUS) || (x == CHUNK_SIZE_X - 1 && ncp == NONE)) {        // X+ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddAllVertices(vd, count, bt, cx, cy, x, y, z, u, v, s, world); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     else if (!isOnBorder || (x == 0 && ncp == X_MINUS) || (x == 0 && ncp == NONE)) {							    // X- | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddAllVertices(vd, count, bt, cx, cy, x, y, z, u, v, s, world); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     else if (!isOnBorder || (z == CHUNK_SIZE_Z - 1 && ncp == Z_PLUS) || (z == CHUNK_SIZE_Z - 1 && ncp == NONE)) {	// Z+ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddAllVertices(vd, count, bt, cx, cy, x, y, z, u, v, s, world); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     else if (!isOnBorder || (z == 0 && ncp == Z_MINUS) || (z == 0 && ncp == NONE)) {								// Z- | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         AddAllVertices(vd, count, bt, cx, cy, x, y, z, u, v, s, world); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | void Chunk::AddXPlusVertices(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s) { | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z, .9f, .9f, .9f, u, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z, .9f, .9f, .9f, u, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, .9f, .9f, .9f, u, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, .9f, .9f, .9f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .9f, .9f, .9f, u + s, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .9f, .9f, .9f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .9f, .9f, .9f, u + s, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .9f, .9f, .9f, u + s, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  | } | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (world->BlockAt(cx - 1, y, cy) == BTYPE_AIR) {                                     // -x |  |  |  | void Chunk::AddXMinusVertices(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .5f, .5f, .5f, u, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .5f, .5f, .5f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, .5f, .5f, .5f, u + s, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, .5f, .5f, .5f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z, .5f, .5f, .5f, u + s, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z, .5f, .5f, .5f, u + s, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .5f, .5f, .5f, u, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .5f, .5f, .5f, u, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  | } | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (world->BlockAt(cx, y, cy + 1) == BTYPE_AIR) {                      //  z |  |  |  | void Chunk::AddZPlusVertices(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .4f, .4f, .4f, u, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z + 1.f, .4f, .4f, .4f, u, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .4f, .4f, .4f, u + s, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z + 1.f, .4f, .4f, .4f, u + s, v); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .4f, .4f, .4f, u + s, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z + 1.f, .4f, .4f, .4f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .4f, .4f, .4f, u, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z + 1.f, .4f, .4f, .4f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  | } | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     if (world->BlockAt(cx, y, cy - 1) == BTYPE_AIR) {                                     // -z |  |  |  | void Chunk::AddZMinusVertices(VertexBuffer::VertexData* vd, int& count, BlockType bt, int x, int y, int z, float u, float v, float s) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, 1.f, 1.f, 1.f, u, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y + 1.f, z, 1.f, 1.f, 1.f, u, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, 1.f, 1.f, 1.f, u + s, v + s); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y + 1.f, z, 1.f, 1.f, 1.f, u + s, v + s); | 
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z , 1.f, 1.f, 1.f, u + s, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x + 1.f, y, z, 1.f, 1.f, 1.f, u + s, v); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         vd[count++] = VertexBuffer::VertexData(x, y, z , 1.f, 1.f, 1.f, u, v); |  |  |  |     vd[count++] = VertexBuffer::VertexData(x, y, z, 1.f, 1.f, 1.f, u, v); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | } |  |  |  | } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | void Chunk::Render() const { m_vertexBuffer.Render(); } |  |  |  | void Chunk::Render() const { m_vertexBuffer.Render(); } | 
			
		
	
	
		
		
			
				
					
					|  |  |   |