小编Sea*_*n K的帖子

在 SDL 1.2 中渲染 RGB 值数组中的像素?

我现在正在开发 NES 模拟器,但无法弄清楚如何渲染像素。我使用 3 维数组来保存每个像素的 RGB 值。对于 256 x 224 屏幕尺寸,数组定义如下所示:

byte screenData[224][256][3];
Run Code Online (Sandbox Code Playgroud)

例如,保存屏幕位置 处像素的[0][0][0]蓝色值、[0][0][1]绿色值和红色值。 [0][0][2][0][0]

当 vblank 标志变高时,我需要渲染屏幕。当 SDL 渲染屏幕时,screenData 数组将充满每个像素的 RGB 值。我找到了一个名为的函数SDL_CreateRGBSurfaceFrom,看起来它可能适合我想做的事情。然而,我见过的所有示例都使用 1 维数组来表示 RGB 值,而不是 3 维数组。

对我来说渲染像素的最佳方式是什么?如果该函数允许我以某种方式调整表面大小,这样我就不必使用 256 x 224 窗口大小,那就太好了。

c++ rendering sdl pixel

5
推荐指数
1
解决办法
8136
查看次数

标签 统计

c++ ×1

pixel ×1

rendering ×1

sdl ×1