9.1 mac环境配置OpenGL
9.1.1 clion配置OpenGL
(1)配置glew 和glfw
brew install glew
brew install glfw3
(2)配置glad
直接把glad.c文件放置在当前目录文件
(3)测试代码
cmakelist
cmake_minimum_required(VERSION 3.12)
project(OpenGL)set(CMAKE_CXX_STANDARD 11)set(GLEW_H /usr/local/Cellar/glew/2.2.0_1/include/GL)
set(GLFW_H /usr/local/Cellar/glfw/3.3.6/include/GLFW)
set(GLAD_H /Users/xxx/glad/include)
set(KH_H /Users/xxx/glad/include/)
include_directories(${GLEW_H} ${GLFW_H} ${GLAD_H} ${KH_H})# 添加目标链接
set(GLEW_LINK /usr/local/Cellar/glew/2.2.0_1/lib/libGLEW.2.2.dylib)
set(GLFW_LINK /usr/local/Cellar/glfw/3.3.6/lib/libglfw.3.dylib)
link_libraries(${OPENGL} ${GLEW_LINK} ${GLFW_LINK})# 执行编译命令
set(SOURCE_FILES glad.c main.cpp)#需要把glad.c文件拷贝到源文件
add_executable(OpenGL ${SOURCE_FILES})# mac下这步很重要
if (APPLE)target_link_libraries(OpenGL "-framework OpenGL")target_link_libraries(OpenGL "-framework GLUT")
endif()
Main.cpp
#include <glew.h>
#include <glfw3.h>
#include <iostream>
using namespace std;void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{//如果按下ESC,把windowShouldClose设置为True,外面的循环会关闭应用if(key==GLFW_KEY_ESCAPE && action == GLFW_PRESS)glfwSetWindowShouldClose(window, GL_TRUE);std::cout<<"ESC"<<mode;
}int main(void)
{//初始化GLFW库if(!glfwInit())return -1;//创建窗口以及上下文GLFWwindow* window = glfwCreateWindow(640, 480, "hello world", NULL, NULL);if(!window){//创建失败会返回NULLglfwTerminate();}//建立当前窗口的上下文glfwMakeContextCurrent(window);glfwSetKeyCallback(window, key_callback); //注册回调函数//循环,直到用户关闭窗口while(!glfwWindowShouldClose(window)){/*******轮询事件*******/glfwPollEvents();/*******渲染*******///选择清空的颜色RGBAglClearColor(0.2, 0.3, 0.3, 1);glClear(GL_COLOR_BUFFER_BIT);//开始画一个三角形glBegin(GL_TRIANGLES);glColor3f(1, 0, 0); //RedglVertex3f(0, 1, 1);glColor3f(0, 1, 0); //GreenglVertex3f(-1, -1, 0);glColor3f(0, 0, 1); //BlueglVertex3f(1, -1, 0);//结束一个画图步骤glEnd();glBegin(GL_POLYGON);//再画个梯形,需要注意笔顺glColor3f(0.5, 0.5, 0.5); //GreyglVertex2d(0.5, 0.5);glVertex2d(1, 1);glVertex2d(1, 0);glVertex2d(0.5, 0);glEnd();/******交换缓冲区,更新window上的内容******/glfwSwapBuffers(window);}glfwTerminate();return 0;
}
9.1.2 clion安装glsl插件
打开preference—>plugins —>安装GLSL