Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ OnApply()

override void Microsoft.Xna.Framework.Graphics.SkinnedEffect.OnApply ( )
inlinepackagevirtual

Reimplemented from Microsoft.Xna.Framework.Graphics.Effect.

Definition at line 411 of file SkinnedEffect.cs.

412 {
413 dirtyFlags = EffectHelpers.SetWorldViewProjAndFog(dirtyFlags, ref world, ref view, ref projection, ref worldView, fogEnabled, fogStart, fogEnd, worldViewProjParam, fogVectorParam);
414 dirtyFlags = EffectHelpers.SetLightingMatrices(dirtyFlags, ref world, ref view, worldParam, worldInverseTransposeParam, eyePositionParam);
415 if ((dirtyFlags & EffectDirtyFlags.MaterialColor) != 0)
416 {
417 EffectHelpers.SetMaterialColor(lightingEnabled: true, alpha, ref diffuseColor, ref emissiveColor, ref ambientLightColor, diffuseColorParam, emissiveColorParam);
418 dirtyFlags &= ~EffectDirtyFlags.MaterialColor;
419 }
420 bool flag = !light1.Enabled && !light2.Enabled;
421 if (oneLight != flag)
422 {
423 oneLight = flag;
424 dirtyFlags |= EffectDirtyFlags.ShaderIndex;
425 }
426 if ((dirtyFlags & EffectDirtyFlags.ShaderIndex) != 0)
427 {
428 int num = 0;
429 if (!fogEnabled)
430 {
431 num++;
432 }
433 if (weightsPerVertex == 2)
434 {
435 num += 2;
436 }
437 else if (weightsPerVertex == 4)
438 {
439 num += 4;
440 }
442 {
443 num += 12;
444 }
445 else if (oneLight)
446 {
447 num += 6;
448 }
450 dirtyFlags &= ~EffectDirtyFlags.ShaderIndex;
451 }
452 }

References Microsoft.Xna.Framework.Graphics.SkinnedEffect.alpha, Microsoft.Xna.Framework.Graphics.SkinnedEffect.ambientLightColor, Microsoft.Xna.Framework.Graphics.SkinnedEffect.diffuseColor, Microsoft.Xna.Framework.Graphics.SkinnedEffect.diffuseColorParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.dirtyFlags, Microsoft.Xna.Framework.Graphics.SkinnedEffect.emissiveColor, Microsoft.Xna.Framework.Graphics.SkinnedEffect.emissiveColorParam, Microsoft.Xna.Framework.Graphics.DirectionalLight.Enabled, Microsoft.Xna.Framework.Graphics.SkinnedEffect.eyePositionParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.fogEnabled, Microsoft.Xna.Framework.Graphics.SkinnedEffect.fogEnd, Microsoft.Xna.Framework.Graphics.SkinnedEffect.fogStart, Microsoft.Xna.Framework.Graphics.SkinnedEffect.fogVectorParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.light2, Microsoft.Xna.Framework.Graphics.SkinnedEffect.oneLight, Microsoft.Xna.Framework.Graphics.SkinnedEffect.preferPerPixelLighting, Microsoft.Xna.Framework.Graphics.SkinnedEffect.projection, Microsoft.Xna.Framework.Graphics.EffectHelpers.SetLightingMatrices(), Microsoft.Xna.Framework.Graphics.EffectHelpers.SetMaterialColor(), Microsoft.Xna.Framework.Graphics.EffectParameter.SetValue(), Microsoft.Xna.Framework.Graphics.EffectHelpers.SetWorldViewProjAndFog(), Microsoft.Xna.Framework.Graphics.SkinnedEffect.shaderIndexParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.view, Microsoft.Xna.Framework.Graphics.SkinnedEffect.weightsPerVertex, Microsoft.Xna.Framework.Graphics.SkinnedEffect.world, Microsoft.Xna.Framework.Graphics.SkinnedEffect.worldInverseTransposeParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.worldParam, Microsoft.Xna.Framework.Graphics.SkinnedEffect.worldView, and Microsoft.Xna.Framework.Graphics.SkinnedEffect.worldViewProjParam.