【发布时间】:2012-06-10 20:03:31
【问题描述】:
有时我会看到以十六进制而不是十进制数字定义的整数常量。这是我从 GL10 课程中提取的一小部分:
public static final int GL_STACK_UNDERFLOW = 0x0504;
public static final int GL_OUT_OF_MEMORY = 0x0505;
public static final int GL_EXP = 0x0800;
public static final int GL_EXP2 = 0x0801;
public static final int GL_FOG_DENSITY = 0x0B62;
public static final int GL_FOG_START = 0x0B63;
public static final int GL_FOG_END = 0x0B64;
public static final int GL_FOG_MODE = 0x0B65;
定义2914 显然比定义0x0B62 更简单,那么可能有一些性能提升吗?我真的不这么认为,从那以后改变它应该是编译器的工作。
【问题讨论】:
-
它没有任何性能 - 有时是编码约定,有时是位掩码,有时是标志变量,有时只是一个数字
-
有时它只是为了让初学者感到困惑;)
-
@mallaudin 初学者首先应该学习基础知识。不是 OpenGL。
-
@TheincredibleJan 错误意见
-
@SemperAmbroscus 一点也不。