<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>OpenGL on Axqora 博客</title>
    <link>https://blog.axqora.com/tags/opengl/</link>
    <description>Recent content in OpenGL on Axqora 博客</description>
    <image>
      <title>Axqora 博客</title>
      <url>https://blog.axqora.com/icon.png</url>
      <link>https://blog.axqora.com/icon.png</link>
    </image>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Wed, 04 Aug 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.axqora.com/tags/opengl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OpenGL &#43; Xcode 开发环境搭建</title>
      <link>https://blog.axqora.com/posts/opengl-env/</link>
      <pubDate>Wed, 04 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.axqora.com/posts/opengl-env/</guid>
      <description>&lt;h2 id=&#34;一opengl-相关库的下载与安装&#34;&gt;一、OpenGL 相关库的下载与安装&lt;/h2&gt;
&lt;h3 id=&#34;glfw&#34;&gt;GLFW&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;GLFW 是配合 OpenGL 使用的轻量级工具程序库，缩写自 Graphics Library Framework（图形库框架）。GLFW 的主要功能是创建并管理窗口和 OpenGL 上下文，同时还提供了处理手柄、键盘、鼠标输入的功能。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;就是用来创建窗口界面。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;// 使用 Homebrew 安装：
brew install glfw3

// 头文件路径
/usr/local/Cellar/glfw/3.3.4/include/GLFW
// 库路径
/usr/local/Cellar/glfw/3.3.4/lib
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;glew&#34;&gt;GLEW&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;OpenGL Extension Wrangler Library (GLEW), a cross-platform C/C++ library that helps in querying and loading OpenGL extensions.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;实现对底层OpenGL接口封装。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;// 使用 Homebrew 安装：
brew install glew

// 头文件路径
/usr/local/Cellar/glew/2.2.0_1/include/GL
// 库路径
/usr/local/Cellar/glew/2.2.0_1/lib
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;glad&#34;&gt;Glad&lt;/h3&gt;
&lt;p&gt;作用与 GLEW 类似。&lt;/p&gt;
&lt;p&gt;下载地址：&lt;a href=&#34;https://glad.dav1d.de/&#34;&gt;https://glad.dav1d.de/&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Language: C/C++
Specification: OpenGL
API: Version 3.3
Profile: Core
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;选中 &lt;em&gt;Generate a loader&lt;/em&gt; 并点击 &lt;em&gt;GENERATE&lt;/em&gt; 按钮，下载 &lt;em&gt;glad.zip&lt;/em&gt; 文件，解压后复制到 &lt;code&gt;/usr/local/Cellar/glad/&lt;/code&gt;。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="一opengl-相关库的下载与安装">一、OpenGL 相关库的下载与安装</h2>
<h3 id="glfw">GLFW</h3>
<blockquote>
<p>GLFW 是配合 OpenGL 使用的轻量级工具程序库，缩写自 Graphics Library Framework（图形库框架）。GLFW 的主要功能是创建并管理窗口和 OpenGL 上下文，同时还提供了处理手柄、键盘、鼠标输入的功能。</p>
</blockquote>
<p>就是用来创建窗口界面。</p>
<pre tabindex="0"><code>// 使用 Homebrew 安装：
brew install glfw3

// 头文件路径
/usr/local/Cellar/glfw/3.3.4/include/GLFW
// 库路径
/usr/local/Cellar/glfw/3.3.4/lib
</code></pre><h3 id="glew">GLEW</h3>
<blockquote>
<p>OpenGL Extension Wrangler Library (GLEW), a cross-platform C/C++ library that helps in querying and loading OpenGL extensions.</p>
</blockquote>
<p>实现对底层OpenGL接口封装。</p>
<pre tabindex="0"><code>// 使用 Homebrew 安装：
brew install glew

// 头文件路径
/usr/local/Cellar/glew/2.2.0_1/include/GL
// 库路径
/usr/local/Cellar/glew/2.2.0_1/lib
</code></pre><h3 id="glad">Glad</h3>
<p>作用与 GLEW 类似。</p>
<p>下载地址：<a href="https://glad.dav1d.de/">https://glad.dav1d.de/</a></p>
<pre tabindex="0"><code>Language: C/C++
Specification: OpenGL
API: Version 3.3
Profile: Core
</code></pre><p>选中 <em>Generate a loader</em> 并点击 <em>GENERATE</em> 按钮，下载 <em>glad.zip</em> 文件，解压后复制到 <code>/usr/local/Cellar/glad/</code>。</p>
<h3 id="opengl-mathematics">OpenGL Mathematics</h3>
<blockquote>
<p>OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.</p>
</blockquote>
<pre tabindex="0"><code>// 使用 Homebrew 安装：
brew install glm

