我是靠谱客的博主 奋斗大侠,最近开发中收集的这篇文章主要介绍OpenGL 3.3,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

glGet

返回选定参数的一个或多个值。

void glGetIntegerv(GLenum pname, GLint *params);

GL_VIEWPORT返回4个值,依次为视口(左下角)的x和y窗口坐标,然后是它的宽度和高度。





GLenum glGetError(void);

返回错误标记的值。在出现错误时,调用glGetError会返回相应的错误代码值,并将标记重设为GL_NO_ERROR。如果有一个以上的标记都记录了一个错误,调用glGetError返回任意一个错误标记值,并将其重置。若要将所有的错误标记重置,则在一个循环中调用glGetError,当其返回GL_NO_ERROR时跳出循环。

GL_NO_ERROR没有记录任何错误,这个符号常量的值保证为0。
GL_INVALID_ENUM一个枚举变量被指定了一个不可接受的值。
GL_INVALID_VALUE一个数值变量超出了允许范围。
GL_INVALID_OPERATION指定的操作在当前状态下不允许。
GL_INVALID_FRAMEBUFFER_OPERATION帧缓冲区对象不完整。
GL_OUT_OF_MEMORY没有足够的剩余内存用来执行此命令。
只有在GL_OUT_OF_MEMORY出现时,GL的状态是未定义的,其它所有的情况下,产生错误的命令被忽略,且GL的状态或帧缓冲区内容不产生任何影响。如果产生的命令返回一个值,则返回0。如果glGetError本身生成一个错误,则它返回0。





void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *data);

将像素数据从帧缓冲区中返回到从data位置开始的客户端内存中,从左下角位于(x,y)的像素开始,以从最底行到最高行的行顺序和每行中从左到右的顺序来返回,依次返回第(x+i,y+j)个像素的值,其中0<=i<=width,0<=j<=height。

format 指定像素数据的格式。

GL_DEPTH_COMPONENT深度值将从深度缓冲区读取。个索引都被转换成浮点值,最小深度映射到0而最大深度值映射到1。
type 指定像素数据的数据类型。

GL_FLOAT每个分量为一个单精度浮点数

最后

以上就是奋斗大侠为你收集整理的OpenGL 3.3的全部内容,希望文章能够帮你解决OpenGL 3.3所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部