Skip to content

Instantly share code, notes, and snippets.

Created February 15, 2012 04:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/1833181 to your computer and use it in GitHub Desktop.
Save anonymous/1833181 to your computer and use it in GitHub Desktop.
#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include <SFML/OpenGL.hpp>
#include <iostream>
const float vertexPositions[] = {
0.75f, 0.75f, 0.0f, 0.2f,
0.75f, -0.75f, 0.0f, 0.2f,
-0.75f, -0.75f, 0.0f, 0.2f,
};
GLuint positionBufferObject;
void setClear() {
glClearDepth(1.f);
glClearColor(0.f, 0.f, 0.f, 0.f);
}
void init() {
glGenBuffers(1, &positionBufferObject);
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertexPositions), vertexPositions, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
}
void draw() {
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, 2);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableVertexAttribArray(0);
}
int main() {
sf::Clock Clock;
sf::Window App(sf::VideoMode(800, 600, 32), "SFML Window");
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
// Setup a perspective projection
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90.f, 1.f, 1.f, 500.f);
init();
sf::Event Event;
while(App.IsOpen()) {
App.PollEvent(Event);
if(Event.Type == sf::Event::Closed) {
App.Close();
}
setClear();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
draw();
App.Display();
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment