我现在想渲染纹理两次,但使用不同的过滤器。使用不同的过滤器将纹理存储两次似乎是一个非常糟糕的主意,这会占用太多的 V-RAM。所以我想出了在旅途中更换过滤器的想法,但它有多快呢?
我正在考虑这样做:
// First render call
BindTexture(...);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
RenderObject( ... );
BindTexture(...);
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
RenderObject( ... );
所以最后一个问题是:运行时更新纹理参数的速度有多快?