可以将 GLSL 着色器应用于 SDL_Textures 吗?

Posted

技术标签:

【中文标题】可以将 GLSL 着色器应用于 SDL_Textures 吗?【英文标题】:Can GLSL shaders be applied to SDL_Textures? 【发布时间】:2016-02-28 02:41:58 【问题描述】:

我正在开发一款游戏,我想知道是否可以在不需要 OpenGL 纹理的情况下将 GLSL 着色器应用于 SDL_Textures;如果是这样,如何?我认为这可能是可能的,因为我的印象是 SDL_Textures 只是包装了 OpenGL 的。

【问题讨论】:

看看SDL_GL_BindTexture 和类似的功能。您可以使用底层的 OpenGL 对象。 我试试看。谢谢! 【参考方案1】:

不,GLSL 在 GPU 上运行,因此,内存需要映射到 GPU 上才能访问和修改纹理。 GLSL 只能处理 OpenGL 对象,因为 OpenGL 就是这样设计的。

但是,使用PBO,您可以缩短从 GPU 上传/下载纹理所需的时间。

【讨论】:

以上是关于可以将 GLSL 着色器应用于 SDL_Textures 吗?的主要内容,如果未能解决你的问题,请参考以下文章

glsl片段着色器颜色添加逻辑

GLSL:使用片段着色器进行对象翻译

用于片段着色器的 OpenGL GLSL 绑定采样器

第二篇: WebGL 着色器和GLSL

GLSL PBS 实现,奇怪的着色器行为

如何将矩阵数组更新为 glsl 着色器