我正试着用glVertex画一幅画。这是我的密码:
代码语言:javascript运行复制struct Pixel{
GLbyte R, G, B;
};
GLbyte * originalData = NULL;
. . .
originalData = (GLbyte *)malloc(IMAGE_SIZE);
fread(originalData, IMAGE_SIZE, 1, file);
for (int n = 0; n < 256 * 256; n++){
pixels[n].R = data[n * 3 + 0];
pixels[n].G = data[n * 3 + 1];
pixels[n].B = data[n * 3 + 2];
if (pixels[n].R < (GLbyte)0) std::cerr << "??" << std::endl;
}以及显示功能:
代码语言:javascript运行复制glBegin(GL_POINTS);
unsigned int i = 0;
for (unsigned row = 0; row < iWidth; row++){
for (unsigned col = 0; col < iHeight; col++){
glColor3b(pixels[i].R, pixels[i].G, pixels[i].B);
glVertex3f(row,col,0.0f);
i++;
}
}
glEnd();当我使用glDrawPixels(256, 256, GL_RGB, GL_UNSIGNED_BYTE, originalData);时,一切都没问题,但是当我使用我的方法时,颜色会变得混乱。
RGB值可以是负值吗?当我用
代码语言:javascript运行复制glColor3b(abs(pixels[i].R), abs(pixels[i].G), abs(pixels[i].B));我的输出看上去更好(但有些颜色又混在一起了)。
NOTE1:,我试图用Photoshop创建一个.raw文件
NOTE2: --我知道我的方法是假的,但我正在做实验
友情链接:
©Copyright © 2022 2006年世界杯歌曲_冰岛世界杯排名 - guoyunzhan.com All Rights Reserved.