我正在尝试使用opengl在three.js中创建模型查看器。 我想要做的一个功能是在运行时更改纹理。 我已经做到了。但对我来说似乎有点残酷,我想要更酷的东西。像这样video。 当然我知道这是一个高级的东西,但我没有找到任何关于它的例子。 一些提示?
答案 0 :(得分:2)
您需要在两个纹理之间进行lerp(线性插值)。片段着色器需要保持两个纹理,然后在加载第二个纹理(即要更改的纹理)后触发lerping。比使用像col = fromTex.rgb * (1.0-t) + toTex.rgb * t
这样的操作并在整个时间内更改混合/渲染系数t
,直到完全融入第二个纹理。 t
可以作为制服发送,从0.0->1.0
开始逐渐变化。