LoadingScreen.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "stb_image.h"
  2. #include "LoadingScreen.h"
  3. #include "CrystalPoint.h"
  4. #include "Util.h"
  5. #include <ostream>
  6. LoadingScreen::LoadingScreen()
  7. {
  8. points = 0;
  9. }
  10. LoadingScreen::~LoadingScreen()
  11. {
  12. }
  13. void LoadingScreen::draw()
  14. {
  15. glMatrixMode(GL_PROJECTION);
  16. glLoadIdentity();
  17. glOrtho(0, CrystalPoint::width, CrystalPoint::height, 0, -10, 10);
  18. glMatrixMode(GL_MODELVIEW);
  19. glLoadIdentity();
  20. glDisable(GL_LIGHTING);
  21. glDisable(GL_DEPTH_TEST);
  22. glDisable(GL_COLOR_MATERIAL);
  23. glEnable(GL_TEXTURE_2D);
  24. glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
  25. glBindTexture(GL_TEXTURE_2D, textureId);
  26. glBegin(GL_QUADS);
  27. glTexCoord2f(0, 1);
  28. glVertex2f(0, 0);
  29. glTexCoord2f(0, 0);
  30. glVertex2f(0, CrystalPoint::height);
  31. glTexCoord2f(1, 0);
  32. glVertex2f(CrystalPoint::width, CrystalPoint::height);
  33. glTexCoord2f(1, 1);
  34. glVertex2f(CrystalPoint::width, 0);
  35. glEnd();
  36. /*glColor4f(1.0f, 1.0f, 0.0f, 1.0f);
  37. std::ostringstream oss;
  38. oss << loading << points << std::endl;
  39. Util::glutBitmapString(oss.str(),
  40. CrystalPoint::width / 2 - Util::glutTextWidth(oss.str()),
  41. CrystalPoint::height / 2 - 7);*/
  42. glDisable(GL_TEXTURE_2D);
  43. glEnable(GL_LIGHTING);
  44. glEnable(GL_DEPTH_TEST);
  45. glutSwapBuffers();
  46. }
  47. void LoadingScreen::rise()
  48. {
  49. points++;
  50. draw();
  51. }
  52. void LoadingScreen::setTexture(const std::string filename)
  53. {
  54. textureId = Util::loadTexture(filename);
  55. }