renderSettings.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #pragma once
  2. #include "glui/glui.h"
  3. #include <filesystem>
  4. struct ProgramData;
  5. void displayWorldSelectorMenuButton(ProgramData &programData);
  6. void displayWorldSelectorMenu(ProgramData &programData);
  7. void displayRenderSettingsMenuButton(ProgramData &programData);
  8. void displayRenderSettingsMenu(ProgramData &programData);
  9. void displaySettingsMenuButton(ProgramData &programData);
  10. void displaySettingsMenu(ProgramData &programData);
  11. bool shouldReloadTexturePacks();
  12. std::vector<std::filesystem::path> getUsedTexturePacksAndResetFlag();
  13. void displayTexturePacksSettingsMenuButton(ProgramData &programData);
  14. void displayTexturePacksSettingsMenu(ProgramData &programData);
  15. void displaySkinSelectorMenu(ProgramData &programData);
  16. void displaySkinSelectorMenuButton(ProgramData &programData);
  17. void displayVolumeMenu(ProgramData &programData);
  18. void displayVolumeMenuButton(ProgramData &programData);
  19. std::string getSkinName();
  20. struct ShadingSettings
  21. {
  22. int viewDistance = 15;
  23. int tonemapper = 0;
  24. int shadows = 0;
  25. int waterType = 1;
  26. int workerThreadsForBaking = 2; //MOVE TODO
  27. int lodStrength = 1; //MOVE TODO
  28. int PBR = 1;
  29. int maxLights = 40;
  30. int useLights = 1;
  31. float lightsStrength = 1.f;
  32. bool FXAA = 1;
  33. glm::vec3 waterColor = (glm::vec3(6, 42, 52) / 255.f);
  34. glm::vec3 underWaterColor = glm::vec3(0, 17, 25) / 255.f;
  35. float underwaterDarkenStrength = 0.94;
  36. float underwaterDarkenDistance = 29;
  37. float fogGradientUnderWater = 1.9;
  38. float bloomTresshold = 0.5;
  39. float bloomMultiplier = 0.5;
  40. float exposure = 0;
  41. float fogGradient = 16.f;
  42. int bloom = 1;
  43. int SSR = 1;
  44. float toneMapSaturation = 1;
  45. float toneMapVibrance = 1;
  46. float toneMapGamma = 1;
  47. float toneMapShadowBoost = 0;
  48. float toneMapHighlightBoost = 0;
  49. float vignette = 0.15;
  50. glm::vec3 toneMapLift = glm::vec3(0.5);
  51. glm::vec3 toneMapGain = glm::vec3(0.5);
  52. void normalize();
  53. // Equality operator
  54. bool operator==(const ShadingSettings &other) const
  55. {
  56. return std::memcmp(this, &other, sizeof(ShadingSettings)) == 0;
  57. }
  58. // Inequality operator
  59. bool operator!=(const ShadingSettings &other) const
  60. {
  61. return !(*this == other);
  62. }
  63. std::string formatIntoGLSLcode();
  64. };
  65. ShadingSettings &getShadingSettings();
  66. bool checkIfShadingSettingsChangedForShaderReloads();
  67. void saveShadingSettings();
  68. void loadShadingSettings();