OpenGLを一昨日から勉強し始めました。(言語はC++です)
とりあえずいろいろ動かしてみようと思ったのですが、「○○が定義されていません」のエラーがたくさん出てきて困っています。
(ライブラリがいろいろありすぎです><)
そこで、OpenGLのライブラリを整理したいと思い質問させていただきました。
ざっと調べると下のようなライブラリを見つけました。
・どのように分類されているのか
・なにができるのか
・どのように使い分けるのか
などを教えてください。
(まとめられているサイトなどがあればURLだけでもありがたいです。)
OpenGL
GLUT
OpenGL ES
GLSL
HLSL
GLKit
OpenCV
GLFW
OpenAL
glpng
webGL
・・・まだまだあると思います。
名前が似てるので分類されている?
仲間1:OpenGL、OpenGL ES、OpenCV、OpenAL
仲間2:GLUT、GLSL、HLSL、GLFW みたいな?
=========================================================
追加で質問を失礼します。
「opengl インストール」で検索すると、OpenGLではなくGLUTのインストール設定方法が出てきます。
OpenGLとGLUTは同じものと考えていいのでしょうか?
また、<opengl.h>をインクルードして使うにはどうすればいいのでしょう。。。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
ご質問の内容を読むに、はじめたばかりという印象を受けました(はじめて1日とも書いてありますし・・・)。
さて、手っ取り早いところは、一冊OpenGLの基礎本を読んでしまうのが一番はやいでしょう。
いろいろ記載されていますが、そんなに一度に理解するひつようはありません。まずは、OpenGLの根本を理解するのがいちばんはやいかと。
ちなみに、いくつか出てきたキーワードを整理すると、
- OpenGL 基本の3D処理エンジンライブラリです。さまざまなOSで現在は利用できます。
- OpenGL ES 「Open GL」の組み込み用のサブセットライブラリです。できることはOpenGLとにていますが、組み込み用のため、関数の一部が使えないなどの制限があります(昔は・・・今はかわってるかも?)。
- GLUT OpenGLをもっと使いやすく?、便利に使えるように、OpenGLの関数を拡張したライブラリです。
- webGL OpenGL ESのAPIと同じような事を、Canvasで利用できるようにした、WEB用のライブラリです。
と、この通り、基本は、OpenGLをまずはきちんと、学習すれば、必然的に、他の役割などわかってくるかと思います。
とりあえずいろいろ動かしてみようと思ったのですが、「○ ○が定義されていません」のエラーが」・・・
との事、いろいろ実際に動かしたい気持ちはわかりますが、きちんと、そして効率よく学習したいならば、まずはポリゴンを1つ表示させる事など、簡単なOpenGLのサンプルなどを、書籍のチュートリアルなどを追って学習されるのが早いかと。
何せ、いろいろな聞き慣れないキーワードも多い、3D関連の世界ですのが、あきらめずにがんばってください。
ちなみに、私はあきらめて、そして絵心的な、デザインセンス的な、そんな所の不足もあり、途中で挫折した口です。。。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
まずどんな環境で実行するのか、OpenGLのバージョンは何を使うのかを決めたほうが良いと思います。
特にWindowsではそのままではOpenGL関連の定義がほぼ無いため、OpenGLの関数等を使用する事はできません。
今ならOpenGL ES2.0以降から入るのをお勧めします。
OpenGLとその亜種
OpenGL
バージョンによって使える機能が異なります。使用するバージョンに注意しましょうOpenGL ES
携帯電話や車載器などの組み込みシステム向けのOpenGLのサブセットです。
OpenGL ES 1.1と OpenGL ES 2.0以降では全く互換性はありません。
組み込みシステム向けといってもデスクトップPCでも実行できる環境は整っていて(ANGLEやGPUベンダーの出しているSDKなど) Webブラウザ(WebGL)などでも使用でき実行できる環境が一番多いです。WebGL
OpenGL ES 2.0をJavaScriptへほぼそのまま移植したものです。GLSL
OpenGL 2.0やOpenGL ES2.0以降で使用するGPU内で実行するプログラムを書くための言語です。
OpenGL ES2.0以降やWebGLを使う場合はGLSLの記述が必須になります。
補助ライブラリ
OpenGLはウインドウを表示したりOpenGLを使用するためのコンテキストを生成したり、入力イベントを処理したりする機能はないため、それらを簡単に扱うための補助的なライブラリがよく使われます。
GLUT
古くからあるクロスプラットフォームなウインドウ、コンテキスト生成や入力イベントの処理+αのライブラリです。OpenGL2.0以降では使えない機能があります。GLFW
クロスプラットフォームな割と新しめのウインドウ生成、コンテキスト生成、入力イベント処理ライブラリです。GLKit
iOSやOSXなどのApple環境専用のOpenGL補助フレームワークです。glpng
知りません。
無関係
- HLSL
DirectXを勉強したことがあるのであれば説明は不要ですね。 - OpenCV
Open な Computer Visionライブラリです。高度な画像解析などを行うためのライブラリです。 - OpenAL
Open な Audio Libraryです。APIはOpenGLに似せて作られていますが、OpenGLと直接関係ありません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
OpenCVやOpenALはOpenGLとは関係ないかなぁ、連携はできるけど。
まずOpenGLがあり、そのサブセットがあり、またC以外の言語から使うためのバインディングがあります。
それから、ラッパーが多数存在します。
まずその区別をつけましょう。
OpenGLのラッパーとしてはSFMLが有名かな。GLFWもラッパーだけどちょっとラッパーと呼ぶには低レイヤーというか・・・。あと、OpenGLを用いたGUIライブラリもあり、これはImgui
https://github.com/ocornut/imgui
が有名かな
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.38%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/04/14 23:21
また、OpenGLチュートリアルでおすすめの本があれば教えてください。
(DirectXは勉強したので、3Dの基礎は大丈夫なはずです)