private void DisplayLumaVectorProperties()
        {
            EditorGUILayout.Space();
            EditorGUILayout.LabelField("Brightpass Luma calculation");

            _selectedLumaVectorType = (LumaVectorType)EditorGUILayout.EnumPopup(_selectedLumaVectorType);
            _bloomSelectedLumaVectorTypeProperty.enumValueIndex = (int)_selectedLumaVectorType;
            switch (_selectedLumaVectorType)
            {
            case LumaVectorType.Custom:
                EditorGUILayout.PropertyField(_bloomLumaVectorProperty, new GUIContent(""));
                break;

            case LumaVectorType.Uniform:
                var oneOverThree = 1f / 3f;
                _bloomLumaVectorProperty.vector3Value = new Vector3(oneOverThree, oneOverThree, oneOverThree);
                break;

            case LumaVectorType.sRGB:
                _bloomLumaVectorProperty.vector3Value = new Vector3(0.2126f, 0.7152f, 0.0722f);
                break;
            }

            var vector = _bloomLumaVectorProperty.vector3Value;

            if (!Mathf.Approximately(vector.x + vector.y + vector.z, 1f))
            {
                EditorGUILayout.HelpBox("Luma vector is not normalized.\nVector values should sum up to 1.",
                                        MessageType.Warning);
            }
        }
        private void SetupBloomProperties()
        {
            _isBloomGroupExpandedProperty =
                serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomExpanded));
            _bloomEnabledProperty   = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomEnabled));
            _bloomThresholdProperty = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomThreshold));
            _bloomIntensityProperty = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomIntensity));
            _bloomTintProperty      = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomTint));

            _bloomPreserveAspectRatioProperty =
                serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.preserveAspectRatio));

            _bloomTextureWidth  = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomTextureWidth));
            _bloomTextureHeight =
                serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomTextureHeight));

            _bloomPassCountProperty      = serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomPasses));
            _selectedBloomPassCountIndex = Array.IndexOf(_bloomPassCountVariantInts, _bloomPassCountProperty.intValue);

            _bloomLumaVectorProperty =
                serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomLumaVector));
            _bloomSelectedLumaVectorTypeProperty =
                serializedObject.FindProperty(GetMemberName((SleekRenderSettings s) => s.bloomLumaCalculationType));
            _selectedLumaVectorType = (LumaVectorType)_bloomSelectedLumaVectorTypeProperty.enumValueIndex;
        }