Blood & Water を試してみた
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=39624Water エフェクトは水面のゆらぎや反射がうまく表現されていて近距離でも遠距離でも見栄えがするBlood エフェクト(KEY1〜KEY5)は使いどころが限られるかもDirectX/HLSL 以外にも同じトピック内にOpenGL/GLSL にコンバートされたスクリプトも掲載されているけれど少し修正が必要でレンダリングがチープ…改造すればHLSL 版と同様なことが実現できそうなんだけどmedia/shaders/blood_ps.glsluniform float time; → float time;varying vec2 texCoord; → vec2 texCoord;media/shaders/water_ps.glslvarying vec2 texCoords; → vec2 texCoords;
BillardGL で遊んでみた
http://www.billardgl.de/3D のビリヤードゲームF1〜F8 キーで画面がかっこよくくるくる回転するUbuntu のタブレットPC デモ動画に載っていたのでリポジトリにあるのかと思いきや無く、ホームページのdeb パッケージのリンクも切れていて、alien もdeb パッケージを生成できなかったのでソースからビルドしてみたsrc/bmp.cpp の修正
#include <iostream>using namespace std;#include <fstream>
リンクするライブラリXxf86vm; GL; GLU; glut;リソースファイルのコピーsrc/Texturen → /usr/share/BillardGL/Texturensrc/lang → /usr/share/BillardGL/lang追記: Ubuntu でのパッケージ名はbillard-gl だった追記2: openSUSE にあるfoobilla ...
Caph で遊んでみた
http://linux.softpedia.com/get/GAMES-ENTERTAINMENT/Puzzle/Caph-53323.shtmlマウスで描いた軌跡で作った物体を使って解くパズルゲーム物理エンジンのリアルな動きがおもしろいーREADME のとおりにやってうまく動かなかったのでちょっと修正src/draw.c(299): png_get_IHDR() のheight が変な値を返すので変数h の値を修正(64bit OS 上でのpng_uint_32 型の処理にバグがあるのかな)
MonoDevelop を試してみた
Unity のv3 からMonoDevelop でのステップ実行/変数ウォッチができるようになると聞いてMonoDevelop を試してみた(v2.6 でも単純な連携はできるんだけどね)はやく無償版ユーザにもUnity v3/ベータが公開されないかなぁちょっと使ってみた感じ
Linux/Windows で使える
MONO だけに.NET アプリが作れるみたい(作らないけどね)
プロジェクトファイルがVC のソリューションファイル(.sln)っぽいのでWindows とLinux 共通なプロジェクトを作成するのに便利かもしれない(Code::Blocks でもできるけどやはりWindows はVC 使うだろうし)
実行ディレクトリの指定をどこでするのかわからなかったけれど、通常実行はロードモジュール格納ディレクトリ、デバッグ実行はホームディレクトリ!?っぽい
言語特有の細かい設定はできない代わりにいろいろな言語がプラグイン的に広くサポートできるようになっている
Subversion のプラグインも付いている
ちなみにWine 環境でのUnit ...
Puzzle Game で遊んでみた
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=36539いわゆる倉庫番の3D 版ほのぼのレベルエディタ機能もついてる!!PuzzleGame.exe -e mylevel.lev./PuzzleGame.linux -e mylevel.ev
ラジオシティを試してみた
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=39186CRadiosityGenerator クラスを使ってみた(とりあえず光反射は3回にしてみた)モデルと光源を工夫するともっといい画像が撮れそう内部でXEffects を使用しているshader model 2.0 対応のGPU 限定になるみたいファイル名”MainBuilding.irrmesh” がmain.cpp 内と異なっているので修正した
Terrain Pager を試してみた
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=29356広大なマップを格子状に区切って近隣部分のみ表示することによってメモリの節約と性能の向上を図るもののようFog と一緒に使うべきだけどわかりにくいのでFog を外してみたシームレスなマップの切り替えに使えそう
他にも同じような実装を見かけたような気がするけれど失念…
シェーダラッパをちょっと試してみた
Irrlicht で使えるシェーダラッパをRadeon でちょっとだけ試してみた
XEffectsirrCg
NormalVSMForwardDeferred
WindowsDirectXOKOKOKOK
OpenGLOKOKOKOK
LinuxOpenGL/fglrxOKOKOK?
OpenGL/OSSOKOK?
Linux + Radeon の組み合わせはやっぱりまだ鬼門なのかな…? はうまく描画されない
はIrrlicht 内で落ちるOSSは今後の実装/改善に期待かなhttp://www.x.org/wiki/RadeonFeature
irrCg を試してみた
nVidia のCg 言語のシェーダラッパirrCg を試してみたRadeon でも使えるhttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=23676http://code.google.com/p/irrcg/
Cg のライブラリをダウンロードnVidia(http://developer.nvidia.com/object/cg_download.html)2-a. irrCg 0.7.1 の場合IrrCgExtensionHandler.h に以下を追加
#include "GL/glx.h"
2-b. irrCg 0.8 from SVN の場合IrrCg.h 内の宣言とexample 内のmain.cpp 内で継承した関数の宣言が不一致なのでヘッダを元に修正、Pixel はFragment にする3. ケースセンシティブなところをとりあえず対処./cg/NormalMapping.cg をコピーして./cg/normalmapping.cg を作る
Irrlicht アプリをデスクトップ背景で動かしてみた
xwinwrap を使ってIrrlicht のアプリケーションをデスクトップの背景にしてみたcreateDeviceEx() でルートウィンドウのWindow ID を設定してあげるとよいみたいディスプレイドライバとの相性(?)があるのと、conky が見えなくなってしまうのが残念
xwinwrap を拾ってきてインストールする
コマンドパラメタからWindow ID を設定できるようにする
SIrrlichtCreationParameters params;params.DriverType = video::EDT_OPENGL;params.WindowSize = core::dimension2d<u32>(800, 600);params.Bits = 32;params.Fullscreen = false;params.Stencilbuffer = false;params.Vsync = false;params.AntiAlias = false;for(int i = 0; i < argc; i++) { if ...