public void CalcNormals()
	{
		for(int i = 0; i < m_indices.size(); i += 3)
		{
			int i0 = m_indices.get(i);
			int i1 = m_indices.get(i + 1);
			int i2 = m_indices.get(i + 2);

			Vector3f v1 = m_positions.get(i1).Sub(m_positions.get(i0));
			Vector3f v2 = m_positions.get(i2).Sub(m_positions.get(i0));

			Vector3f normal = v1.Cross(v2).Normalized();

			m_normals.get(i0).Set(m_normals.get(i0).Add(normal));
			m_normals.get(i1).Set(m_normals.get(i1).Add(normal));
			m_normals.get(i2).Set(m_normals.get(i2).Add(normal));
		}

		for(int i = 0; i < m_normals.size(); i++)
			m_normals.get(i).Set(m_normals.get(i).Normalized());
	}