OpenGL - Glut - C++ Mac os X

Pessoal,

estou tentando compilar o seguinte code :

#include <GLUT/glut.h>

void display(void) {
    
    //clear white, draw with black
    glClearColor(255, 255, 255, 0);
    glColor3d(0, 0, 0);
    
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
    //this draws a square using vertices
    glBegin(GL_QUADS);
    glVertex2i(0, 0);
    glVertex2i(0, 128);
    glVertex2i(128, 128);
    glVertex2i(128, 0);
    glEnd();
    
    //a more useful helper
    glRecti(200, 200, 250, 250);
    
    glutSwapBuffers();
    
}

void reshape(int width, int height) {
    
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    
    //set the coordinate system, with the origin in the top left
    gluOrtho2D(0, width, height, 0);
    glMatrixMode(GL_MODELVIEW);
    
}

void idle(void) {
    
    glutPostRedisplay();
}

int main(int argc, char *argv) {
    
    //a basic set up...
    glutInit(&argc, &argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
    glutInitWindowSize(640, 480);
    
    //create the window, the argument is the title
    glutCreateWindow("GLUT program");
    
    //pass the callbacks
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutIdleFunc(idle);
    
    glutMainLoop();
    
    //we never get here because glutMainLoop() is an infinite loop
    return 0;
    
}

estou usando yosemite mac os X

E o compilador fica avisando que os métodos estão depreciados alguém tem um pedaço de código que rode no meu MacBook

[]s

Olá,

A OpenGL está descontinuando métodos como:

glBegin
glRotate
glTranslate
glScale
glVertex

Esses métodos compunham o que chamávamos de pipeline fixo. Hoje, a programação usa o pipeline programável, que resolve boa parte dos problemas que esses caras faziam com shaders. Você pode ver um pouco desse pipeline aqui nesse tutorial de WebGL do Ponto V.

Em paralelo, a Apple também está com uma nova API de renderização de baixo nível chamada Metal, que também seria considerada uma evolução da OpenGL (usa os mesmos conceitos do Mantle, conceitos esses que devem ser introduzidos na próxima versão da OpenGL e do DirectX).

Quanto a serem depreciados, é só um aviso. Significa que, no futuro (distante), sua aplicação poderá não compilar mais. A glut também é uma biblioteca bastante antiga, e não me surpreenderia se também fosse considerada obsoleta. Se esse é o único problema que você está enfrentando, seu programa deveria estar compilando e rodando normalmente.

Se não está, procure por algum error do compilador. Esse sim, é o cara que precisa ser corrigido.

Também estou estudando OpenGL, esta rodando o Código por linha de comando, ou ide?
No stackoverflow, a um tópico parecido.
O código também é o mesmo

Aqui no windows, rodou de boa, com o codeblcoks.