// 头文件路径
/usr/local/Cellar/glm/0.9.9.8/include/glm
</code></pre><p><a href="https://glm.g-truc.net/0.9.8/index.html">https://glm.g-truc.net/0.9.8/index.html</a></p>
<h3 id="stb_imageh">stb_image.h</h3>
<blockquote>
<p>stb_image.h是Sean Barrett的一个非常流行的单头文件图像加载库，它能够加载大部分流行的文件格式，并且能够很简单得整合到你的工程之中。</p>
</blockquote>
<p><a href="https://github.com/nothings/stb">https://github.com/nothings/stb</a></p>
<h3 id="各个库的关系图">各个库的关系图</h3>
<p><img alt="704bf32a4e8b2de61b721ec1bb508c5c" loading="lazy" src="/image/OpenGL-Env/89C07D67-43DF-4B69-A46A-06B61D435FA0.png"></p>
<p>图片来源：<a href="https://www.cnblogs.com/chencarl/p/10722839.html">https://www.cnblogs.com/chencarl/p/10722839.html</a></p>
<h2 id="二xcode-配置">二、Xcode 配置</h2>
<h3 id="1header-search-paths">1、Header Search Paths</h3>
<p><img alt="4645a65ecc0206c32fc565258a049341" loading="lazy" src="/image/OpenGL-Env/5FF5F79C-4257-4CD3-8578-6C2B3ED6EDF6.png"></p>
<pre tabindex="0"><code>$(inherited)
/usr/local/include
/usr/local/Cellar/glfw/3.3.4/include/GLFW
/usr/local/Cellar/glew/2.2.0_1/include/GL
/usr/local/Cellar/glad/include
</code></pre><h3 id="2library-search-paths">2、Library Search Paths</h3>
<p><img alt="ba48dcea12f504d3ab6d4f50b5728ac7" loading="lazy" src="/image/OpenGL-Env/DF1DA3CD-5C2F-45DD-8065-5462A5D67D55.png"></p>
<pre tabindex="0"><code>/usr/local/Cellar/glew/2.2.0_1/lib
/usr/local/Cellar/glfw/3.3.4/lib
</code></pre><h3 id="3user-header-search-paths">3、User Header Search Paths</h3>
<pre tabindex="0"><code>/usr/local/include
</code></pre><h3 id="4link-binary-with-libraries">4、Link Binary With Libraries</h3>
<p><img alt="0b5aa3c9236723a08f304817e1ad46c2" loading="lazy" src="/image/OpenGL-Env/BF9C6796-B102-4838-A602-98F0A155103F.png"></p>
<h2 id="三编译错误处理">三、编译错误处理</h2>
<h3 id="1找不到符号">1、找不到符号</h3>
<p><img alt="f8d750d7eb51794d09869bbffcb4b3bb" loading="lazy" src="/image/OpenGL-Env/D3A3827B-3A67-435F-BA6C-3424B3946912.png"></p>
<p>需要选择 macOS。</p>
<p><img alt="5b69fc432760f5a8e7ab1885af0f2b93" loading="lazy" src="/image/OpenGL-Env/140A4781-948B-4949-8D29-30645E631BE6.png"></p>
<h3 id="2找不到镜像">2、找不到镜像</h3>
<p><img alt="32aadc53b09964257319065fa28c7993" loading="lazy" src="/image/OpenGL-Env/214687D7-05C9-4D8F-BD2E-EF19D1D7AF28.png"></p>
<p>选中 Disable Library Validation</p>
<p><img alt="c4ce12a19d46cbc3bc561c6a30c76224" loading="lazy" src="/image/OpenGL-Env/9071A691-6E15-4BCA-9BF3-42B632F87F64.png"></p>
<h3 id="3stb_imageh-找不到符号">3、stb_image.h 找不到符号</h3>
<p><img alt="e2b3b6cd310f0f6585a78df8eac5b3be" loading="lazy" src="/image/OpenGL-Env/FE872BA8-A31C-48AA-92AE-23BF0F64219D.png"></p>
<p>在代码最前面添加：</p>
<pre tabindex="0"><code>#define STB_IMAGE_IMPLEMENTATION
</code></pre><h2 id="四demo">四、Demo</h2>
<p><a href="https://github.com/oudushu/LearnOpenGL">https://github.com/oudushu/LearnOpenGL</a></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
