Advertisement
Guest User

Untitled

a guest
May 26th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #include <SFML/Graphics.hpp>
  2. #include <SFML/OpenGL.hpp>
  3. #pragma comment(lib, "glu32.lib")
  4. #include <iostream>
  5. using namespace sf;
  6.  
  7. int main() {
  8. RenderWindow window(VideoMode(800, 600), "SFML OpenGL");
  9.  
  10. Texture t;
  11. t.loadFromFile("resourcesbackground.jpg");
  12. Sprite background(t);
  13.  
  14. GLuint texture = 0;
  15. {
  16. Image image;
  17. image.loadFromFile("resourcestexture.jpg");
  18.  
  19. glGenTextures(1, &texture);
  20. glBindTexture(GL_TEXTURE_2D, texture);
  21. gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, image.getSize().x, image.getSize().y, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixelsPtr());
  22. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  23. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
  24. }
  25. glEnable(GL_DEPTH_TEST);
  26. glDepthMask(GL_TRUE);
  27. glClearDepth(1.f);
  28. glMatrixMode(GL_PROJECTION);
  29. glLoadIdentity();
  30. gluPerspective(90.f, 1.f, 1.f, 500.f);
  31.  
  32. Clock Clock;
  33. while (window.isOpen()) {
  34. Event event;
  35. while (window.pollEvent(event)) {
  36. if (event.type == Event::Closed)
  37. window.close();
  38. }
  39.  
  40. float time = 10;
  41. float size = 20.f;
  42.  
  43. window.pushGLStates();
  44. window.draw(background);
  45. window.popGLStates();
  46.  
  47. glClear(GL_DEPTH_BUFFER_BIT);
  48.  
  49. glMatrixMode(GL_MODELVIEW);
  50. glLoadIdentity();
  51. glTranslatef(0, 0, -100);
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60. glBindTexture(GL_TEXTURE_2D, texture);
  61. glBegin(GL_QUADS);
  62.  
  63. glTexCoord2f(0, 0); glVertex3f(-size, -size, -size);
  64. glTexCoord2f(1, 0); glVertex3f(size, -size, -size);
  65. glTexCoord2f(1, 1); glVertex3f(size, size, -size);
  66. glTexCoord2f(0, 1); glVertex3f(-size, size, -size);
  67. glEnd();
  68.  
  69.  
  70. glTexCoord2f(0, 0); glVertex3f(size, -size, size);
  71. glTexCoord2f(1, 0); glVertex3f(-size, -size, size);
  72. glTexCoord2f(1, 1); glVertex3f(-size, size, size);
  73. glTexCoord2f(0, 1); glVertex3f(size, size, size);
  74. glEnd();
  75.  
  76.  
  77. glTexCoord2f(0, 0); glVertex3f(-size, -size, size);
  78. glTexCoord2f(1, 0); glVertex3f(-size, -size, -size);
  79. glTexCoord2f(1, 1); glVertex3f(-size, size, -size);
  80. glTexCoord2f(0, 1); glVertex3f(-size, size, size);
  81. glEnd();
  82.  
  83.  
  84. glTexCoord2f(0, 0); glVertex3f(size, -size, -size);
  85. glTexCoord2f(1, 0); glVertex3f(size, -size, size);
  86. glTexCoord2f(1, 1); glVertex3f(size, size, size);
  87. glTexCoord2f(0, 1); glVertex3f(size, size, -size);
  88. glEnd();
  89.  
  90.  
  91. glTexCoord2f(0, 0); glVertex3f(-size, -size, size);
  92. glTexCoord2f(1, 0); glVertex3f(size, -size, size);
  93. glTexCoord2f(1, 1); glVertex3f(size, -size, -size);
  94. glTexCoord2f(0, 1); glVertex3f(-size, -size, -size);
  95. glEnd();
  96.  
  97.  
  98. glTexCoord2f(0, 0); glVertex3f(-size, size, -size);
  99. glTexCoord2f(1, 0); glVertex3f(size, size, -size);
  100. glTexCoord2f(1, 1); glVertex3f(size, size, size);
  101. glTexCoord2f(0, 1); glVertex3f(-size, size, size);
  102. glEnd();
  103.  
  104. window.display();
  105. }
  106.  
  107. glDeleteTextures(1, &texture);
  108. return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement