タグ

OpenGLに関するyou21979のブックマーク (10)

  • 独学で 1 ヶ月間 OpenGL を学んで得た基礎知識のまとめ ~ 2D 編 ~ · けんごのお屋敷

    OpenGL。その単語の響きだけで素晴らしく魅力的に思える 3D コンピューターグラフィックスライブラリは、これまで何人もの駆け出しゲームプログラマーに幾度と無く挫折を味わわせてきた。「ゲーム作るならやっぱり高速に描画できる OpenGL でしょ。でも自分が作るゲームに 3D はいらないし、しかも難しそうだし、別に 2D 描画だけできればいいや」 と、軽い気持ちで手を出したのが運の尽き、世の中そんなに甘くはなかった。OpenGL というその難攻不落城は私達の進む道を阻むように高々とそびえ立っている。 OpenGL がコレほどまでに取っ付きにくいのは 気軽に Hello World できない からなんじゃないかと思う。OpenGL の場合だとそれは何かしら 1 つの図形を表示することにあたるのかな。でもたったそれだけなのに、覚えることが山ほどありすぎて全然題にたどり着くことができないし、O

  • Home — VisPy

    Spiral galaxy simulation Simulation of a spiral galaxy using the density wave theory. Check it out

  • wgld.org | WebGL: 3D 描画の基礎知識 |

    二次元と三次元 三次元空間――それは、我々の生きているこの現実世界に他なりません。 三次元の世界では、全てのものに縦と横、そして奥行きが存在します。そしてそれを再現しようとするのが、リアルタイム 3D レンダリングですね。しかし、三次元空間を再現しようとするとき、それを出力する先は普通、二次元のモニター上です。 パソコンや、モバイル機器などのあらゆるデバイスは、二次元のモニター上に情報を出力します。少なくとも現代ではいまのところ、奥行きのある空間を物理的に実現するデバイスはありませんね。まぁ、研究所の分厚い扉の向こう側にはあるのかもしれませんが、一般家庭には普通そんなものはありません。 WebGL を使って擬似的に三次元空間をシミュレートしたとしても、最終的にはそれをモニターという二次元空間に出力しなくてはなりません。奥行きによる前後関係や、遠近法による伸縮拡大を加味して、どこになにがどん

  • 視点の回転(クォータニオン) - OpenGLプログラミングメモ

    視点を回転させます。 回転方法にはいろいろとあります。 ロールピッチヨー、オイラー角、クォータニオンなどです。 ロールピッチヨーはZ軸、Y軸、X軸を順番に回転させて目的の角度にする方法です。 飛行機の姿勢を表す時によく使われます。最も解り易く素直な方法です。 オイラー角はZ軸、X軸(またはY軸)、Z軸と回転させて目的の角度にする方法です。 3つの軸を使わなくても2つの軸があれば目的の角度にたどり着きます。 しかし、ロールピッチヨーとオイラー角には欠点があります。ジンバルロックと呼ばれるものです。 たとえば、X軸を90度傾けると、Y軸とZ軸が同軸となってしまい、その姿勢を保存して また新たに回転をしようとしたときに問題がおきます。 X軸とY軸をそれぞれ90度傾けると全ての軸が同軸となり一つの方向にしか回せなくなります。 それを解消する方法がクォータニオンです。 クォータニオンは軸を任意に作成

    視点の回転(クォータニオン) - OpenGLプログラミングメモ
  • なぜOpenGLを使うのか? - OpenGLプログラミングメモ

    OpenGLが右手座標系、DirectXが左手座標系を採用しているのは大きな明暗。 数学やほとんどの3Dアプリでは右手座標系を使用しています。 ODEやOpenALなども、そうです。つまり右手座標系が業界標準だったのです。 最近ではDirectXも左手座標系と右手座標系を選べるようになったのですが、 統一されていないのは混乱を招く種です。 また、OpenGLはプレイステーション1,2,3、iphoneアプリなどのSDKとして 採用されています。 言うまでもなく、豊富な各種ライブラリと過去の遺産を無駄にする事なく プログラミングするためです。 実行速度という点では、アセンブラに劣るでしょうが、VisualC++の場合、 MASMがインラインアセンブラで使えます。 GUIに関してはC#、VisualBasic、JAVA + Swingに、分があるように感じるかも しれませんが、.NET Fra

    なぜOpenGLを使うのか? - OpenGLプログラミングメモ
  • go:ngine -- a native OpenGL 3D engine for Go(lang)

    golang 3d engineHi there! Welcome to go:ngine, a new in-development, open-source 3D engine: development has just begun in late 2012, I'm hoping to have the go:ngine usable enough for basic indie use-cases by summer 2013written natively in Go (for Windows, Linux, Mac OS) as a go-get'able source package utilizing OpenGL 4.2 (4.3 as soon as GoGL gets updated), but fully functional from OpenGL 3.3 onw

  • GLUTによる「手抜き」OpenGL入門

    資料: 今までにあった質問 リフレッシュレートの変更 AUX 版, Indy 版, 書籍版 床井研究室 (OpenGL 関連記事) 柴山 健伸 先生 (システム工学部情報通信システム学科) の混沌としたサンプル 陳 謙 先生 (システム工学部デザイン情報学科) の Motif を使ったサンプル 中山 礼児 氏 (経済学部 2000 年卒) の Delphi についての解説 The OpenGL WEB Site (OpenGL の総山) GLUT - The OpenGL Utility Toolkit (OpenGL.org の GLUT のページ) OpenGL Code & Tutorial Listings (OpenGL.org のチュートリアル集) OpenGL Technical FAQ (OpenGL について良く聞かれる質問) OpenGL FAQ 日語 (OpenG

  • Low-Level GPU Documentation | RenderingPipeline

    While programming graphics applications means programming against an API that abstracts us from the actual hardware (OpenGL, Direct3D), it can still be interesting to dig a bit deeper. Having a good understanding of the hardware (and its limitations!) can help you optimizing your code but also understanding limits of the API. Or maybe you’re just curious what happens below your API calls. This is

  • 床井研究室 - 第3回 シェーダプログラム

    固定機能の廃止 レンダリングパイプラインにおいて固定機能ハードウェアで実装されていた機能が廃止された場合, それらをシェーダで実装しなければ図形を描くことができません. このため, OpenGL を使ってプログラムを書く際には, CG の基礎的な理論に関する知識が必須になりました. CG の授業をしていて, 内心で「でもこれはハードウェアに組み込まれてるんだよな」とか思ったりしてましたけど, 無駄ではなかったんだと胸をなでおろしていたりします. シェーダプログラムとラスタライザ アプリケーションプログラムは, 描画する基図形を指定した後, 頂点情報を GPU に送ります. 頂点情報はバーテックスシェーダの attribute 変数に格納され, これを用いて座標変換や陰影計算などを行います. 頂点の座標値はクリッピング座標系に変換して, バーテックスシェーダの出力変数 gl_Positio

    床井研究室 - 第3回 シェーダプログラム
  • OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート

    OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート ライター:西川善司 Neil Trevett氏(President, Khronos Group)。氏はNVIDIAのMobile Content部門副社長でもある OpenGLやOpenCLなど,さまざまなオープンAPI規格を司るKhronos Group(クロノスグループ,以下 Khronos)は,2012年8月のSIGGRAPH 2012に合わせて,2つの大きな発表を行っている。 1つは,PCおよびワークステーション向けのグラフィックスAPIである「OpenGL」の新バージョン「OpenGL 4.3」だ。そしてもう1つは,組み込み向けのグラフィックスAPIである「OpenGL ES」の新バージョン「OpenGL ES 3.0」である。 筆者は,SIGGRAP

    OpenGLはDirectX 11を超え,OpenGL ESは据え置き型ゲーム機と同等以上に。Khronosの最新動向レポート
  • 1