我理解CGFloat应该在Cocoa应用程序中使用,以使它们64位清理。但是在一个简单的OpenGL游戏中,使用Cocoa / Objective-C进行除渲染之外的所有事情(对于NSOpenGLView)呢? CGFloat是Core Graphics的一部分,所以如果我也可以使用CGPoint,CGRect等?或者我应该自己写一些rects和vector以及那种东西?
基本上可以将OpenGL与CoreGraphics类型混合使用吗?
答案 0 :(得分:5)
我建议在你计划将浮点数传递给OpenGL和CGFloat的任何地方使用GLfloat来处理Cocoa中的任何东西。虽然它们现在可能是相同的宽度(我认为它们是,但我不看),但不能保证它们永远都是一样的。你可能会更安全地编写自己的矩形和大小结构。不应该做太多的工作。
答案 1 :(得分:4)
在64位Intel二进制文件中,sizeof(CGFloat)为8,sizeof(GLfloat)为4。