unity 网格 怎么通过顶点了解面数 规则是什么

来源:互联网 发布:java命令模式 编辑:程序博客网 时间:2024/05/02 00:57
这边写一下关于unity里面遇到过的  以前一直没懂 为什么 用顶点就知道你有多少个三角形 比如4个点 为什么2个面 他怎么画的 规则是什么
第一种
这边计算机图形学有这个东西 
假定在N个顶点的集合中没有重复的坐标位置,可获得N-2个三角形的带。很清楚 必须N》= 3 , 否则什么也不显示。在该例子中,N = 6,
得到4个三角形。每一个后继三角形共享前面定义的三角形的一条边,因此最前面三个顶点必须按从外部 观察三角形表面时的逆时针次序列出。随后,
顶点表中用于另外三个三角形的三个顶点安排成顺时针次序。这通过按次序 n = 1 , n = 2 ... n  =N-2 处理顶点集中的位置n,并按n是否为奇数或偶数
确定相应的三顶点集次序来实现。 如果 n 是奇数,三角形顶点的多边形列表次序是 n , n+1 n+2; 如果是偶数 三角形的顶点次序为 n+1 ,n, n+2;


不过这个对顶点的位置很有关系


当顶点顺序是


glVertex2iv(p1);
glVertex2iv(p2);
glVertex2iv(p6);
glVertex2iv(p3);
glVertex2iv(p5);
glVertex2iv(p4);


如图01




第二种
N个顶点的集合中没有重复的坐标位置,必须合适描述顶点次序,以便正确定义每一个三角形的前向面 和 后向面 。没一个列出的顶点是扇形中每
一三角形共享的顶点 。 这通过按次序 n = 1 , n = 2 ... n  =N-2 来计算多边形和坐标位置 多边形表中第n个三角形的定义次序为 1 n+1 n+2 来定义
顶点次序

当顶点顺序是


        glVertex2iv(p1);
glVertex2iv(p2);
glVertex2iv(p3);
glVertex2iv(p4);
glVertex2iv(p5);
glVertex2iv(p6);


如图02


1 0
原创粉丝点击