Exemplo n.º 1
0
            public void FromFlatbuffer(byte[] data)
            {
                ByteBuffer       bb       = new ByteBuffer(data);
                fbs_BakeSettings settings = fbs_BakeSettings.GetRootAsfbs_BakeSettings(bb);

                m_version = settings.Version;

                // shadow settings
                m_shadowsEnabled = settings.ShadowsEnabled;
                m_rayStartOffset = settings.RayStartOffset;
                m_lightSamples   = settings.LightBlockerSamples;

                // ambient occlusion
                m_ambientOcclusion      = settings.AmbientOcclusion;
                m_normalBend            = settings.NormalBend;
                m_occlusionRayLength    = settings.OccluderRayLength;
                m_occluderStartOffset   = settings.OccluderStartOffset;
                m_occluderSearchSamples = settings.OccluderSearchSamples;

                if (m_version > 0)
                {
                    m_aoForceDoubleSidedGeo = settings.AoForceDoubleSidedGeo;
                }

                // ambient
                m_colorCube = new float[settings.ColorCubeLength];
                for (int i = 0; i < settings.ColorCubeLength; i++)
                {
                    m_colorCube[i] = settings.GetColorCube(i);
                }
                m_colorGradient = new float[settings.ColorGradientLength];
                for (int i = 0; i < settings.ColorGradientLength; i++)
                {
                    m_colorGradient[i] = settings.GetColorGradient(i);
                }
                m_colorSolid = new float[settings.ColorSolidLength];
                for (int i = 0; i < settings.ColorSolidLength; i++)
                {
                    m_colorSolid[i] = settings.GetColorSolid(i);
                }
                m_ambientMin = settings.AmbientMin;
                m_ambientMax = settings.AmbientMax;
                m_colorMode  = (AmbientColorMode)settings.ColorMode;
            }
Exemplo n.º 2
0
            public void FromFlatbuffer(byte[] data)
            {
                ByteBuffer       bb       = new ByteBuffer(data);
                fbs_BakeSettings settings = fbs_BakeSettings.GetRootAsfbs_BakeSettings(bb);

                m_version = settings.Version;

                // shadow settings
                m_shadowsEnabled = settings.ShadowsEnabled;
                m_rayStartOffset = settings.RayStartOffset;
                m_lightSamples   = settings.LightBlockerSamples;

                // ambient occlusion
                m_ambientOcclusion      = settings.AmbientOcclusion;
                m_normalBend            = settings.NormalBend;
                m_occlusionRayLength    = settings.OccluderRayLength;
                m_occluderStartOffset   = settings.OccluderStartOffset;
                m_occluderSearchSamples = settings.OccluderSearchSamples;

                if (m_version > 0)
                {
                    m_aoForceDoubleSidedGeo = settings.AoForceDoubleSidedGeo;
                }

                if (m_version >= BAKESETTINGS_TESS_V1)
                {
                    // tessellation
                    m_tessEnabled       = settings.TessEnabled;
                    m_maxTessIterations = settings.MaxTessIterations;
                    m_maxTessVertices   = settings.MaxTessVertices;
                }

                if (m_version >= BAKESETTINGS_TESS_V2)
                {
                    m_minTessIterations           = settings.MinTessIterations;
                    m_maxAOTessIterations         = settings.MaxAOTessIterations;
                    m_maxShadowSoftTessIterations = settings.MaxShadowSoftTessIterations;
                    m_maxShadowHardTessIterations = settings.MaxShadowHardTessIterations;
                    m_maxIntensityTessIterations  = settings.MaxIntensityTessIterations;

                    m_intesityThreshold        = settings.IntesityThreshold;
                    m_avgIntensityThreshold    = settings.AvgIntensityThreshold;
                    m_surfaceLightThresholdMin = settings.SurfaceLightThresholdMin;
                    m_surfaceLightThresholdMax = settings.SurfaceLightThresholdMax;
                    m_accessabilityThreshold   = settings.AccessabilityThreshold;
                }

                // ambient
                m_colorCube = new float[settings.ColorCubeLength];
                for (int i = 0; i < settings.ColorCubeLength; i++)
                {
                    m_colorCube[i] = settings.GetColorCube(i);
                }
                m_colorGradient = new float[settings.ColorGradientLength];
                for (int i = 0; i < settings.ColorGradientLength; i++)
                {
                    m_colorGradient[i] = settings.GetColorGradient(i);
                }
                m_colorSolid = new float[settings.ColorSolidLength];
                for (int i = 0; i < settings.ColorSolidLength; i++)
                {
                    m_colorSolid[i] = settings.GetColorSolid(i);
                }
                m_ambientMin = settings.AmbientMin;
                m_ambientMax = settings.AmbientMax;
                m_colorMode  = (AmbientColorMode)settings.ColorMode;
            }
Exemplo n.º 3
0
 public static fbs_BakeSettings GetRootAsfbs_BakeSettings(ByteBuffer _bb, fbs_BakeSettings obj)
 {
     return(obj.__init(_bb.GetInt(_bb.Position) + _bb.Position, _bb));
 }