我通过互联网上的书籍和指南学习 opengl es 2.0。但!所有示例(如 XCODE 中的标准示例)都有 GLkit。
例如:GLKMatrix4、GLKMatrix3、GLKView类型和函数。
但我必须使用没有 GLKIT 的纯 OpenGL。 OpenGL ES 本身是否有这种类型和功能的类似物,或者我必须自己实现它?
感谢 Andon 的回答。我可以自己为这种类型和函数编写代码,还是这是一项艰苦的工作,也是唯一的选择——使用 GLKIT?
最佳答案
正如@Andon 指出的那样,OpenGL ES 2.0 及更高版本中没有 vector/矩阵数学功能。 (此时你真的不应该再编写 ES 1.1 代码了。)有很多方法可以填补缺失的部分,Apple 的 GLKit 数学库就是其中之一。
您可以为这些函数编写您自己的数学库——这是一个很好的教育练习。 Here's a university course它很好地涵盖了必要的数学知识并显示了等效的 C 代码。
但是,在图形编程世界中,易于理解的代码与在目标设备上快速运行的代码之间通常存在很大差异。因此,虽然教育练习非常适合教育目的,但对于实际工作,您最好还是使用其他人的数学库。 GLM如果您正在使用 C++ 进行跨平台工作,那么它很受欢迎。如果您的目标是 iOS,GLKit 是一个不错的选择——Apple 已经完成了确保它在 iOS 设备上快速运行的工作。 (如果您查看 header ,您会发现许多函数是内联的并使用 ARM NEON vector 指令。)
关于c++ - 没有 GLkit 的 OpenGL ES。 GLKMatrix 的类似物和纯 OpenGL ES 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21201588/