OpenGLサンプル1 – 環境セットアップ

OpenGL

プロジェクト、ライブラリのセットアップを行い、サンプルを動かすことを目指します。

プログラムはこちらで公開しています。
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…

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 ソース生成
  • 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 を追加

 

実行結果

コメント

タイトルとURLをコピーしました