Fix regression from #3342 to use existing time as unscaled to match previous content
This commit is contained in:
@@ -21,7 +21,7 @@ float4 ViewInfo;
|
||||
float4 ScreenSize;
|
||||
float4 ViewSize;
|
||||
float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
@1META_CB_END
|
||||
|
||||
// Shader resources
|
||||
|
||||
@@ -20,7 +20,7 @@ float4 ScreenSize;
|
||||
float4 TemporalAAJitter;
|
||||
float4x4 InverseViewProjectionMatrix;
|
||||
float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
@1META_CB_END
|
||||
|
||||
// Shader resources
|
||||
|
||||
@@ -1390,7 +1390,7 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
Elements = new[]
|
||||
{
|
||||
NodeElementArchetype.Factory.Output(0, "Time", typeof(float), 0),
|
||||
NodeElementArchetype.Factory.Output(1, "Unscaled Time", typeof(float), 1),
|
||||
NodeElementArchetype.Factory.Output(1, "Scaled Time", typeof(float), 1),
|
||||
}
|
||||
},
|
||||
new NodeArchetype
|
||||
|
||||
@@ -24,7 +24,7 @@ PACK_STRUCT(struct GUIMaterialShaderData {
|
||||
Float4 ScreenSize;
|
||||
Float4 ViewSize;
|
||||
Float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
});
|
||||
|
||||
void GUIMaterialShader::Bind(BindParameters& params)
|
||||
@@ -58,7 +58,7 @@ void GUIMaterialShader::Bind(BindParameters& params)
|
||||
materialData->ViewFar = 0.0f;
|
||||
materialData->ViewDir = Float3::Forward;
|
||||
materialData->TimeParam = params.Time;
|
||||
materialData->UnscaledTimeParam = params.UnscaledTime;
|
||||
materialData->ScaledTimeParam = params.ScaledTime;
|
||||
materialData->ViewInfo = Float4::Zero;
|
||||
auto& viewport = Render2D::GetViewport();
|
||||
materialData->ScreenSize = Float4(viewport.Width, viewport.Height, 1.0f / viewport.Width, 1.0f / viewport.Height);
|
||||
|
||||
@@ -148,7 +148,7 @@ public:
|
||||
const ::DrawCall* DrawCall = nullptr;
|
||||
MaterialParamsLink* ParamsLink = nullptr;
|
||||
void* CustomData = nullptr;
|
||||
float Time, UnscaledTime;
|
||||
float Time, ScaledTime;
|
||||
bool Instanced = false;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -38,14 +38,14 @@ GPU_CB_STRUCT(MaterialShaderDataPerView {
|
||||
Float3 LargeWorldsChunkIndex;
|
||||
float LargeWorldsChunkSize;
|
||||
Float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
});
|
||||
|
||||
IMaterial::BindParameters::BindParameters(::GPUContext* context, const ::RenderContext& renderContext)
|
||||
: GPUContext(context)
|
||||
, RenderContext(renderContext)
|
||||
, Time(Time::Draw.Time.GetTotalSeconds())
|
||||
, UnscaledTime(Time::Draw.UnscaledTime.GetTotalSeconds())
|
||||
, Time(Time::Draw.UnscaledTime.GetTotalSeconds())
|
||||
, ScaledTime(Time::Draw.Time.GetTotalSeconds())
|
||||
{
|
||||
}
|
||||
|
||||
@@ -53,8 +53,8 @@ IMaterial::BindParameters::BindParameters(::GPUContext* context, const ::RenderC
|
||||
: GPUContext(context)
|
||||
, RenderContext(renderContext)
|
||||
, DrawCall(&drawCall)
|
||||
, Time(Time::Draw.Time.GetTotalSeconds())
|
||||
, UnscaledTime(Time::Draw.UnscaledTime.GetTotalSeconds())
|
||||
, Time(Time::Draw.UnscaledTime.GetTotalSeconds())
|
||||
, ScaledTime(Time::Draw.Time.GetTotalSeconds())
|
||||
, Instanced(instanced)
|
||||
{
|
||||
}
|
||||
@@ -83,7 +83,7 @@ void IMaterial::BindParameters::BindViewData()
|
||||
cb.ViewFar = view.Far;
|
||||
cb.ViewDir = view.Direction;
|
||||
cb.TimeParam = Time;
|
||||
cb.UnscaledTimeParam = UnscaledTime;
|
||||
cb.ScaledTimeParam = ScaledTime;
|
||||
cb.ViewInfo = view.ViewInfo;
|
||||
cb.ScreenSize = view.ScreenSize;
|
||||
cb.TemporalAAJitter = view.TemporalAAJitter;
|
||||
|
||||
@@ -22,7 +22,7 @@ PACK_STRUCT(struct PostFxMaterialShaderData {
|
||||
Float4 TemporalAAJitter;
|
||||
Matrix InverseViewProjectionMatrix;
|
||||
Float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
});
|
||||
|
||||
void PostFxMaterialShader::Bind(BindParameters& params)
|
||||
@@ -54,7 +54,7 @@ void PostFxMaterialShader::Bind(BindParameters& params)
|
||||
materialData->ViewFar = view.Far;
|
||||
materialData->ViewDir = view.Direction;
|
||||
materialData->TimeParam = params.Time;
|
||||
materialData->UnscaledTimeParam = params.UnscaledTime;
|
||||
materialData->ScaledTimeParam = params.ScaledTime;
|
||||
materialData->ViewInfo = view.ViewInfo;
|
||||
materialData->ScreenSize = view.ScreenSize;
|
||||
materialData->TemporalAAJitter = view.TemporalAAJitter;
|
||||
|
||||
@@ -48,7 +48,7 @@ void MaterialGenerator::ProcessGroupTools(Box* box, Node* node, Value& value)
|
||||
}
|
||||
// Time
|
||||
case 3:
|
||||
value = box->ID == 1 ? getUnscaledTime : getTime;
|
||||
value = box->ID == 1 ? getScaledTime : getTime;
|
||||
break;
|
||||
// Panner
|
||||
case 6:
|
||||
|
||||
@@ -107,7 +107,7 @@ bool FeatureData::Init()
|
||||
|
||||
MaterialValue MaterialGenerator::getUVs(VariantType::Float2, TEXT("input.TexCoord"));
|
||||
MaterialValue MaterialGenerator::getTime(VariantType::Float, TEXT("TimeParam"));
|
||||
MaterialValue MaterialGenerator::getUnscaledTime(VariantType::Float, TEXT("UnscaledTimeParam"));
|
||||
MaterialValue MaterialGenerator::getScaledTime(VariantType::Float, TEXT("ScaledTimeParam"));
|
||||
MaterialValue MaterialGenerator::getNormal(VariantType::Float3, TEXT("input.TBN[2]"));
|
||||
MaterialValue MaterialGenerator::getNormalZero(VariantType::Float3, TEXT("float3(0, 0, 1)"));
|
||||
MaterialValue MaterialGenerator::getVertexColor(VariantType::Float4, TEXT("GetVertexColor(input)"));
|
||||
|
||||
@@ -210,7 +210,7 @@ public:
|
||||
|
||||
static MaterialValue getUVs;
|
||||
static MaterialValue getTime;
|
||||
static MaterialValue getUnscaledTime;
|
||||
static MaterialValue getScaledTime;
|
||||
static MaterialValue getNormal;
|
||||
static MaterialValue getNormalZero;
|
||||
static MaterialValue getVertexColor;
|
||||
|
||||
@@ -177,7 +177,7 @@ cbuffer ViewData : register(b1)
|
||||
float3 LargeWorldsChunkIndex;
|
||||
float LargeWorldsChunkSize;
|
||||
float3 ViewPadding0;
|
||||
float UnscaledTimeParam;
|
||||
float ScaledTimeParam;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user