只需要在新建工程中.pro文件中添加:
#opengl glut
LIBS+= -framework opengl -framework glut
就可以使用glut了。
继续添加:
##glfw
LIBS+= -L/usr/local/lib -lglfw3
INCLUDEPATH+=/usr/local/include
#opengl glut
LIBS+= -framework opengl -framework glut
LIBS+= -framework Cocoa -framework IOKit -framework CoreVideo
则就可以使用glfw了。
#ifndef GLFWTEST_H #define GLFWTEST_H //#include <GLFW/glfw3.h> #include <GLFW/glfw3.h> #include <stdlib.h> #include <stdio.h> namespace glfw { static void error_callback(int error, const char* description) { fputs(description, stderr); } static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) { if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS) glfwSetWindowShouldClose(window, GL_TRUE); } int start(void) { GLFWwindow* window; glfwSetErrorCallback(error_callback); if (!glfwInit()) exit(EXIT_FAILURE); window = glfwCreateWindow(640, 480, "Simple example", NULL, NULL); if (!window) { glfwTerminate(); exit(EXIT_FAILURE); } glfwMakeContextCurrent(window); glfwSetKeyCallback(window, key_callback); while (!glfwWindowShouldClose(window)) { float ratio; int width, height; glfwGetFramebufferSize(window, &width, &height); ratio = width / (float) height; glViewport(0, 0, width, height); glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glRotatef((float) glfwGetTime() * 50.f, 0.f, 0.f, 1.f); glBegin(GL_TRIANGLES); glColor3f(1.f, 0.f, 0.f); glVertex3f(-0.6f, -0.4f, 0.f); glColor3f(0.f, 1.f, 0.f); glVertex3f(0.6f, -0.4f, 0.f); glColor3f(0.f, 0.f, 1.f); glVertex3f(0.f, 0.6f, 0.f); glEnd(); glfwSwapBuffers(window); glfwPollEvents(); } glfwDestroyWindow(window); glfwTerminate(); exit(EXIT_SUCCESS); } } #endif // GLFWTEST_H
在mac环境下用QT使用OpenGL,glut,glfw
时间: 2024-10-11 00:55:22