如何在OpenGL中处理纹理动画? [关闭]

Posted

技术标签:

【中文标题】如何在OpenGL中处理纹理动画? [关闭]【英文标题】:How to handle texture animation in OpenGL? [closed] 【发布时间】:2020-05-14 20:09:05 【问题描述】:

不久前我开始使用带有 SDL2 和 GLEW 的 OpenGL,我有两个问题:

如何将纹理传递给 GLSL 的统一 sampler2D ?它似乎在绑定时会自动执行,但它让我感到困惑。

这里的主要问题是:

处理纹理动画的最佳方法是什么? 我应该通过 GL_TEXTURE_3D 来做吗?通过将所有帧加载到多个 GL_TEXTURE_2D 中?是否有内置动画方式?

【问题讨论】:

“如何将纹理传递给 GLSL 的制服”sampler2D 设置为就像 int 一样。为其分配纹理槽索引(即,如果您想要的纹理绑定到GL_TEXTUREi,请使用i)。 【参考方案1】:

按此顺序调用glActiveTexture 和glBindTexture 会将纹理绑定到给定的采样器槽。

使用 spritesheet 作为 TEXTURE_2D,并更改纹理坐标以交换动画帧。

【讨论】:

感谢您的明确回答,它帮助我理清思路。我想我要一个精灵表然后!这是否意味着没有内置功能来完成基于纹理的动画? 我不这么认为,但确实不需要,我描述的方法比听起来简单。

以上是关于如何在OpenGL中处理纹理动画? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在OpenGL中反转纹理颜色

OpenGL中的调色板动画

opengl多个纹理[关闭]

在 swift Playground 中创建纹理动画 [关闭]

Opengl:如何对使用顶点数组制作的模型进行纹理处理?

C++ OpenGL 错误的 Collada 纹理坐标