- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 Glut 编写一些 OpenGl 教程,我遇到了
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH)
我明白它的作用,但我不明白它是如何做到的?
查看定义:
GLUT_DOUBLE 0x0002
GLUT_RGB 0x0000
GLUT_DEPTH 0x0010
而且我可以看到在函数的参数中有一个 OR 位操作。
这种按位运算如何对上述宏起作用?它们代表什么值,内存中的物理地址?
现在我只是在 400x400 像素的窗口中显示一些旋转的形状,禁用任何这些参数似乎没有任何视觉效果。
谢谢!
最佳答案
其中两个常量,GLUT_DOUBLE
和 GLUT_DEPTH
,每个都包含一组位:
GLUT_DOUBLE = 0x0002 = 0b0000 0000 0000 0010
GLUT_DEPTH = 0x0010 = 0b0000 0000 0001 0000
将这些常量与按位 OR 组合会创建一个新值,同时设置这两个位,并且可以使用例如检查结果值中是否设置了这些位
if ((display_mode & GLUT_DOUBLE) != 0) { ... }
GLUT_RGB
为零。包含它对结果没有影响;我怀疑它代表了一个默认设置。
所使用的具体数字没有任何更深层次的意义。它们只是用作在单个整数参数中组合一堆开/关选项的方法。
关于c++ - glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) 解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35514902/
我有一个代码: #include #include #define WinW 1000 #define WinH 500 /* ----------------------------------
我正在使用 Sumanta Guha 的代码示例,并且正在尝试创建两个窗口。使用以下代码: int main(int argc, char **argv) { glutInit(&argc, argv
我正在使用 example here它在 glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); 但是当我将它设置为时它变成了一个透明窗口 glutInitDisplay
我正在使用 Glut 编写一些 OpenGl 教程,我遇到了 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) 我明白它的作用,但我不明
我是一名优秀的程序员,十分优秀!