Overte C++ Documentation
FadeProperties.h
1 //
2 // Created by HifiExperiments on 6/19/25
3 // Copyright 2025 Overte e.V.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 
9 #ifndef hifi_FadeProperties_h
10 #define hifi_FadeProperties_h
11 
12 #include "FadeTiming.h"
13 
14 enum class TransitionType {
15  ELEMENT_ENTER_DOMAIN = 0,
16  ELEMENT_LEAVE_DOMAIN,
17  BUBBLE_ISECT_OWNER,
18  BUBBLE_ISECT_TRESPASSER,
19  USER_ENTER_DOMAIN,
20  USER_LEAVE_DOMAIN,
21  AVATAR_CHANGE,
22 
23  TYPE_COUNT,
24  NONE = TYPE_COUNT
25 };
26 
27 struct FadeProperties {
28  float duration { 1.0f };
29  FadeTiming timing { FadeTiming::LINEAR };
30 
31  vec3 noiseSpeed { 0.0f };
32  vec3 noiseSizeInv { 1.0f };
33  float noiseLevel { 1.0f };
34  vec3 baseSizeInv { 1.0f };
35  float baseLevel { 0.0f };
36 
37  vec4 innerEdgeColor { 1.0f };
38  vec4 outerEdgeColor { 1.0f };
39  float edgeWidth { 1.0f };
40  bool inverted { false };
41 };
42 
43 #endif // hifi_FadeProperties_h