不带GLkit的OpenGL ES.GLKMatrix和纯OpenGL ES中函数的类似物

OpenGL ES without GLkit. Analogs for GLKMatrix and functions in pure OpenGL ES

本文关键字:OpenGL ES 函数 类似物 和纯 不带 GLKMatrix GLkit      更新时间:2023-10-16

我在网上通过书籍和指南学习opengl es 2.0。但是!所有示例(如XCODE中的标准示例)都有GLkit。

例如:GLKMatrix4、GLKMatri3、GLKView类型和函数。

但是我必须使用没有GLKIT的纯OpenGL。OpenGL ES本身是否有类似于这种类型和功能的功能,或者我必须自己实现它?

谢谢回答Andon。我可以自己为这种类型和函数编写代码吗?还是使用GLKIT是一项艰巨的工作,也是唯一的选择?

正如@Andon所指出的,OpenGL ES 2.0及更高版本中没有矢量/矩阵数学功能。(在这一点上,你真的不应该再写ES1.1代码了。)有很多方法可以填补缺失的部分,苹果的GLKit数学库就是其中之一。

你可以为这些函数编写自己的数学库——这是一个很好的教育练习。这是一门大学课程,它很好地涵盖了必要的数学知识,并展示了等效的C代码。

然而,在图形编程领域,易于查找的代码和在目标设备上快速运行的代码之间往往存在很大差异。因此,虽然教育练习对于教育目的来说很好,但对于实际工作来说,你最好使用别人的数学库。如果你在C++中进行跨平台工作,那么GLM是一个很受欢迎的方法。如果你的目标是iOS,GLKit是一个不错的选择——苹果已经完成了确保它在iOS设备上快速运行的工作。(如果你看一下标题,你会注意到许多函数都是内联的,并使用ARM NEON矢量指令。)