コード例 #1
0
        public static void BackupState(RendererBackupMode mode)
        {
            switch (mode)
            {
            case RendererBackupMode.DepthTest:
                _depthTestBackup = new Tuple <bool, DepthFunction>(_depthTestEnabled, _depthTestFunction);
                break;

            case RendererBackupMode.Blending:
                break;

            case RendererBackupMode.FaceCulling:
                _faceCullingBackup = new Tuple <bool, CullFaceMode, FrontFaceDirection>(_faceCullingEnabled, _faceCullingMode, _faceCullingFrontFaceDirection);
                break;
            }
        }
コード例 #2
0
        public static void RestoreState(RendererBackupMode mode)
        {
            switch (mode)
            {
            case RendererBackupMode.DepthTest:
                if (_depthTestBackup != null)
                {
                    DepthTest(_depthTestBackup.Item1, _depthTestBackup.Item2);
                    _depthTestBackup = null;
                }
                break;

            case RendererBackupMode.Blending:
                break;

            case RendererBackupMode.FaceCulling:
                if (_faceCullingBackup != null)
                {
                    FaceCulling(_faceCullingBackup.Item1, _faceCullingBackup.Item2, _faceCullingBackup.Item3);
                    _faceCullingBackup = null;
                }
                break;
            }
        }