//========================================================================= public void SetVector(ECHOPROP iep, Vector4 ivec4) { EchoMaterialProperty emp = _matProp[(int)iep]; emp.active = true; switch (emp.mathtOpt) { case ECHOPFXMATHS.DIRECT: emp.vec4Val = ivec4; break; case ECHOPFXMATHS.ADD: emp.vec4Val += ivec4; break; case ECHOPFXMATHS.AVERAGE: emp.vec4Val = (emp.vec4Val + ivec4) * emp.avgStart; emp.avgStart = 0.5f; break; case ECHOPFXMATHS.MULTIPLY: emp.vec4Val.x *= ivec4.x; emp.vec4Val.y *= ivec4.y; emp.vec4Val.z *= ivec4.z; emp.vec4Val.w *= ivec4.w; break; } }
//========================================================================= public void SetFloat(ECHOPROP iep, float inum) { EchoMaterialProperty emp = _matProp[(int)iep]; emp.active = true; switch (emp.mathtOpt) { case ECHOPFXMATHS.DIRECT: emp.floatVal = inum; break; case ECHOPFXMATHS.ADD: emp.floatVal += inum; break; case ECHOPFXMATHS.AVERAGE: emp.floatVal = (emp.floatVal + inum) * emp.avgStart; emp.avgStart = 0.5f; break; case ECHOPFXMATHS.MULTIPLY: emp.floatVal *= inum; break; } emp.floatVal = inum; }
//========================================================================= public void SetTexture(ECHOPROP iep, Texture itex) { EchoMaterialProperty emp = _matProp[(int)iep]; emp.active = true; emp.texVal = itex; }