OpenGL-Mac下搭建環(huán)境

1.openGL對(duì)應(yīng)的擴(kuò)展庫(kù)有,GLUT庫(kù)、GLEW庫(kù)、GLFW庫(kù)等,在這里我使用的是GLFW庫(kù),沒(méi)有使用GLUT庫(kù)(實(shí)在太老了其項(xiàng)目組已經(jīng)停止更新好多年,而且不怎么安全)。

2.首先去下載GLFW源文件?http://www.glfw.org/download.html?;

3.cd到下載的文件夾目錄下,進(jìn)行編譯命令 ?,依次執(zhí)行下面的兩條命令

<附帶cmake 安裝>

$ cmake .

$ make

4.編譯之后得到?/src/下面的?libglfw3.a?靜態(tài)庫(kù),同時(shí)生成include 下面對(duì)應(yīng)的GLFW下面兩個(gè)使用的頭文件。

5.新建一個(gè)項(xiàng)目,添加 GLFW 靜態(tài)庫(kù)的所依賴(lài)庫(kù)

依賴(lài)庫(kù)和靜態(tài)庫(kù)

6.并且把多余的文件刪除掉,同時(shí)引入GLFW的兩個(gè)頭文件。


此時(shí)的項(xiàng)目結(jié)構(gòu)

7.新建一個(gè)main.cpp的C++文件,重新寫(xiě)下代碼:

#include <stdio.h>

#include <iostream>

#include "GLFW/glfw3.h"

voidRender(void)

{

? ? glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

? ? glClear(GL_COLOR_BUFFER_BIT);

? ? glBegin(GL_TRIANGLES);

? ? {

? ? ? ? glColor3f(1.0,0.0,0.0);

? ? ? ? glVertex2f(0,.5);

? ? ? ? glColor3f(0.0,1.0,0.0);

? ? ? ? glVertex2f(-.5,-.5);

? ? ? ? glColor3f(0.0,0.0,1.0);

? ? ? ? glVertex2f(.5, -.5);

? ? }

? ? glEnd();

}

intmain(intargc,constchar* argv[]) {

? ? GLFWwindow* win;

? ? if(!glfwInit()){

? ? ? ? return-1;

? ? }

? ? win =glfwCreateWindow(640, 480, "OpenGL Base Project", NULL, NULL);

? ? if(!win)

? ? {

? ? ? ? glfwTerminate();

? ? ? ? exit(EXIT_FAILURE);

? ? }

? ? glfwMakeContextCurrent(win);

? ? while(!glfwWindowShouldClose(win)){

? ? ? ? Render();

? ? ? ? glfwSwapBuffers(win);

? ? ? ? glfwPollEvents();

? ? }

? ? glfwTerminate();

? ? exit(EXIT_SUCCESS);

? ? return 0;

}

8.運(yùn)行項(xiàng)目,達(dá)到顯示效果:


最終顯示效果

9.至此,我們已經(jīng)成功的把GLFW,編譯成靜態(tài)庫(kù),并且引入到工程中,開(kāi)始OpenGL的學(xué)習(xí)之旅吧。


我也是剛開(kāi)始學(xué)習(xí)OpenGL,有不對(duì)的地方,希望大家能夠及時(shí)指出,一起努力吧?。?!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容