我有一个用OPENGL画的圆柱体,想在顶面上按照每个扇形设置不同的颜色
比如圆心是0,1~6是圆上的顶点
我就想实现0,1,2   0,1,3,等等,根据这些点组成的扇形画上不同的颜色
这样效果应该怎么实现?????
注:有例子的话发个链接或是直接发个例子也行
我邮箱[email protected]
先跪谢大家了

解决方案 »

  1.   

    如果你想相邻的2个三角形的颜色没有相关性,随机的,那么你的两个三角形就不能使用4个顶点6个索引来画,必须使用6个顶点6个索引.1---0
     \ / \
      2---3上面这样的绘制方法用4个顶点,如果012和023的2个面的颜色完全不相关(比如说一个纯蓝一个纯白)是不可能的,因为你0和2这两个顶点两个三角形公用的,在做光栅化进行插值计算的时候无论用哪种着色方法2个三角形的颜色都必然和顶点0和2有关如果想完全无关就必须这样1---0 3
     \ / / \
      2 4---5其中0和3号顶点2和4号顶点的坐标完全一样,但是有各自独立的颜色值,这样就可以了.如果你觉得这样很不爽还是想使用第一种方法那么你就必须借助DX10的特性了,DX10加入了GS单元,可以在GS中给每个三角形独立的ID去索引颜色.代价就是你必须在Vista以上的操作系统才能使用.
      

  2.   

    不过需要注意的是DX10不再支持TriangleFun模式,只有TriangleStript和List两种模式了