public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { Vector2 v = new Vector2(settings.RenderWidth, settings.RenderHeight); v.X = 1.0f / v.X; v.Y = 1.0f / v.Y; shaderinstance.SetByName(this.Name, v); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { if (obj.Geometry != null) { if (obj.Geometry.HasBoundingBox) { shaderinstance.SetByName(this.Name, obj.Geometry.BoundingBox.Maximum); } else { shaderinstance.SetByName(this.Name, vec); } } else { shaderinstance.SetByName(this.Name, vec); } }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { shaderinstance.SetByName(this.Name, obj.IterationIndex); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { shaderinstance.SetByName(this.Name, (float)obj.DrawCallIndex); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { shaderinstance.SetByName(this.Name, obj.WorldTransform * settings.View); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { shaderinstance.SetByName(this.Name, Matrix.Transpose(obj.WorldTransform)); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { shaderinstance.SetByName(this.Name, Matrix.Invert(settings.ViewProjection)); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { Matrix iv = Matrix.Invert(settings.View); shaderinstance.SetByName(this.Name, new Vector3(iv.M41, iv.M42, iv.M43)); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { shaderinstance.SetByName(this.Name, Matrix.Transpose(settings.View)); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { shaderinstance.SetByName(this.Name, settings.View); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { shaderinstance.SetByName(this.Name, new Vector3(settings.RenderWidth, settings.RenderHeight, settings.RenderDepth)); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { if (settings.BackBuffer != null) { EffectVariable counter = this.variable.GetAnnotationByName("counter"); if (counter != null) { float cnt = counter.AsScalar().GetFloat(); shaderinstance.SetByName(this.Name, settings.BackBuffer.UAV,(int)cnt); } else { if (settings.ResetCounter) { shaderinstance.SetByName(this.Name, settings.BackBuffer.UAV, settings.CounterValue); } else { shaderinstance.SetByName(this.Name, settings.BackBuffer.UAV); } } } }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { if (settings.ReadBuffer != null) { shaderinstance.SetByName(this.Name, settings.ReadBuffer.SRV); } }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings) { float val = 1.0f / (float)settings.DrawCallCount; shaderinstance.SetByName(this.Name, val); }
public override void Apply(DX11ShaderInstance shaderinstance, DX11RenderSettings settings, DX11ObjectRenderSettings obj) { if (obj.Geometry != null) { if (obj.Geometry.HasBoundingBox) { Vector3 scale = obj.Geometry.BoundingBox.Maximum - obj.Geometry.BoundingBox.Minimum; scale.X = scale.X != 0.0f ? 1.0f / scale.X : 1.0f; scale.Y = scale.Y != 0.0f ? 1.0f / scale.Y : 1.0f; scale.Z = scale.Z != 0.0f ? 1.0f / scale.Z : 1.0f; Matrix m = Matrix.Scaling(scale); shaderinstance.SetByName(this.Name, m); } else { shaderinstance.SetByName(this.Name, m); } } else { shaderinstance.SetByName(this.Name, m); } }