Esempio n. 1
0
func (s *VoxelsMesh) UpdatePoint(point v.Vector3i) {
	b := point.Div3I(s.config.BlockSize)
	b.Sub(s.blockStart)

	baSize := s.config.BlockArraySize
	if b.X < 0 || b.X >= baSize.X ||
		b.Y < 0 || b.Y >= baSize.Y ||
		b.Z < 0 || b.Z >= baSize.Z {
		return
	}
	id := b.X + b.Y*baSize.X + b.Z*baSize.X*baSize.Y
	s.blockArray[id].State = VMB_DIRTY
}