A game about forced loneliness, made by TACStudios
at master 283 lines 9.6 kB view raw
1namespace UnityEngine.Rendering 2{ 3 /// <summary> 4 /// Debug Display Settings HDR Output 5 /// </summary> 6 public class DebugDisplaySettingsHDROutput 7 { 8 static class Strings 9 { 10 public static readonly string hdrOutputAPI = "HDROutputSettings"; 11 public static readonly string displayName = "Display "; 12 public static readonly string displayMain = " (main)"; 13 public static readonly string hdrActive = "HDR Output Active"; 14 public static readonly string hdrAvailable = "HDR Output Available"; 15 public static readonly string gamut = "Display Color Gamut"; 16 public static readonly string format = "Display Buffer Graphics Format"; 17 public static readonly string autoHdrTonemapping = "Automatic HDR Tonemapping"; 18 public static readonly string paperWhite = "Paper White Nits"; 19 public static readonly string minLuminance = "Min Tone Map Luminance"; 20 public static readonly string maxLuminance = "Max Tone Map Luminance"; 21 public static readonly string maxFullFrameLuminance = "Max Full Frame Tone Map Luminance"; 22 public static readonly string modeChangeRequested = "HDR Mode Change Requested"; 23 public static readonly string notAvailable = "N/A"; 24 } 25 26 /// <summary> 27 /// Creates a table of values from the HDROutputSettings API. 28 /// </summary> 29 /// <returns>A table containing the values from the HDROutputSettings API.</returns> 30 public static DebugUI.Table CreateHDROuputDisplayTable() 31 { 32 //Create table and rows 33 var table = new DebugUI.Table() 34 { 35 displayName = Strings.hdrOutputAPI, 36 isReadOnly = true 37 }; 38 39 var row_hdrActive = new DebugUI.Table.Row() 40 { 41 displayName = Strings.hdrActive, 42 opened = true 43 }; 44 45 var row_hdrAvailable = new DebugUI.Table.Row() 46 { 47 displayName = Strings.hdrAvailable, 48 opened = true 49 }; 50 51 var row_gamut = new DebugUI.Table.Row() 52 { 53 displayName = Strings.gamut, 54 opened = false 55 }; 56 57 var row_format = new DebugUI.Table.Row() 58 { 59 displayName = Strings.format, 60 opened = false 61 }; 62 63 var row_autoHdrTonemapping = new DebugUI.Table.Row() 64 { 65 displayName = Strings.autoHdrTonemapping, 66 opened = false 67 }; 68 69 var row_paperWhite = new DebugUI.Table.Row() 70 { 71 displayName = Strings.paperWhite, 72 opened = false 73 }; 74 75 var row_minLuminance = new DebugUI.Table.Row() 76 { 77 displayName = Strings.minLuminance, 78 opened = false 79 }; 80 81 var row_maxLuminance = new DebugUI.Table.Row() 82 { 83 displayName = Strings.maxLuminance, 84 opened = false 85 }; 86 87 var row_maxFullFrameLuminance = new DebugUI.Table.Row() 88 { 89 displayName = Strings.maxFullFrameLuminance, 90 opened = false 91 }; 92 93 var row_modeChangeRequested = new DebugUI.Table.Row() 94 { 95 displayName = Strings.modeChangeRequested, 96 opened = false 97 }; 98 99 //Iterate through all displays 100 HDROutputSettings[] displays = HDROutputSettings.displays; 101 for(int i=0; i<displays.Length; i++) 102 { 103 var d = displays[i]; 104 105 //Check if main display 106 int idName = i + 1; 107 var name = Strings.displayName + idName; 108 if(HDROutputSettings.main == d) 109 { 110 name += Strings.displayMain; 111 } 112 113 //Fill rows 114 115 row_hdrActive.children.Add 116 ( 117 new DebugUI.Value() 118 { 119 displayName = name, 120 getter = () => 121 { 122 return d.active; 123 } 124 } 125 ); 126 127 row_hdrAvailable.children.Add 128 ( 129 new DebugUI.Value() 130 { 131 displayName = name, 132 getter = () => 133 { 134 return d.available; 135 } 136 } 137 ); 138 139 row_gamut.children.Add 140 ( 141 new DebugUI.Value() 142 { 143 displayName = name, 144 getter = () => 145 { 146 if(d.available) 147 { 148 return d.displayColorGamut; 149 } 150 return Strings.notAvailable; 151 } 152 } 153 ); 154 155 row_format.children.Add 156 ( 157 new DebugUI.Value() 158 { 159 displayName = name, 160 getter = () => 161 { 162 if(d.available) 163 { 164 return d.graphicsFormat; 165 } 166 return Strings.notAvailable; 167 } 168 } 169 ); 170 171 row_autoHdrTonemapping.children.Add 172 ( 173 new DebugUI.Value() 174 { 175 displayName = name, 176 getter = () => 177 { 178 if(d.available) 179 { 180 return d.automaticHDRTonemapping; 181 } 182 return Strings.notAvailable; 183 } 184 } 185 ); 186 187 row_paperWhite.children.Add 188 ( 189 new DebugUI.Value() 190 { 191 displayName = name, 192 getter = () => 193 { 194 if(d.available) 195 { 196 return d.paperWhiteNits; 197 } 198 return Strings.notAvailable; 199 } 200 } 201 ); 202 203 row_minLuminance.children.Add 204 ( 205 new DebugUI.Value() 206 { 207 displayName = name, 208 getter = () => 209 { 210 if(d.available) 211 { 212 return d.minToneMapLuminance; 213 } 214 return Strings.notAvailable; 215 } 216 } 217 ); 218 219 row_maxLuminance.children.Add 220 ( 221 new DebugUI.Value() 222 { 223 displayName = name, 224 getter = () => 225 { 226 if(d.available) 227 { 228 return d.maxToneMapLuminance; 229 } 230 return Strings.notAvailable; 231 } 232 } 233 ); 234 235 row_maxFullFrameLuminance.children.Add 236 ( 237 new DebugUI.Value() 238 { 239 displayName = name, 240 getter = () => 241 { 242 if(d.available) 243 { 244 return d.maxFullFrameToneMapLuminance; 245 } 246 return Strings.notAvailable; 247 } 248 } 249 ); 250 251 row_modeChangeRequested.children.Add 252 ( 253 new DebugUI.Value() 254 { 255 displayName = name, 256 getter = () => 257 { 258 if(d.available) 259 { 260 return d.HDRModeChangeRequested; 261 } 262 return Strings.notAvailable; 263 } 264 } 265 ); 266 } 267 268 //Add rows to table 269 table.children.Add(row_hdrActive); 270 table.children.Add(row_hdrAvailable); 271 table.children.Add(row_gamut); 272 table.children.Add(row_format); 273 table.children.Add(row_autoHdrTonemapping); 274 table.children.Add(row_paperWhite); 275 table.children.Add(row_minLuminance); 276 table.children.Add(row_maxLuminance); 277 table.children.Add(row_maxFullFrameLuminance); 278 table.children.Add(row_modeChangeRequested); 279 280 return table; 281 } 282 } 283}