使用RGBA值填充C++Cinder纹理
Fill C++ Cinder textures with RGBA values
我使用Cinder Library,想要创建一个纹理,填充我保存在数组中的RGBA值。互联网上没有任何有用的解释。
我以前从未使用过煤渣,但快速阅读文档似乎表明,您可以从文件或Surface加载纹理。
因此,看看这些文档,你似乎会创建一个曲面,如下所示:
cinder::Surface8u surf( 128, 128, SurfaceChannelOrder::RGBA );
然后,您可以使用getData函数填充它,如下所示:
uint8_t* pCols = surf.getData();
for( int y = 0; y < 128; y++ )
{
for( int x = 0; x < 128; x++ )
{
// Fill each pixel with red.
const idx = (y * (128 * 4)) + (x * 4);
pCols[idx + 0] = 0xff;
pCols[idx + 1] = 0x00;
pCols[idx + 2] = 0x00;
pCols[idx + 3] = 0xff;
}
}
然后,您将从曲面加载纹理,如下所示:
cinder::gl::Texture texture( surf );
相关文章:
- OpenInventor从9.8升级到10.4.2后,GLSL纹理返回零
- SFML纹理像播放器
- OpenGL大的3D纹理(>2GB)非常慢
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 着色器纹理值与创建纹理时写入的值不同
- OpenGL将纹理四边形渲染为(0,0)
- 宽度为奇数的16位纹理为片状
- 使用 CUDA 和纹理进行图像减法
- 在不使用统一的情况下将纹理传递给 GLSL 着色器?
- 将使用太多的纹理插值器 - 带旋转的着色器
- dx11 渲染到纹理仅显示透明颜色
- OpenGL 4.3 错误地将第 4 个纹理坐标映射到与第 3 个纹理坐标相同的位置
- 如何使用 DXGI 格式DXGI_FORMAT_R1_UNORM创建 2D 纹理?
- 纹理单位重叠?渲染了错误的纹理
- SFML 纹理变换(放大)
- SDL2 二维纹理分配/池化
- Qt OpenGL 渲染到纹理性能问题
- 使用RGBA值填充C++Cinder纹理
- Cinder如何对.obj三聚体进行纹理处理
- Cinder & C++:镜像纹理和高效绘图问题