《高效学习OpenGL》 之 选择 glSelectBuffer(),glRenderMode(),glInitNames(),glPushName()
2014-03-06 16:40
549 查看
指定用于返回点击选择数据的数组:
#define BUFSIZE 512
GLuint selectBuf[BUFSIZE];
glSelectBuffer (BUFSIZE, selectBuf);
void glSelectBuffer (GLsizei size, GLuint *buffer);
//buffer参数是一个无符号整数类型的数组指针。它所指向的数组用于存放选择数据
//size表示这个数组可以存储的值的最大数量
创建名字栈:
(void) glRenderMode (GL_SELECT);
GLint glRenderMode (GLenum mode);
//控制应用程序是处于渲染模式、选择模式还是反馈模式
glInitNames();
void glInitNames();
//清除名字堆栈,使他成为空栈。
glPushName(0);
void glPushName (GLuint name);
//把name压缩到堆栈中
glPopName();
//从名字堆栈中弹出一个名称
glLoadName(1);
void glLoadName (GLuint name);
//用name替换名字堆栈顶部的那个值。
#define BUFSIZE 512
GLuint selectBuf[BUFSIZE];
glSelectBuffer (BUFSIZE, selectBuf);
void glSelectBuffer (GLsizei size, GLuint *buffer);
//buffer参数是一个无符号整数类型的数组指针。它所指向的数组用于存放选择数据
//size表示这个数组可以存储的值的最大数量
GLint glRenderMode (GLenum mode); //控制应用程序是处于渲染模式、选择模式还是反馈模式
创建名字栈:
(void) glRenderMode (GL_SELECT);
GLint glRenderMode (GLenum mode);
//控制应用程序是处于渲染模式、选择模式还是反馈模式
glInitNames();
void glInitNames();
//清除名字堆栈,使他成为空栈。
glPushName(0);
void glPushName (GLuint name);
//把name压缩到堆栈中
glPopName();
//从名字堆栈中弹出一个名称
glLoadName(1);
void glLoadName (GLuint name);
//用name替换名字堆栈顶部的那个值。
相关文章推荐
- 解决Vista系统OpenGL驱动问题的方法整理
- 通过OpenGL ES混合模式缩放视频缓冲区来适应显示尺寸
- OpenGL超级宝典笔记——显示列表
- OpenGL超级宝典笔记——顶点数组
- OpenGL生成轮廓
- OpenGL超级宝典笔记——性能比较
- OpenGL超级宝典笔记——顶点缓冲区对象
- OpenGL超级宝典笔记——选择
- OpenGL超级宝典笔记——反馈
- OpenGL超级宝典笔记——遮挡查询
- OpenGL超级宝典笔记——深度纹理和阴影
- 《实战OpenGL三维可视化系统开发与源码精解》
- GLUT函数说明
- GLUT鼠标
- OpenGL ES入门指南
- 转载一篇openGL的教程收集
- 从零开始学习OpenGL ES之二 – 简单绘图概述
- 从零开始学习OpenGL ES之三 – 透视
- 从零开始学习OpenGL ES之四 – 光效
- 从零开始学习OpenGL ES之一补遗 – 代号