【循序渐进学图形学之】OpenGL使用多边形近似模拟法构建表面
环境:VS2008
首先创建一个二十面体:代码:
运行结果:
使用二十面体来模拟着色球体。需修改代码:
但是效果并不好。我们可以对三角形进行细分。下面对上述成语执行一次细分,创建一个80个面的模拟球体。
代码:
运行结果:继续对程序进修改,用递归的方法对三角形进行划分,以获得适当的深度。如果深度为0,则停止划分。
只需修改subdivide函数:
运行结果:可以看出获得了比较好的效果。
环境:VS2008
首先创建一个二十面体:代码:
运行结果:
使用二十面体来模拟着色球体。需修改代码:
但是效果并不好。我们可以对三角形进行细分。下面对上述成语执行一次细分,创建一个80个面的模拟球体。
代码:
运行结果:继续对程序进修改,用递归的方法对三角形进行划分,以获得适当的深度。如果深度为0,则停止划分。
只需修改subdivide函数:
运行结果:可以看出获得了比较好的效果。