public static FragLightLUT Load(Utility utility) { var fll = new FragLightLUT(); CGFXDebug.LoadStart(fll, utility); fll.Input = (PICALUTInput)utility.ReadU32(); fll.Scale = (PICALUTScale)utility.ReadU32(); utility.LoadIndirect(() => { fll.Sampler = LUTReference.Load(utility); }); return(fll); }
public static LUTReference Load(Utility utility) { var lr = new LUTReference(); CGFXDebug.LoadStart(lr, utility); lr.TypeId = utility.ReadU32(); if (lr.TypeId != 0x40000000) { throw new InvalidOperationException($"Unexpected TypeId {lr.TypeId}"); } lr.SamplerName = utility.ReadString(); lr.TableName = utility.ReadString(); lr.LUT = utility.LoadDICTFromOffset <ChunkDICTLUT>(); return(lr); }