Files
Xune/UIX.RenderApi.Skia/Microsoft/Iris/Render/Graphics/Dx9InterpolateElement.cs
T

33 lines
1.5 KiB
C#
Raw Normal View History

2021-07-11 22:59:29 -05:00
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.Render.Graphics.Dx9InterpolateElement
// Assembly: UIX.RenderApi, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: D47658B8-A8EA-43D6-8837-ECE823BFFFC1
// Assembly location: C:\Program Files\Zune\UIX.RenderApi.dll
using Microsoft.Iris.Library;
namespace Microsoft.Iris.Render.Graphics
{
2021-07-11 23:04:40 -05:00
internal class Dx9InterpolateElement
2021-07-11 22:59:29 -05:00
{
2021-07-11 23:04:40 -05:00
internal static void Generate(
InterpolateElement efiInterpolate,
string stSource1,
string stSource2,
ref Dx9EffectBuilder effectBuilder)
{
VariableInfo variableInfo = new VariableInfo()
{
2021-07-11 23:07:04 -05:00
ID = efiInterpolate.ValueID,
2021-07-11 23:04:40 -05:00
Type = Dx9VariableType.Float,
IsDynamic = efiInterpolate.IsDynamicProperty("Value")
};
variableInfo.Name = variableInfo.IsDynamic ? effectBuilder.GenerateGlobalVariable(variableInfo.Type, efiInterpolate.Name) : effectBuilder.GenerateGlobalConstant(variableInfo.Type, efiInterpolate.Name);
2021-07-11 23:07:04 -05:00
variableInfo.DefaultValue = efiInterpolate.Value;
2021-07-11 23:04:40 -05:00
effectBuilder.AddPropertyVariable(variableInfo);
effectBuilder.PixelShaderOutput = effectBuilder.GenerateLocalVariable(Dx9VariableType.Vector4, efiInterpolate.Name);
2021-07-11 23:07:04 -05:00
effectBuilder.EmitPixelFragment(InvariantString.Format(" // Interpolate the result\r\n float4 {0} = lerp({1}, {2}, {3});\r\n\r\n", effectBuilder.PixelShaderOutput, stSource1, stSource2, variableInfo.Name));
2021-07-11 23:04:40 -05:00
}
2021-07-11 22:59:29 -05:00
}
}