Fix -Game no matieral error

This commit is contained in:
Eragon-Brisingr
2026-07-05 11:26:32 +08:00
parent 799848f87f
commit a6fbdf10f8
30 changed files with 331 additions and 206 deletions

View File

@@ -0,0 +1,23 @@
// Copyright UShaderLab. All Rights Reserved.
//
// Decal intrinsics (meaningful in the Decal domain; the instance/domain gates usage).
#include "ShaderLabIntrinsics.h"
#include "Materials/MaterialExpressionDecalColor.h"
#include "Materials/MaterialExpressionDecalDerivative.h"
#include "Materials/MaterialExpressionDecalLifetimeOpacity.h"
void RegisterDecalIntrinsics(FShaderLabIntrinsicRegistry& Registry)
{
using namespace ShaderLabIntrinsic_Private;
using EFreq = EShaderLabIntrinsicFrequency;
// DecalColor's default output pin is RGB (float3).
AddSimple(Registry, TEXT("DecalColor"), EFreq::PixelOnly, TEXT("float3"), [](UMaterial& M) { return MakeSimple<UMaterialExpressionDecalColor>(M); });
AddSimple(Registry, TEXT("DecalLifetimeOpacity"), EFreq::PixelOnly, TEXT("float"), [](UMaterial& M) { return MakeSimple<UMaterialExpressionDecalLifetimeOpacity>(M); });
// DecalDerivative is multi-output (DDX, DDY) — one intrinsic per output pin.
AddSimple(Registry, TEXT("DecalDerivativeDDX"), EFreq::PixelOnly, TEXT("float2"), [](UMaterial& M) { return MakeSimple<UMaterialExpressionDecalDerivative>(M); }, 0);
AddSimple(Registry, TEXT("DecalDerivativeDDY"), EFreq::PixelOnly, TEXT("float2"), [](UMaterial& M) { return MakeSimple<UMaterialExpressionDecalDerivative>(M); }, 1);
}