gpt4 book ai didi

c++ - glReadPixels() "data"参数用法?

转载 作者:IT老高 更新时间:2023-10-28 21:36:29 40 4
gpt4 key购买 nike

我正在尝试使用 glReadPixels 从图像中获取颜色数据。我应该使用 glReadPixels 但我似乎无法弄清楚。它是一个更大项目的一部分,但现在我只想知道如何正确使用它。

我查了一下,发现是这样的:

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

但我不确定我应该在最后一个参数中添加什么,以及当我这样做时,我什至会如何使用它。帮助真的很感激! (即:一个简单的例子,说明如何使用它,或者如何获取颜色)

最佳答案

data 将指针指向您为 glReadPixels 将数据放入的缓冲区。像这样:

switch(format) {
case GL_BGR:
case GL_RGB:
components = 3; break;

case GL_BGRA:
case GL_RGBA:
components = 4; break;

case GL_ALPHA:
case GL_LUMINANCE:
components = 1; break;
}

GLubyte *data = malloc(components * width * height);
if( data ) {
glReadPixels(0, 0, width, height, format, GL_UNSIGNED_BYTE, data);
}

关于c++ - glReadPixels() "data"参数用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8841422/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com