glfw/glew/gl3w與Mac的糾葛

gl3w

$ python gl3w_gen.py

<urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>
openssl version
python -c "import ssl; print(ssl.OPENSSL_VERSION)"

得出openssl與python的版本不匹配跪妥,Mac上解決:

brew install python

中間如果出現(xiàn)權(quán)限報(bào)錯(cuò)的問題:

sudo chown $(whoami):admin /usr/local/Frameworks

之后關(guān)聯(lián)python:

brew link python3

接下來運(yùn)行python文件,

$ python gl3w_gen.py 

文件會(huì)自動(dòng)下載gl3w相關(guān)的頭文件與庫實(shí)現(xiàn)声滥;

gl3w01.png

glfw/glew

首先通過homebrew安裝這兩個(gè)工具,

brew install glew
brew install glfw

安裝完成后侦香,庫文件會(huì)在你的Mac系統(tǒng)目錄下落塑,

/usr/local/Cellar

接下來就是將這兩個(gè)庫的目錄添加到Xcode工具設(shè)置里;

點(diǎn)擊Command+.罐韩,在設(shè)置中Locations->Custom Path中添加憾赁,

gl3w02.png
glew_header
/usr/local/Cellar/glew/2.1.0/include
glew_lib
/usr/local/Cellar/glew/2.1.0/lib
glfw_header
/usr/local/Cellar/glfw/3.3/include
glfw_lib
/usr/local/Cellar/glfw/3.3/lib

工程中頭文件與庫查找配置

將文章開頭使用python下載的gl3w.c以及頭文件引入工程文件中,并配置頭文件搜索目錄:

gl3w03.png

.c文件則直接引入工程中(這里也可以將.c編譯成動(dòng)態(tài)庫或者靜態(tài)庫散吵,我們這里不多作討論)龙考;

gl3w04.png

接下來配置glfwglew搜索蟆肆,Header search paths中添加:

$(glew_header)
$(glfw_header)

Library search paths中添加:

$(glew_lib)
$(glfw_lib)

配置測(cè)試

我們用gl3w官網(wǎng)用例來進(jìn)行測(cè)試,注意官網(wǎng)給出了glfwglut的版本晦款,由于在Mac系統(tǒng)下glut有對(duì)應(yīng)的庫GLUT/GLUT.h炎功,所以我們不再去下載源碼進(jìn)行編譯,且glut大部分庫為deprecated缓溅,我們這里使用glfw測(cè)試版本:

main.cpp中:

#include <stdio.h>
#include <stdlib.h>

#include <GL/gl3w.h>
#include <GLFW/glfw3.h>

static int width = 600, height = 600;

static float randf()
{
    return (float) rand() / ((float) RAND_MAX + 1);
}

static void display(GLFWwindow *window)
{
    glClearColor(randf(), randf(), randf(), 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glfwSwapBuffers(window);
}

static void reshape(GLFWwindow *window, int w, int h)
{
    width = w > 1 ? w : 1;
    height = h > 1 ? h : 1;
    glViewport(0, 0, width, height);
    glClearDepth(1.0);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    glEnable(GL_DEPTH_TEST);
}

int main(int argc, char **argv)
{
    GLFWwindow *window;

    glfwInit();

    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    window = glfwCreateWindow(width, height, "cookie", NULL, NULL);

    glfwSetFramebufferSizeCallback(window, reshape);
    glfwSetWindowRefreshCallback(window, display);

    glfwMakeContextCurrent(window);

    if (gl3wInit()) {
        fprintf(stderr, "failed to initialize OpenGL\n");
        return -1;
    }
    if (!gl3wIsSupported(3, 2)) {
        fprintf(stderr, "OpenGL 3.2 not supported\n");
        return -1;
    }
    printf("OpenGL %s, GLSL %s\n", glGetString(GL_VERSION),
           glGetString(GL_SHADING_LANGUAGE_VERSION));

    while (!glfwWindowShouldClose(window)) {
        display(window);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

效果如下:

cookies.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛇损,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坛怪,更是在濱河造成了極大的恐慌淤齐,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袜匿,死亡現(xiàn)場(chǎng)離奇詭異更啄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)居灯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門祭务,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人穆壕,你說我怎么就攤上這事待牵。” “怎么了喇勋?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵缨该,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我川背,道長(zhǎng)贰拿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任熄云,我火速辦了婚禮膨更,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缴允。我一直安慰自己荚守,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布练般。 她就那樣靜靜地躺著矗漾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪薄料。 梳的紋絲不亂的頭發(fā)上敞贡,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音摄职,去河邊找鬼誊役。 笑死获列,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛔垢。 我是一名探鬼主播击孩,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼啦桌!你這毒婦竟也來了溯壶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤甫男,失蹤者是張志新(化名)和其女友劉穎且改,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體板驳,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡又跛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了若治。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慨蓝。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖端幼,靈堂內(nèi)的尸體忽然破棺而出礼烈,到底是詐尸還是另有隱情,我是刑警寧澤婆跑,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布此熬,位于F島的核電站,受9級(jí)特大地震影響滑进,放射性物質(zhì)發(fā)生泄漏犀忱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一扶关、第九天 我趴在偏房一處隱蔽的房頂上張望阴汇。 院中可真熱鬧,春花似錦节槐、人聲如沸搀庶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽地来。三九已至,卻和暖如春熙掺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咕宿。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工币绩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜡秽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓缆镣,卻偏偏與公主長(zhǎng)得像芽突,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子董瞻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353