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