ブックマーク / marina.sys.wakayama-u.ac.jp/~tokoi (3)

  • 床井研究室 - (1) GLFW で OpenGL を使う

    GLUT の現状 OpenGL は「プラットフォームに依存しないグラフィックス API」ですが, これと稼働するプラットフォームとのインタフェースの部分はやはりプラットフォームごとに異なっていて, そのあたりの実装はそれなりにめんどくさいものです. そのために, そこをうまくラップするツールキットがいくつも提案されています. 中でも GLUT は, OpenGL を作ったところの人が作った, 使いやすいツールキットです. また GLUT はマルチプラットフォームに対応しているため, これを使ったソースプログラムは Unix / Linux, Windows, Mac OS X の間で共通にすることができます. GLUT は OpenGL の初期に作られたものですが, OpenGL の学習や OpenGL を使った簡単なプログラムの作成を手軽に始めることができるため, 今でも有用なツールキッ

    床井研究室 - (1) GLFW で OpenGL を使う
  • 床井研究室 - 第18回 テクスチャオブジェクト

    独立したテクスチャが使いたい テクスチャが1枚しかなくても,テクスチャを分割して使うことで,異なる場所や物体に異なるテクスチャを貼り付けることができます.それでも,やはり独立したテクスチャが使えたほうが何かと便利です.たとえばキューブマッピングはテクスチャに使う画像の全体を使用しますから,その一部を切り分けて他に流用するようなことができません.この場合は独立したテクスチャが必要になります. OpenGL において独立した複数のテクスチャを取り扱う機能のことを,テクスチャオブジェクトと呼びます.複数のテクスチャメモリを動的に割り当てたり開放したりする機能のほか,テクスチャに優先度を与えて処理速度を最適化する機能も用意されています. 部屋の中にティーポットを置いてみる それでは,通常のテクスチャマッピングにキューブマッピングを組み合わせてみましょう.まず,前回作ったプログラムを雛形にして,箱の

    床井研究室 - 第18回 テクスチャオブジェクト
  • 床井研究室 - 第3回 シェーダプログラム

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

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