Fix regression from #3342 to use existing time as unscaled to match previous content

This commit is contained in:
Wojtek Figat
2025-09-30 15:45:24 +02:00
parent f09d6aa0eb
commit 2a5898c1de
11 changed files with 18 additions and 18 deletions

View File

@@ -21,7 +21,7 @@ float4 ViewInfo;
float4 ScreenSize;
float4 ViewSize;
float3 ViewPadding0;
float UnscaledTimeParam;
float ScaledTimeParam;
@1META_CB_END
// Shader resources

View File

@@ -20,7 +20,7 @@ float4 ScreenSize;
float4 TemporalAAJitter;
float4x4 InverseViewProjectionMatrix;
float3 ViewPadding0;
float UnscaledTimeParam;
float ScaledTimeParam;
@1META_CB_END
// Shader resources

View File

@@ -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

View File

@@ -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);

View File

@@ -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>

View File

@@ -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;

View File

@@ -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;

View File

@@ -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:

View File

@@ -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)"));

View File

@@ -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;

View File

@@ -177,7 +177,7 @@ cbuffer ViewData : register(b1)
float3 LargeWorldsChunkIndex;
float LargeWorldsChunkSize;
float3 ViewPadding0;
float UnscaledTimeParam;
float ScaledTimeParam;
};
#endif