プロジェクト、ライブラリのセットアップを行い、サンプルを動かすことを目指します。
プログラムはこちらで公開しています。
https://github.com/matsushima-terunao/opengl_sample
MacOS
xcode プロジェクト作成
- Create a new Xcode project
- macOS -> Application -> Command Line Tool -> Next
- Product Name: opengl_sample, Language: C++, あとは任意で -> Next
- 任意のフォルダ -> Create
- Project navigator -> 左上の opengl_sample フォルダー 右クリック -> New File…
- macOS -> C++ File -> Next
- Name: sample01.cpp, [ ] Also create a header file -> Next
- こちらのサンプルをコピペ
glfw インストール (macos homebrew でインストールする場合)
homebrew で glfw インストール
$ brew install glfw
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
autorestic gcc@10 imath lm-sensors nox openexr@2 pgxnclient scotch sysstat virtualenvwrapper
ddcctl gtksourceview5 ki lsix oksh openj9 qodem seqkit tssh xfig
==> Updated Formulae
Updated 751 formulae.
==> Deleted Formulae
aurora-cli
==> New Casks
crescendo depthmapx ilspy irpf2021 mixed-in-key pronterface sbarex-qlmarkdown siyuan tabtopus vitals
cryptonomic-galleon hancom-word invoker jellyfin-media-player mutesync recut shield specter usr-sse2-rdm
==> Updated Casks
Updated 609 casks.
==> Deleted Casks
adventure cliqz duckstation hubic meshcommander netbeans-java-ee nndd revisions swift-explorer transmit-disk wakeonlan
clipbuddy cuteclips family-tree-builder lingo netbeans-cpp netbeans-java-se printrun spideroak-share tracks-live vrep
==> Downloading https://ghcr.io/v2/homebrew/core/glfw/manifests/3.3.4
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/glfw/blobs/sha256:fb4c73abb6b230ffc2cacf187114584a1e589e67f399b78a56396911b2e1b483
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:fb4c73abb6b230ffc2cacf187114584a1e589e67f399b78a56396911b2e1b483?se=2021-05-10T04%3A50%3A00Z&sig=5141Scvs8zfctRRmIdyp4zfyxdOL9UbL3KKDGA4Pwm8%3D&sp=r&spr=https&sr=b&sv=2019-12-12
######################################################################## 100.0%
==> Pouring glfw--3.3.4.mojave.bottle.tar.gz
🍺 /usr/local/Cellar/glfw/3.3.4: 14 files, 495KB
glfw パス確認
$ brew info glfw
glfw: stable 3.3.4 (bottled), HEAD
Multi-platform library for OpenGL applications
https://www.glfw.org/
/usr/local/Cellar/glfw/3.3.4 (14 files, 495KB) *
Poured from bottle on 2021-05-10 at 13:42:10
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/glfw.rb
License: Zlib
==> Dependencies
Build: cmake ✘
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 5,218 (30 days), 15,326 (90 days), 40,064 (365 days)
install-on-request: 4,621 (30 days), 13,587 (90 days), 35,883 (365 days)
build-error: 0 (30 days)
xcode プロジェクトに glfw パス、ライブラリ追加
- 左上の opengl_sample をクリック
- Build Settings -> All -> Search Paths -> Header Search Paths -> /usr/local/Cellar/glfw/3.3.4/include, non-recursive
- Build Phases -> Link Binary With Libraries
- +マーク -> OpenGL.framework -> Add
- /usr/local/Cellar/glfw/3.3.4/lib/libglfw.dylib をドロップ
glfw インストール (glfw サイトからヘッダー、ライブラリをダウンロードする場合)
glfw バイナリーダウンロード
- https://www.glfw.org/download.html
- 64-bit macOS binaries をダウンロード
- glfw-3.3.4.bin.MACOS.zip を展開して include, lib-universal フォルダを opengl_sample/glfw 配下に移動
xcode プロジェクトに glfw パス、ライブラリ追加
- 左上の opengl_sample をクリック
- Build Settings -> All -> Search Paths -> Header Search Paths -> opengl_sample/glfw/include, non-recursive
- Build Phases -> Link Binary With Libraries
- +マーク -> OpenGL.framework -> Add
- opengl_sample/lib-universal/libglfw.3.dylib をドロップ
xcode プロジェクトに glad パス、ファイル追加
- glad ソース生成
- https://github.com/Dav1dde/glad
- Glad 2 webservice -> gl Version 4.6, Core -> GENERATE
- glad フォルダをプロジェクト配下にコピー
- インクルードパス追加: opengl_sample/glad/include, non-recursive
- glfw Source package をダウンロードし、dep/linmath.h を opengl_sample 配下にコピー
- ソースファイル追加: glad/src/glad.c
- ソースファイル修正: sample01.cpp
//#include <glad/gl.h>
#include <glad/glad.h>
//gladLoadGL(glfwGetProcAddress);
gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
//int main(void)
int sample01(void)
Windows
Visual Studio プロジェクト作成
新しいプロジェクトの作成
コンソールアプリ -> からのプロジェクト -> 次へ
プロジェクト名, ソリューション名: opengl_sample, 場所: C:\Users\matsu\source\repos\opengl_sample\vs -> 作成
glfw バイナリーダウンロード
https://www.glfw.org/download.html
Source package, 64-bit Windows binaries をダウンロードして展開
glfw-3.3.7.bin.WIN64 をプロジェクト配下に移動後、include, lib-vc2019 以外のフォルダを消す
glfw-3.3.7 内の deps/linmath.h をプロジェクト配下に移動
glad ソース生成
https://github.com/Dav1dde/glad
Glad 2 webservice -> gl Version 4.6, Core -> GENERATE
glad.zip をダウンロードして展開し、プロジェクト配下に移動
プロジェクト設定
プラットフォームを x64 に変更
glad\src\glad.c をソースファイルに追加
ソリューションエクスプローラー -> ソースファイル -> 追加 -> 新しい項目
c++ ファイル, ファイル名: sample01.cpp -> 追加
こちらのサンプルをコピペ
https://www.glfw.org/docs/latest/quick.html
今回 glad を生成したので、コードを一部修正します。
//#include <glad/gl.h>
#include <glad/glad.h>
//gladLoadGL(glfwGetProcAddress);
gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
インクルードディレクトリに glad\include, glfw-3.3.7.bin.WIN64\include を追加
ライブラリに glfw-3.3.7.bin.WIN64\lib-vc2019\glfw3_mt.lib を追加
コメント