瀏覽代碼

Wraps material animation floats to sane values.

Wraps material animation floats to sane values to prevent floating point drift.
chaigler 4 年之前
父節點
當前提交
c342e84bec
共有 1 個文件被更改,包括 4 次插入2 次删除
  1. 4 2
      Engine/source/materials/materialDefinition.cpp

+ 4 - 2
Engine/source/materials/materialDefinition.cpp

@@ -593,8 +593,10 @@ void Material::updateTimeBasedParams()
       for (U32 i = 0; i < MAX_STAGES; i++)
       {
          mScrollOffset[i] += mScrollDir[i] * mScrollSpeed[i] * dt;
-         mRotPos[i] += mRotSpeed[i] * dt;
-         mWavePos[i] += mWaveFreq[i] * dt;
+         mScrollOffset[i].x = mWrapF(mScrollOffset[i].x, 0.0, 1.0);
+         mScrollOffset[i].y = mWrapF(mScrollOffset[i].y, 0.0, 1.0);
+         mRotPos[i] = mWrapF((mRotPos[i] + (mRotSpeed[i] * dt)), 0.0, 360.0);
+         mWavePos[i] = mWrapF((mWavePos[i] + (mWaveFreq[i] * dt)), 0.0, 1.0);
       }
       mLastUpdateTime = lastTime;
    }