Adaug proiectul Unity

This commit is contained in:
2026-11-01 23:39:55 +02:00
parent cb14d9d37d
commit 863eac8f2c
23463 changed files with 5412601 additions and 0 deletions
@@ -0,0 +1,34 @@
using System;
using System.Text;
using UnityEditor.Graphing;
using UnityEngine;
namespace UnityEditor.ShaderGraph.Internal
{
[Serializable]
public abstract class VectorShaderProperty : AbstractShaderProperty<Vector4>
{
internal override bool isExposable => true;
internal override bool isRenamable => true;
internal virtual int vectorDimension => 4;
internal override string GetHLSLVariableName(bool isSubgraphProperty, GenerationMode mode)
{
HLSLDeclaration decl = ResolveHLSLDeclaration(mode);
if (decl == HLSLDeclaration.HybridPerInstance)
return $"UNITY_ACCESS_HYBRID_INSTANCED_PROP({referenceName}, {concretePrecision.ToShaderString()}{vectorDimension})";
else
return base.GetHLSLVariableName(isSubgraphProperty, mode);
}
internal override string GetPropertyBlockString()
{
return $"{hideTagString}{referenceName}(\"{displayName}\", Vector, {vectorDimension}) = ({NodeUtils.FloatToShaderValueShaderLabSafe(value.x)}, {NodeUtils.FloatToShaderValueShaderLabSafe(value.y)}, {NodeUtils.FloatToShaderValueShaderLabSafe(value.z)}, {NodeUtils.FloatToShaderValueShaderLabSafe(value.w)})";
}
internal override string GetPropertyAsArgumentString(string precisionString)
{
return $"{concreteShaderValueType.ToShaderString(precisionString)} {referenceName}";
}
}
}