예제 #1
0
            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);
            }
예제 #2
0
        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);
        }