engineGL3DSupport.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #pragma once
  2. #include <gl3d.h>
  3. #include <baseContainer.h>
  4. void errorCallbackCustom(std::string err, void *userData);
  5. std::string readEntireFileCustom(const char *fileName, bool &couldNotOpen, void *userData);
  6. std::vector<char> readEntireFileBinaryCustom(const char *fileName, bool &couldNotOpen, void *userData);
  7. bool defaultFileExistsCustom(const char *fileName, void *userData);
  8. #if PIKA_SHOULD_REMOVE_IMGUI == 0
  9. #endif
  10. #include <pikaImgui/pikaImgui.h>
  11. #include <imfilebrowser.h>
  12. #include <windowSystemm/input.h>
  13. #include <baseContainer.h>
  14. namespace pika
  15. {
  16. namespace gl3d
  17. {
  18. void generalSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  19. void fxaaSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  20. void ssaoSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  21. void ssrSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  22. void bloomSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  23. void chromaticAberationSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  24. void lightEditorSettingsWindow(int imguiId, ::gl3d::Renderer3D &renderer);
  25. void fpsInput(::gl3d::Renderer3D &renderer, pika::Input &input, float moveSpeed, glm::dvec2 &lastMousePos,
  26. RequestedContainerInfo &requestedInfo, glm::ivec2 windowSize);
  27. bool loadSettingsFromFileName(::gl3d::Renderer3D &renderer, std::string file, RequestedContainerInfo &info);
  28. struct General3DEditor
  29. {
  30. General3DEditor()
  31. {
  32. skyBoxFileSelector.setInfo("Sellect skyBox", PIKA_RESOURCES_PATH, {".hdr", ".png"});
  33. settingsFileSelector.setInfo("Gl3D file", PIKA_RESOURCES_PATH, {".gl3d"});
  34. };
  35. void loadFromFile(::gl3d::Renderer3D &renderer, std::string file, RequestedContainerInfo &info);
  36. void update(int imguiId, ::gl3d::Renderer3D &renderer, pika::Input &input, float moveSpeed
  37. ,RequestedContainerInfo &info, glm::ivec2 windowSize);
  38. glm::dvec2 lastMousePos = {};
  39. ::gl3d::AtmosfericScatteringSettings atmosphericScattering;
  40. std::string currentSkyBox;
  41. pika::pikaImgui::FileSelector skyBoxFileSelector;
  42. pika::pikaImgui::FileSelector settingsFileSelector;
  43. void saveToFile(::gl3d::Renderer3D &renderer, RequestedContainerInfo &info);
  44. };
  45. };
  46. };