pikaMain.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <filesystem>
  4. //#include <glad/glad.h>
  5. #include <glew/glew.h>
  6. #include <gl2d/gl2d.h>
  7. #include <GLFW/glfw3.h>
  8. #include "assert/assert.h"
  9. #include "dllLoader/dllLoader.h"
  10. #include "pikaImgui/pikaImgui.h"
  11. int main()
  12. {
  13. std::filesystem::path currentPath = std::filesystem::current_path();
  14. testStart_t *testStart = {};
  15. testUpdate_t *testUpdate = {};
  16. PIKA_PERMA_ASSERT(pika::loadDll(currentPath, &testStart, &testUpdate), "Couldn't load dll");
  17. #pragma region window loader
  18. PIKA_PERMA_ASSERT(glfwInit(), "Problem initializing glfw");
  19. //glfwSetErrorCallback(error_callback); todo
  20. GLFWwindow *window = glfwCreateWindow(640, 480, "Pika", NULL, NULL);
  21. if (!window)
  22. {
  23. std::cout << "problem initializing window";
  24. }
  25. glfwMakeContextCurrent(window);
  26. #pragma endregion
  27. #pragma region opengl loader
  28. //PIKA_PERMA_ASSERT(gladLoadGL(), "Problem initializing glad");
  29. PIKA_PERMA_ASSERT(glewInit() == GLEW_OK, "Problem initializing glew");
  30. #pragma endregion
  31. pika::initImgui(window);
  32. testStart(window);
  33. while (!glfwWindowShouldClose(window))
  34. {
  35. glClear(GL_COLOR_BUFFER_BIT);
  36. pika::imguiStartFrame();
  37. testUpdate(window);
  38. pika::imguiEndFrame(window);
  39. glfwPollEvents();
  40. glfwSwapBuffers(window);
  41. }
  42. return 0;
  43. }