Ejemplo n.º 1
0
Archivo: geo.go Proyecto: chsc/g3
func (gm *GeoMipMap) Render(dev g3.GraphicsDevice, frustum *g3.Frustum) {
	gm.root.TraverseFrustum(frustum, func(element g3.SpatElement, leaf bool) bool {
		if leaf {
			patch := element.GetData().(patch)
			dev.SetVertices(patch.vertices)
			dev.SetNormals(patch.normals)
			lodIndex, distIndex := gm.selectIndexBuffer(frustum, &patch.center, gm.maxLOD)
			dev.DrawIndexed(gm.lodIndices[lodIndex][distIndex])
		}
		return true
	})
}