यदि आप ओएसएक्स का उपयोग कर रहे हैं तो मैं अत्यधिक एक्सकोड का उपयोग करने की सिफारिश करता हूं और NSOpenGLView का उपयोग करता हूं। This पुस्तक में कई एपीआई के बारे में बहुत सारी सामग्री है जिसका आप उपयोग कर सकते हैं। जीएलयूटी निश्चित रूप से पकड़ने और स्थापित करने के लिए सबसे तेज़ है।
आप इस कोशिश आप भरमार का उपयोग करें और टर्मिनल पर संकलित करने के लिए चाहते हैं, तो हो सकता है:
#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;
}
और फिर साथ संकलन:
gcc /System/Library/Frameworks/GLUT.framework/GLUT /System/Library/Frameworks/OpenGL.framework/OpenGL main.c -o myGlutApp
कि चाल करना चाहिए। मैं कहूंगा कि XCode के साथ काम करने की कोशिश न करें और इससे आपको समय और निराशा बचाएगी।
मैंने टर्मिनल में आपकी विधि की कोशिश की लेकिन प्राप्त करें: hello.c: 47: 21: त्रुटि: जीएल/glut.h: ऐसी कोई फ़ाइल या निर्देशिका – clwen
हम्म, मैं 10.6 (बर्फ तेंदुए) चला रहा हूं और यह काम करता है। क्या आप सत्यापित कर सकते हैं कि आपके सिस्टम पर GLUT है? क्या आपने एक्सकोड और ऐप्पल के डेवलपर टूल इंस्टॉल किए हैं? – whg
यह "GL/glut.h" से "GLUT/glut.h" में पथ शामिल करने के बाद काम करता है। आपका बहुत बहुत धन्यवाद! – clwen