C++ 如何在OpenGL中处理纹理动画?

C++ 如何在OpenGL中处理纹理动画?,c++,animation,opengl,sdl,glew,C++,Animation,Opengl,Sdl,Glew,不久前,我开始在SDL2和GLEW中使用OpenGL,我有两个问题: 如何将纹理传递到GLSL的统一采样器2D?它似乎在绑定时自动执行,但这让我很困惑 这里的主要问题是: 处理纹理动画的最佳方法是什么? 我应该用GL_纹理_3D来做吗?通过将所有帧加载到多个GL_纹理_2D?动画有内置的方式吗 按此顺序调用glActiveTexture和glBindTexture将纹理绑定到给定的采样器插槽 使用精灵表作为纹理\u 2D,并更改纹理坐标以交换动画帧。感谢您给出的清晰答案,它帮助我理顺了思路

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

  • 如何将纹理传递到GLSL的统一采样器2D?它似乎在绑定时自动执行,但这让我很困惑
这里的主要问题是:

  • 处理纹理动画的最佳方法是什么? 我应该用GL_纹理_3D来做吗?通过将所有帧加载到多个GL_纹理_2D?动画有内置的方式吗

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


使用精灵表作为纹理\u 2D,并更改纹理坐标以交换动画帧。

感谢您给出的清晰答案,它帮助我理顺了思路。我想那我就要吃雪碧了!这是否意味着没有内置功能来完成基于纹理的动画?我不这么认为,但它确实不需要,我描述的方法比听起来简单。“如何将纹理传递给GLSL的统一”集
sampler2D
,就好像它是
int
一样。为其指定纹理槽索引(即,如果要将纹理绑定到
GL\u TEXTUREi
,请使用
i
)。