OpenGL

OpenGLサンプル テクスチャ

OpenGLでテクスチャを表示する手順です。複数枚でブレンディングを有効にして表示してみます。 画像を読み込む 代表的な読み込み方は ・ライブラリを利用して直接読み込む( OpenCVのcvLoad, linpng, libjpgなど。または自作するなど) ・フレームワーク付属の…

QtでOpenGL描画

※環境はQt SDK 4.7.3, OpenGL 2.1 QtでOpenGLを利用するにはQGLWidgetクラスを利用します。このクラスはOpenGL絡みの抽象メソッドを3つ持っています。 ・initializeGL(初期化処理) ・resizeGL(フレームバッファサイズ変更時処理) ・paintGL(描画処理) 実際に…

QImageを利用してQGLWidgetに画像を描画する

QImageクラス QImageはpngやjpgなどいくつかのフォーマットの画像を読み込んでRawデータを保持することができるクラスです。 利用するときはqimage.hをインクルードすればよいです。 #include <qimage.h> 画像の読み込み loadメソッドを使います。 QImage img; bool re</qimage.h>…

Xcode4でglutを動かす手順

上記タイトルのメモ。まずXcodeを起動します。 プロジェクトの作成 "Create a new Xcode Project"→MacOSX→Application→"Command Line Tool"→"Next" Product Nameにプロジェクト名入力(例えば"glut_sample"), Type→"C++"→"Next" プロジェクトパスを指定して"c…

OpenGL覚え書き5 シェーディング

光源から照射された物体を描画するための処理をシェーディングと呼びます。実際のモデルでは、光源から直接物体に到達する光だけでなく、間接的に物体を照らす光や、物体表面で反射・透過した光などが存在します。 環境光(ambient light) 光源から周囲と相互…

OpenGL覚え書き4 隠面消去

隠面消去を行うには、バックフェースカリング、奥行きソート法、スキャンライン法、zバッファ法などいくつかの手法が知られています。 zバッファ法は、ウインドウの各画素について投影面から物体の距離(デプス)の値が保存されたバッファを作成して、距離が大…

OpenGL覚え書き3 座標系

CGにおける座標系 CGで使われる座標系には次のようなものがあります。 モデリング座標系 各頂点の座標系 ワールド座標系 物体が配置されている座標系 視点座標系 カメラからみた座標系 デバイス座標系 長さ2×2で中心を原点とした正方形型の座標系 ウインドウ…

OpenGL覚え書き1 ウインドウ

OpenGLの使い方についてまとめてみたいと思います。サンプルコードはPyOpenGLで作成しています。 OpenGL プラットフォーム非依存のグラフィクス用インターフェース。関数の接頭辞はgl GLU OpenGLのいくつかの関数を利用して有用な機能としてまとめたライブラ…

OpenGL覚え書き2 描画

デフォルトの状態では原点がウインドウの中心で、幅高さが1.0の座標系で設定されています。 描画色の設定 glColor**関数で色を設定します。 例えばglColor3fはfloat型の値RGB値を引数にする関数、glColor4dはdouble型のRGBA値を引数にします。 RGBの値は0.0…

PyOpenGL3.0について

PyOpenGLはOpenGLをPythonで扱うためのライブラリです。 PyOpenGL3.0のインストール PyOpenGL3.0の公式サイトhttp://pyopengl.sourceforge.net/documentation/installation.html Downloads>PyOpenGLからダウンロード。PyOpenGL-3.0.1.win32.exeを起動すると…