gpt4 book ai didi

c++ - 为纹理创建棋盘图像

转载 作者:行者123 更新时间:2023-11-30 04:31:12 24 4
gpt4 key购买 nike

请帮助我理解下面的内容。具体来说,什么是变量“c”,第三个数组维度是什么(图像不是二维像素矩形)?如果需要上下文,我会发布指向此代码的链接,但上下文通常是将此棋盘图案映射到旋转立方体。

GLubyte image[TextureSize][TextureSize][3];
GLubyte image2[TextureSize][TextureSize][3];

// Create a checkerboard pattern
for ( int i = 0; i < 64; i++ ) {
for ( int j = 0; j < 64; j++ ) {
GLubyte c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255;
image[i][j][0] = c;
image[i][j][1] = c;
image[i][j][2] = c;
image2[i][j][0] = c;
image2[i][j][1] = 0;
image2[i][j][2] = c;
}
}

最佳答案

图像是 2 个空间维度和颜色 - 所以在某种程度上是 3 个维度。
最后的[]是红绿蓝像素值

这只是使用“c”数组语法为您将计算存入内存。

内存中的布局只是[row1][col1][red], [row1][col1][green], [row1][col1][blue], [row1][col2][red], [row1][col2][绿色], [row1][col2][blue] .......

所以如果 c 是 0 或 255 那么

// sets all red,green,blue to same value = black (c=0) or white (c=255)
image[i][j][0] = c;
image[i][j][1] = c;
image[i][j][2] = c;

// sets red and blue on but green off = purple
image[i][j][0] = c;
image[i][j][1] = 0;
image[i][j][2] = c;

关于c++ - 为纹理创建棋盘图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8331808/

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