CGFloat vs GLfloat

时间:2010-06-05 02:52:04

标签: objective-c macos cocoa opengl floating-point

我理解CGFloat应该在Cocoa应用程序中使用,以使它们64位清理。但是在一个简单的OpenGL游戏中,使用Cocoa / Objective-C进行除渲染之外的所有事情(对于NSOpenGLView)呢? CGFloat是Core Graphics的一部分,所以如果我也可以使用CGPoint,CGRect等?或者我应该自己写一些rects和vector以及那种东西?

基本上可以将OpenGL与CoreGraphics类型混合使用吗?

2 个答案:

答案 0 :(得分:5)

我建议在你计划将浮点数传递给OpenGL和CGFloat的任何地方使用GLfloat来处理Cocoa中的任何东西。虽然它们现在可能是相同的宽度(我认为它们是,但我不看),但不能保证它们永远都是一样的。你可能会更安全地编写自己的矩形和大​​小结构。不应该做太多的工作。

答案 1 :(得分:4)

在64位Intel二进制文件中,sizeof(CGFloat)为8,sizeof(GLfloat)为4。