OpenGL water (Win32 MFC)

since 2000/04/07
last modified 2017/01/24

はじめに

このプログラムは、M$派の取り込みのための作業の第二段として用意した 水面を疑似的に計算するプログラムです。

もともと、金子さんのWebpage "kaneko's software page"のBBSで話題になりました 水サンプルプログラム を基にOpenGLで実現しました。そのため、アルゴリズム部分はそのまま金子さんの プログラムから流用させて頂きました。

また、このプログラムに使われている水のテクスチャには、うえさんのWebpage "---Edge Design Works---各種素材とPCお役立ち情報!"から入手しました水の背景を 使用しています。

金子さん、うえさんお二人のご厚意により、このプログラムを完成させることが出来ました。 この場にて失礼ながら、お二人に心から感謝します。

2001.05.12...

あれから、つい最近takuniさんから「フラットシェーディングをグローシェーディングに したらどうですか?」との内容のアドバイスのメールを頂きました。しかも、 グローシェーディングを実現するのための詳細なソース付きで。

このようにWebpageを公開していると、このようなメールはたいへん有難いですね。 本当にわざわざありがとうございます。

2016.08.01...

あれから、もう十数年の月日が流れ、色々な事がありました。 金子さんのご冥福をお祈りいたします。
2017..01.24...

niftyホームページのサービス提供の終了に伴い、金子さんのホームページが移動しましたので、 このPage及びこのサイトのTopPageで対応しました。

サンプルプログラム
OpenGL water (MS-Windows95/98/NT用,lzh圧縮)
OpenGL water のソースコード (Win32MFC, lzh圧縮)
操作方法は、[スペース]キーで中央をへこませ、カーソルで回転します。 [PageUp]、[PageDown]キーにより、水面への距離を調整出来き、 また、[c]キーにより水面の動きをクリア出来ます。

このプログラムの水面への影の付け方は、「光源に対する法線べクトル」と「水面の位置情報を エッジ抽出して計算した色(明暗)情報」の二つを組み合わせて行なっています。

また、テクスチャ(ビットマップ画像)の取り込みには、Win32API 関数auxDIBImageLoad()を用いています。
[Top Pageに戻る]