18.2 OpenGL读取和复制像素:读取像素

读取像素 Reading Pixels

从帧缓冲区读取像素并将其放入像素包缓冲区或客户端内存的方法如下所示。 我们按照像素读取过程发生的顺序描述各个阶段。

  1. RGBA pixel data in
  2. Convert to float
  3. Clamp to [0, 1]
  4. Pack
  5. byte, short, int, float, or packed pixel component data stream

ReadPixels 的操作。

  • 并非对所有数据格式都执行 2、3 操作。 未显示深度和模板像素路径。

选择读取缓冲区 Selecting Buffers for Reading

在OpenGL中,读取像素时使用读取缓冲区来控制从帧缓冲对象的颜色缓冲区中读取像素的行为。读取缓冲区可以通过以下命令进行控制:

  • void glReadBuffer(enum src);
  • void glNamedFramebufferReadBuffer(uint framebuffer, enum src);

如果操作的是默认帧缓冲区,即绑定到 READ_FRAMEBUFFER 的帧缓冲区,则可以使用 glReadBuffer 命令。对于命名的帧缓冲区对象,可以使用 glNamedFramebufferReadBuffer 命令。

读取缓冲区的选择取决于参数 src 的值。对于默认帧缓冲区,src 必须是预定义的枚举值之一,如 FRONT_AND_BACKFRONTLEFT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值