OpenGLプログラムのサンプル(GLSL)
GLSLのサンプルプログラムです。下記プログラムを動かすには、VC++やGLUTライブラリ、GLEWライブラリが必要です。もちろん全部フリーです。インストール方法は、それぞれ「VC++ Expressの準備」、「GLUTインストール」、「GLEWで簡単にGL拡張」で紹介しています。ぜひダウンロードしてみてください。掲示板も開設したので、感想を書いてくれると嬉しいです。
シェーダのサンプルを作成している際、光源をワールド座標で設定していたつもりが視点座標で設定していることに気付き、カートゥーンのサンプルを一部修正しました。(2007/05/27)
キューブ環境マッピング
|
GLSLを使用したキューブ環境マッピングのプログラムです。バンプマッピングも使っています。これまでのサンプルはモデルの回転だけでしたが、視点も四元数で回転できるようにしました。キューブ環境テクスチャはTerragenで作成しており、その作り方も紹介しています。 | ![]() |
バンプマッピング
|
GLSLを使用したバンプマッピングのプログラムです。法線マップはGIMPを使用して作成しました。その方法も紹介しています。 | ![]() |
グーローとフォーンシェーディング
|
GLSLを使用して、グーローとフォーンシェーディングを切り替えて表示するプログラムです。スペキュラー計算はハーフベクトルではなく、反射ベクトルを使用して計算してみました。 | ![]() |
カートゥーン描画
|
GLSLを使用した、カートゥーン(セルアニメ調)描画のプログラムです。輪郭線も描画しています。 | ![]() |
GLSLを使用した簡単なプログラム
|
GLSLを使用した、簡単な描画プログラムです。シェーダプログラムを読み込み、コンパイルする方法を紹介するために作成しました。 |
![]() |
OpenGLプログラムのサンプル
ここは、GLSLを使用していないサンプルです。WindowsやLinux(Fedora7)でOpenGLプログラムを動かすための環境設定等のサンプルもあります。
これまでWindows版のサンプルだけでしたが、Linux版も一部追加しました。(2007/06/19)
シェーダのサンプルを作成している際、光源をワールド座標で設定していたつもりが視点座標で設定していることに気付き、光源を使用したサンプルを一部修正しました。(2007/05/27)
Linux(Fedora7)でのOpenGLプログラム
|
Fedora7でのOpenGLプログラムのサンプルです。NVIDIAドライバー、glut、glewのインストール方法を紹介しています。プログラム自体は以前紹介したプログラムの移植版です。 |
![]() |
四元数(クォータニオン)によるモデルの回転
|
四元数(クォータニオン)を使用して、マウス操作によりモデルを回転するプログラムです。クォータニオンを使っているので、いわゆるジンバルロック(北極や南極に相当する部分でモデルがクルリンと回ってしまう現象)を起こすことなく回転できます。 |
![]() |
OpenGLの座標系(画像は左下原点)
|
OpenGLは右手座標系を採用しており、テクスチャやウィンドウは左下原点で扱います。これまで、画像系だけは私自身が慣れた左上でしたが、OpenGLの座標系に統一することにしました。 |
![]() |
GLEWでOpenGL拡張を簡単に使う
|
GLEWライブラリを使用したプログラムです。頂点バッファを用いて、トーラス(ドーナツ)を描画しています。wglGetProcAddress関数によるポインタ取得を使わずに、glBufferData、wglSwapIntervalEXT などを呼び出すことができます。 |
![]() |
頂点バッファで高速化
頂点バッファ(バッファオブジェクト)を用いてトーラス(ドーナツ)を描画するプログラムです。頂点配列に比べ、約1.75倍高速化されています。 |
![]() |
トーラス描画と光源処理
頂点配列を用いたトーラス(ドーナツ)描画のプログラムです。平行光源も使用しています。 |
![]() |
テクスチャ描画
BMPファイルを読み込み、テクスチャとして三角形に張るプログラムです。 |
![]() |
文字列描画と時間測定
GLUTを使用可能なフォントを用いた文字列描画のサンプルです。フレーム速度(FPS)を表示しています。 |
![]() |
OpenGLのバージョン番号
glGetStringでOpenGLのバージョン番号を出力し、OpenGL2.0がインストールされていることを確認するプログラムです。 |
![]() |
シンプル三角形
|
GLUTを使用した簡単な三角形描画です。glBeginとglEndを使用せず、頂点配列で描画しています。 |
![]() |
最新の7件
OpenGL
電子工作
玄箱HG
- ClamAVのアップデート
- Smartyも入れてみる
- etchでPHP4->PHP5
- etchでのSamba設定
- etchでのメール設定
- 玄箱HGのetch化
- Webdruidでログ解析
- PEARも入れてみる
- 玄箱WEBのUTF-8化
- phpMyAdminでMySQL
- postmasterの変更
- ウィルスメール対策
- SPAMメール対策
- メールサーバ(IMAP)
- メールサーバ(Postfix)
- 猫にXOOPS
- PHPも入れてみる
- MySQLを入れてみる
- Subversion導入
- WebDav導入
- Apacheのrewrite機能
- Apacheディレクトリ設定
- Apache1.3->2.0
- ddclientの設定
- 静かな玄箱
- ユーザ追加














