Unità ha il proprio sintassi dello shader chiamato ShaderLab.
Tutte le informazioni necessarie al riguardo sono disponibili su questo website.
Per quanto riguarda le proprietà, controlla questo link.
Poiché nvidia è not supporting CG, le ultime versioni di unità effettivamente compilano gli shader utilizzando il compilatore HLSL e trasformano il codice byte risultante in GLSL. Il codice shader CG continua a funzionare per lo più invariato. Al giorno d'oggi puoi sfruttare le moderne funzioni di shader, come gli shader di calcolo e la tassellatura, che non erano supportate da CG, usando la sintassi HLSL.
Per esempio queste proprietà dello shader:
_MyColor ("Some Color", Color) = (1,1,1,1)
_MyVector ("Some Vector", Vector) = (0,0,0,0)
_MyRange ("My Range", Range (0, 1)) = 1
_MyFloat ("My float", Float) = 0.5
_MyInt ("My Int", int) = 1
_MyTexture2D ("Texture2D", 2D) = "white" {}
_MyTexture3D ("Texture3D", 3D) = "white" {}
_MyCubemap ("Cubemap", CUBE) = "" {}
sarebbero dichiarati per l'accesso in Cg codice/HLSL come:
fixed4 _MyColor;
float4 _MyVector;
float _MyRange;
float _MyFloat;
int _MyInt;
sampler2D _MyTexture2D;
sampler3D _MyTexture3D;
samplerCUBE _MyCubemap;
Residenziale in ShaderLab mappa per Cg/HLSL tipi variabili in questo modo:
• Colore e Vector proprietà mappa a float4, metà4 o fisso4 variabili.
• Gamma e galleggiare proprietà mappano galleggiante, metà o fisse variabili.
• Proprietà delle texture mappate alle variabili sampler2D per le trame regolari (2D).
• Cubemaps mappa a samplerCUBE.
• Trame 3D mappate a sampler3D.
Non riesco a trovare un modo per ottenere l'elenco delle proprietà di uno specifico Shader ... Cercando disperatamente di cambiare il mio materiale 'BlendOp' ... – Domi