Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SFML/Graphics.hpp>
- #include <SFML/OpenGL.hpp>
- #pragma comment(lib, "glu32.lib")
- #include <iostream>
- using namespace sf;
- int main() {
- RenderWindow window(VideoMode(800, 600), "SFML OpenGL");
- Texture t;
- t.loadFromFile("resourcesbackground.jpg");
- Sprite background(t);
- GLuint texture = 0;
- {
- Image image;
- image.loadFromFile("resourcestexture.jpg");
- glGenTextures(1, &texture);
- glBindTexture(GL_TEXTURE_2D, texture);
- gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, image.getSize().x, image.getSize().y, GL_RGBA, GL_UNSIGNED_BYTE, image.getPixelsPtr());
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
- }
- glEnable(GL_DEPTH_TEST);
- glDepthMask(GL_TRUE);
- glClearDepth(1.f);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(90.f, 1.f, 1.f, 500.f);
- Clock Clock;
- while (window.isOpen()) {
- Event event;
- while (window.pollEvent(event)) {
- if (event.type == Event::Closed)
- window.close();
- }
- float time = 10;
- float size = 20.f;
- window.pushGLStates();
- window.draw(background);
- window.popGLStates();
- glClear(GL_DEPTH_BUFFER_BIT);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0, 0, -100);
- glBindTexture(GL_TEXTURE_2D, texture);
- glBegin(GL_QUADS);
- glTexCoord2f(0, 0); glVertex3f(-size, -size, -size);
- glTexCoord2f(1, 0); glVertex3f(size, -size, -size);
- glTexCoord2f(1, 1); glVertex3f(size, size, -size);
- glTexCoord2f(0, 1); glVertex3f(-size, size, -size);
- glEnd();
- glTexCoord2f(0, 0); glVertex3f(size, -size, size);
- glTexCoord2f(1, 0); glVertex3f(-size, -size, size);
- glTexCoord2f(1, 1); glVertex3f(-size, size, size);
- glTexCoord2f(0, 1); glVertex3f(size, size, size);
- glEnd();
- glTexCoord2f(0, 0); glVertex3f(-size, -size, size);
- glTexCoord2f(1, 0); glVertex3f(-size, -size, -size);
- glTexCoord2f(1, 1); glVertex3f(-size, size, -size);
- glTexCoord2f(0, 1); glVertex3f(-size, size, size);
- glEnd();
- glTexCoord2f(0, 0); glVertex3f(size, -size, -size);
- glTexCoord2f(1, 0); glVertex3f(size, -size, size);
- glTexCoord2f(1, 1); glVertex3f(size, size, size);
- glTexCoord2f(0, 1); glVertex3f(size, size, -size);
- glEnd();
- glTexCoord2f(0, 0); glVertex3f(-size, -size, size);
- glTexCoord2f(1, 0); glVertex3f(size, -size, size);
- glTexCoord2f(1, 1); glVertex3f(size, -size, -size);
- glTexCoord2f(0, 1); glVertex3f(-size, -size, -size);
- glEnd();
- glTexCoord2f(0, 0); glVertex3f(-size, size, -size);
- glTexCoord2f(1, 0); glVertex3f(size, size, -size);
- glTexCoord2f(1, 1); glVertex3f(size, size, size);
- glTexCoord2f(0, 1); glVertex3f(-size, size, size);
- glEnd();
- window.display();
- }
- glDeleteTextures(1, &texture);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement