献给和我一样迷茫地摸索在android开发的人。。
public static int VisibiliytTest (float[] ws, int wsOffset, float[] positions, int positionsOffset, char[] indices, int indicesOffset, int indexCount)
该函数主要用于测试三维空间中的某个三角形网格是否能被显示在屏幕上。
float []ws: 是三维空间到屏幕空间的转换矩阵。
一般的计算方法是用modelview matrix 乘 projection matrix。
文档上给出了两种方法取这两个矩阵,但是个人试过没成功。其实Api里面给出了第三种方法,就是使用MatrixStack类和MatrixTrackingGL类。用Api里的MatrixGrabber里面的方法常常会出现转型错误。
使用:
取出后用mModeview矩阵乘mProjection矩阵,就可以得到转换矩阵。
wsOffset : 矩阵偏移(?),标记ws数组的开始端。一般填0。
positions :点的集合。
positionsOffset :点的偏移,记录点集合里面的开始端,一般填0。
indices : 索引,是char类型的,所以一般用前要进行类型转换。
indicesOffset:索引的偏移,同上。
indexCount:使用的索引数,一般是3的倍数,如果不是3的倍数,则多余的一个或两个索引点将被忽略。(怎么感觉像是在抄文档。。。算了,重点在上面 n^o^lo)