SDL2的renderer texture surface这几个类型都是什么意思啊?
sdl吧
全部回复
仅看楼主
level 2
大神能不能通俗的解释一个。解释一下它们的功能。。。。[委屈]
2014年03月10日 02点03分 1
level 10
[钱]以下个人理解:
Renderer 在google翻译的意思是 渲染器,个人理解是一个可以”被画上东西“的对象,通过渲染器间接控制窗口显示的内容。
Texture 翻译 纹理,似乎有点扯到GL或者Dx的知识,我个人理解是一个可以“被画出来”的对象。
Surface 翻译 表面,我理解成原始的像素和相关信息储存的结构体,可以直接控制Surface的像素,但是不能直接控制Texture的像素信息。
以上都是个人理解大神轻喷
2014年03月10日 05点03分 2
有道理。[笑眼]
2014年03月10日 06点03分
level 7
renderer是渲染器,用来显示和处理纹理。
texture是纹理,可以理解为一张画,一般是由显卡处理,所以对它的访问有很多限制,对其发出的指令都通过renderer。
surface是表面,也可以理解为一张画,由CPU处理,所以访问更灵活。surface在sdl1.2中处于核心地位,在sdl2中更多用于过渡,用于将数据转为纹理。
2014年03月10日 13点03分 3
level 1
看了那么久就知道surface可以捕捉表面常见的窗口的表面可以用SDL_GetWindowSurface获得窗口的表面然后在把一张图片加载出来放到另一个surface 具体surface =SDL_Loadbmp("...jpg")或者用IMG_Load("....jpg")然后就可以把图片的surface贴到窗口的surface 用的是SDL_BlitSurface(窗口s,图片s);
SDL_UpdataSurface(参数不记得了);
2021年05月31日 16点05分 4
level 1
renderer:渲染器,理解成绘图驱动更合适,比如渲染器有 openGL的,opengles2的,有dx9的等等。
texture:纹理,理解成显存里的东西,因为是显存,所以像素多是不可以直接操作的,回读数据也很麻烦。
surface:表面,理解成内存里的图,通常非常接近bmp图像,可以很方便的操作像素数据,但是操作是消耗CPU的,大量的像素操作会使CPU使用率很高。
2023年09月25日 12点09分 5
1