トップページgamedev
989コメント399KB

【3Dエンジン】Irrlicht初心者質問スレ【高速描画】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/10/05(木) 06:50:19ID:UN/zUzoQ
zlibライセンスでクロスプラットホームなゲームライブラリ、Irrlichtのスレです。

※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近Irrlichtを始めたばかり
3.SDKを見ても、Googleで検索しても、エキサイト翻訳でもいまいち理解できない人

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「英語読め」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する人 】
・ どんな事で躓いているのか明確にする。
・ 長くならないなら躓いている部分のコードを晒してみてください。
・ 解決した場合、お礼を言うのは当然ですが、何をどうしたら解決したかを明確に書くこと。

前スレ
http://pc8.2ch.net/test/read.cgi/tech/1104179696/
0633名前は開発中のものです。2008/08/04(月) 20:29:21ID:zIBesbiU
あげときます
0634名前は開発中のものです。2008/08/05(火) 19:45:45ID:0B8D+Y1A
>>632

Printf(IVideoDriver *driver, int x, int y, int sx, int sy, SColor color, const char *fmt, ...)

にでも改造して、

DrawImage(driver,tex,x+posx,y+posy, w,h,tx,ty,color,color,sx,sx);

呼び出しは、

Printf(driver,0,120,1,2,0xFFFFFF00,"こんにちは");
0635名前は開発中のものです。2008/08/05(火) 19:59:40ID:0B8D+Y1A
>>634
追伸。
そのままだと、sxとsyに1以外を入れると隣の文字同士が重なったりするから、Printf内で posx と posy をプラスしているところを弄らないといけない。
それから、sx と sy は float形(f32)の方がいいかな。とすると、posx と posy も f32 に直すか。
0636lesson.ifdef.jp2008/08/05(火) 21:22:20ID:Qt6IOczc
拡大に関しては634さんのようなやり方で大丈夫です

■太字・影つきに関してのヒント
改造をしなくとも X,Y.COLORを指定できるので
座標をちょっとずらして表示してみましょう
色が同じだと…
先に描画した文字が黒なら…

これができたら関数の中身をいじって表示する感じです
0637名前は開発中のものです。2008/08/05(火) 22:10:03ID:0B8D+Y1A
>>636
そうだな、まずは大規模に改造するよりか、
関数内の変数とか数値弄ってみるのがわかりやすいな。
教え馴れしてなくてスマソ。

以下チラ裏
ところで、時々SVN更新してみてるんだが、最近は処理速度が1.4.1の
倍くらいになってる気がする。1.5が楽しみだ。
0638名前は開発中のものです。2008/08/06(水) 20:08:59ID:mu9KVvJv
>>632
通常のスプライト処理と同様に処理すればいいわけですね。下線の場合も自分で線を引けばいい
ご協力ありがとうございました
0639名前は開発中のものです。2008/08/07(木) 01:13:21ID:U7n2nokl
おすすめの3Dモデルフォーマットなにか無い?
作成ソフトに金使う気はないのでフリーので作れるようなものおながいします
0640名前は開発中のものです。2008/08/07(木) 07:07:48ID:sPTbyZsz
X
0641名前は開発中のものです。2008/08/07(木) 08:15:38ID:jIGgrvQE
遊星からの
0642名前は開発中のものです。2008/08/07(木) 09:04:49ID:WY0EU+xF
>>641
おじさんは仕事に行かなくていいの?
0643名前は開発中のものです。2008/08/07(木) 17:18:08ID:U7n2nokl
サンクスコ
とりあえずx出せるらしいメタセコとかミコト使ってみます
0644名前は開発中のものです。2008/08/07(木) 18:30:41ID:R551o2aE
>>639
Xファイルがいいんじゃない?

MikotoはXファイルに書き出しするのに手間かかったような…。
別なツール通さないといけないとか。

サイバデリアとかRokDeBone2はどうなんだろ。

そのあたりは別スレに行った方がいいな。
0645名前は開発中のものです。2008/08/08(金) 01:11:56ID:Qfhnq7Ob
>>642
おじさんは、ホームレスプログラマーなんだ
0646名前は開発中のものです。2008/08/08(金) 16:59:28ID:AnSVcYEn
Irrichtでユーザー独自の3Dフォーマットに対応させるにはどうすればいいですか?
0647名前は開発中のものです。2008/08/08(金) 17:10:36ID:EmX2O7hN
どんなフォーマットも統一的に読み込んでそのままぱっと使えるってのが
いいところだから、そこ対応させるくらいならほとんどもう使う意味無いと思う。
つうかそこ意外には特に便利なところはないw
0648名前は開発中のものです。2008/08/08(金) 19:34:06ID:AnSVcYEn
つまりirrlichtのコードでもいじらない限り出来ないってこと?
0649名前は開発中のものです。2008/08/08(金) 20:34:47ID:uE3WeKho
>>648
本体のソースを参考にしてローダーを作ればおk
詳しく読んだことないから、これ以上は知らない
0650名前は開発中のものです。2008/08/08(金) 20:57:39ID:EmX2O7hN
>>648
あたりまえじゃん。
魔法じゃないんだから対応してる形式以外読めるわけねぇ。
自分でファイル解析してirrが扱う形に渡してあげるくらいなら
irrなんか使わない方がいい。
むしろ足かせの方が多い。
0651名前は開発中のものです。2008/08/09(土) 13:53:02ID:BXFNkJCj
>>648
言いたいのは「ライブラリに手を入れる必要があるのか?」
って言いたいんだとエスパーすると、
ライブラリに手を入れる必要はないよ。
独自モデルローダーをフックできる切り口は用意されてる。
0652名前は開発中のものです。2008/08/09(土) 14:15:01ID:jG2LYjRz
>>651
ありがとうございます
0653名前は開発中のものです。2008/08/10(日) 11:53:31ID:tgjQQtRr
1.5実装機能抜粋

- Support for LWO files.
- Support for Collada 1.4 files.
- Added volume light scene node
- added Initial Windows Mobile 6 Version
- New device creation parameter to disable Irrlicht's system event handling.
0654名前は開発中のものです。2008/08/11(月) 01:25:49ID:MsZNHFvl
チュートリアルをためしてる時に、マウスの挙動を取られてプログラムから抜け出せなくならない?
マウスのポインタが動かせないから終了マークをクリックできない・・・
0655名前は開発中のものです。2008/08/11(月) 02:04:18ID:hNWdlkPK
Alt+F4
0656名前は開発中のものです。2008/08/11(月) 21:30:57ID:MsZNHFvl
>>655
できました ありがとうございます
0657名前は開発中のものです。2008/08/12(火) 03:58:41ID:87eJ2Jsk
次はマウスを取られないよう改造するんだ
0658名前は開発中のものです。2008/08/13(水) 01:42:42ID:QXaISmP9
もうIrrlichtでいいような気がした
市販ゲーでもエンジン使ってるんだし。ねえ。
0659名前は開発中のものです。2008/08/16(土) 14:05:40ID:MAdEwJ55
公式フォーラムの書き込みや検索できないのってうちだけ?
0660名前は開発中のものです。2008/08/16(土) 15:27:35ID:qTYdLGNG
書き込みにはフォーラムのアカウントがいるよ
検索できないってのがあるならIPが弾かれてるのかな?
0661名前は開発中のものです。2008/08/16(土) 15:50:52ID:MAdEwJ55
なんかPHPのエラーがでてるんだけど。

Could not obtain matched posts list

DEBUG MODE

SQL Error : 1016 Can't open file: 'phpbb_search_wordlist.MYI' (errno: 145)

SELECT m.post_id FROM phpbb_search_wordlist w, phpbb_search_wordmatch m WHERE w.word_text LIKE 'test' AND m.word_id = w.word_id AND w.word_common <> 1

Line : 340
File : search.php
0662名前は開発中のものです。2008/08/16(土) 16:26:43ID:qTYdLGNG
うわ、これはフォーラムに使ってるSQL鯖かファイルが死んでる
と思ってフォーラムのオープンディスカッションを開いてみたらトップにアナウンスあったよ
ホスト先のメンテで18日前後は障害出るらしい

SF maintenance, problems ahead around August 18th
ttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=29682

既に始まってるようだから、必要なものは今のうちにDLしておいたほうがいいかもね
0663名前は開発中のものです。2008/08/16(土) 20:26:28ID:MAdEwJ55
>>662
ほんとだ。ありがとう。
0664名前は開発中のものです。2008/08/16(土) 20:44:13ID:MAdEwJ55
ところで公式で聞けないので質問です。
シェーダーをちょっとはじめてみたんですがirr公式のチュートのshaderのサンプルを見つつ
手元の参考書に載ってる簡単なシェーダを試してみたいんですが、想定している色がつかないです。
そもそもDXの本だからirrとの絡ませ方がよく分かりません。

シェーダーのソース:
float4x4 g_wvp;
float4 g_color;

void BasicVS( float3 in_pos : POSITION,
out float4 out_pos : POSITION,
out float4 out_color : COLOR0)
{
out_pos = mul(float4(in_pos, 1.0f), g_wvp); //座標変換
out_color = g_color; //頂点の色決定
}

void BasicPS( float4 in_color : COLOR0,
out float4 out_color : COLOR0)
{
out_color = in_color; //入力された色情報をそのまま
}

tachnique BasicTeck
{
pass P0
{
vetexShader = compile vs_3_0 BasicVS();
pixelsShader = compile vs_3_0 BasicPS();
}
}
0665名前は開発中のものです。2008/08/16(土) 20:50:02ID:MAdEwJ55
続き。irrの場合は定数をコールバックで渡すらしい・・・?

class MyShaderCallBack : public video::IShaderConstantSetCallBack
{
public:
virtual void OnSetConstants(video::IMaterialRendererServices* services, s32 userData)
{
IVideoDriver* driver = services->getVideoDriver();

matrix4 worldMat,viewMat,projMat;
viewMat = driver->getTransform(video::ETS_VIEW);
projMat = driver->getTransform(video::ETS_PROJECTION);
worldMat = viewMat * projMat;
services->setVertexShaderConstant("g_wvp",&worldMat[0],16);

video::SColorf col(0.0f,1.0f,0.0f,0.0f);
services->setVertexShaderConstant("g_color",reinterpret_cast<f32*>(&col),4);
}
};
0666名前は開発中のものです。2008/08/16(土) 20:51:00ID:MAdEwJ55
続き。メイン部分。

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
/*カメラとかライトとかのセッティング略*/

//Shaderの準備
IGPUProgrammingServices* gpu = Driver->getGPUProgrammingServices();

s32 newMaterialType1 = 0;

MyShaderCallBack* mc = new MyShaderCallBack();

newMaterialType1 = gpu->addHighLevelShaderMaterialFromFiles(
"basicShader.fx","BasicVS", video::EVST_VS_3_0,
"basicShader.fx", "BasicPS", video::EPST_PS_3_0,
mc, video::EMT_SOLID);

mc->drop();

ISceneNode* boxNode = Scene->addCubeSceneNode(1);
boxNode->setMaterialType((video::E_MATERIAL_TYPE)newMaterialType1);

while(Device->run())
{
Driver->beginScene(true, true, SColor(0,100,100,160));
Scene->drawAll();
Driver->endScene();
}
Device->drop();
return 0;
}
0667名前は開発中のものです。2008/08/16(土) 21:10:10ID:MAdEwJ55
以上です。

赤い箱が描かれることを想定しているのですが・・・真っ白です。

1・まず、グローバル変数をセットする部分が謎なのですが、
DXの場合は
まずGetParameterByNameでグローバル変数のハンドルを取得してから、
SetMatrixやSetVectorなどの関数でそれぞれの変数に値をセットしてるみたいです。
一方、irrでは
setVertexShaderConstantとsetPixelShaderConstantってのしかなくて
グローバル変数に渡すのはどっちを使っていいのかわからないです。

2・それから、DXの場合は描画する際に↓のように待ち受け形式っぽくなっているのですが、

//////////////////////////////////////////
// テクニックの実行
m_pFX->Begin(0, 0);
m_pFX->BeginPass(0);

// 三角形の描画処理
pD3DDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1);

m_pFX->EndPass();
m_pFX->End();
//////////////////////////////////////////

irrのチュートでは箱のノードのマテリアルタイプにセットしているようです。
これだと↑のように単純にトライアングルリストとかで三角ポリを描画したいだけのときなどに困ると思うし、
いちいち全部のノードにマテリアルタイプを登録したりするのが手間がかかりそうなんですが、
↑のように、エフェクトをセットした間に流れてきたポリゴンは全てシェーダーが処理するというような
形にはできないんでしょうか。
06686642008/08/16(土) 22:24:30ID:MAdEwJ55
デバッグしたらシェーダーのタイプミスが二、三個ありました・・・orz
おそらく全て潰せたと思うけど、
そしたらモデルが描画されなくなってしまいました。
なぜーーー!!!!

そういえばirrのチュートのシェーダにはテクニックが書いてないし
本体にもなんも登録して無いっぽい。バージョンが古いのかな・・・
06696642008/08/19(火) 09:50:02ID:2uhaScJb
一応、解決したというか、表示はされました。

シェーダーに渡す行列をかける順番が逆だったみたいです。

ただ、なんで逆なんですかね????
普通、World * View * Projectionの順番じゃないですか?

公式チュートのサンプルがなぜか逆順になってるので
そうしてみたら表示されたってだけなんですが・・・

それにしてもここは既に人がいないのだろうか・・・
0670名前は開発中のものです。2008/08/19(火) 09:59:42ID:ok2gduFt
>>669
>普通、World * View * Projectionの順番じゃないですか?
>それにしてもここは既に人がいないのだろうか・・・

自分の尺度だけで物事を判断・決定してる事が、そもそもの間違いじゃないのか?
0671名前は開発中のものです。2008/08/19(火) 10:05:27ID:2uhaScJb
>>670
誰の尺度っていうより、数学的な問題だと思うのですが。
行列はかける順番変えたら意味が変わるって習ったような記憶があります。

なぜ逆順でかけた奴を渡すのか意味が分からないのですが
教えてもらえないでしょうか?
06726702008/08/19(火) 10:14:52ID:ok2gduFt
>>671
>教えてもらえないでしょうか?
公式フォーラム行って聞いて来いよ。

それで
>ここは既に人がいないのだろうか・・・
ちゃんと結果を報告してくれよ。
一応ここで質問したんだからな。
0673名前は開発中のものです。2008/08/19(火) 10:25:32ID:2uhaScJb
教えてくれようとしたけど解決しなかった、とか言うなら
こっちも公式で聞いて報告しにこようと思うけど。

知りもせんで意味不明な煽りだけくれときながら
公式で聞いて結果は報告しろてw

なんか酷すぎじゃないかそれはw
06746702008/08/19(火) 10:42:34ID:ok2gduFt
>>673
>知りもせんで意味不明な煽りだけくれときながら
俺は煽ったつもりも無い。お前は>>670見て煽られたと思うのか?

>公式で聞いて結果は報告しろてw
質問スレで質問した以上、質問者としての当然の義務じゃねーの?

>こっちも公式で聞いて報告しにこようと思うけど。
じゃあ、まず行ってこいよ
数スレ消費してグダグダ質問すんな。

>それにしてもここは既に人がいないのだろうか・・・
たった3日、回答レスがなかったからって決め付けんな。
お前の都合で回答がもらえると思うなよ。

付き合いきれん
0675名前は開発中のものです。2008/08/19(火) 10:50:55ID:2uhaScJb
>数スレ消費してグダグダ質問すんな。

テメェが意味不明なレスよこすからだろ糞キチガイが。
分かりもしねー事に口挟んで来るんじゃねーよ。
さっさとしに詩にやがれゴミクズ。
「付き合いきれん」じゃねーよwwwwwww
むしろテメェなんか必要としてねぇからさっさと消えろ。
二度と書き込むなカス。
06766702008/08/19(火) 10:55:18ID:ok2gduFt
>>675
自虐か?自分を大切にしろよ

0677名前は開発中のものです。2008/08/19(火) 10:55:27ID:2uhaScJb
しかしひでぇきちがいに絡まれたもんだ。
あまりに理不尽で意味不明すぎるだろ。
つい言葉を荒げてしまったが、すまない、分かってくれみんな・・・
06786702008/08/19(火) 11:08:29ID:ok2gduFt
>>677
無理だろ。
自分に欲しいレス(情報)以外はキチガイ扱いにする奴に
誰が真面目に相手すると思う?
質問したいなら、最後まで誠実に対応しろよ。


それに
>それにしてもここは既に人がいないのだろうか・・・
お前にとってここは人居ないんだろ?

0679名前は開発中のものです。2008/08/19(火) 11:13:00ID:2uhaScJb
本物の凄さを感じる。こういうのは演出できない。
0680名前は開発中のものです。2008/08/19(火) 11:19:36ID:ZcW4RWzs
もういいから他所でやれ
0681名前は開発中のものです。2008/08/19(火) 11:24:47ID:ok2gduFt
>>679
マジでいい加減にしてくれ。回答は得たんだろ?
さっさとロジックを組んだらどうだ?
0682名前は開発中のものです。2008/08/19(火) 13:35:03ID:9lZatLCb
俺は回答できないからずっとROMってたけど、ID:2uhaScJbのほうがうざいよ
ここはID:2uhaScJbの日記じゃないんだから、質問したらレス来るまで気長に待てばいいじゃん
それに、意味のない経過報告するなら、結果だけ書いて後人のため情報を提供してけ

自分の気に入らないこと言われたからって暴言吐くような沸点低いセッカチ君は暫く反省してろ

でだ、次のリリースは1.5になるようだね
0683名前は開発中のものです。2008/08/19(火) 13:40:56ID:2uhaScJb
とりあえず死ね。
0684名前は開発中のものです。2008/08/19(火) 14:22:30ID:a9MeRwkX
香ばしいの〜w
ID:2uhaScJbよ、とりあえず面白いから応援しとくわw
頑張れよ〜 プップギャーッ!!m9゚。(^Д^゚≡。゚^Д^)m9゚。プップギャ-ッ!!
0685名前は開発中のものです。2008/08/19(火) 18:20:57ID:j2fwg+dJ
2chで資料性を求めるのもナンセンスという意見もあるだろうが、
技術系のスレではfaqをひとつひとつ作る姿勢で書き込みに取り組んだほうがいい
0686名前は開発中のものです。2008/08/19(火) 18:56:35ID:cmsJU7X5
公式云々言い出した時点で敗北宣言を出したようなものなんだから
そこで無視しときゃ良かったのに、言葉尻に捉われて煽り返した時点で2uhaの負けだよ。まさしくウハwww
0687名前は開発中のものです。2008/08/20(水) 20:53:53ID:s+dCVDak
伸びてると思ったらなんだこりゃ。

まぁ、
>普通、World * View * Projectionの順番じゃないですか?
2uhaの普通とやらは計り知れないが、
順番なんかベクトルをどちらから乗算するのかで逆転するよねっと


しかしIrrlichtで実際にゲーム作ってる人って日本でどのくらいいるんだろうか。
少なくてもここに一人いるが、数えるくらいしかいない予感。
さらに組み込み言語を使ってる人となると、俺くらいな気がする。
0688名前は開発中のものです。2008/08/20(水) 21:08:10ID:lAuN/aAq
IrrとLuaを使っていますが、何か?
0689名前は開発中のものです。2008/08/20(水) 22:16:36ID:yAT85IiM
http://irrlua.sourceforge.net/
0690名前は開発中のものです。2008/08/21(木) 01:09:31ID:H2ZBZkpr
イルルァ
0691名前は開発中のものです。2008/08/21(木) 07:49:17ID:OImrkgKk
>>688
おお、同士よ。といっても俺はSquirrelだが。Luaは文法がダメだった。

組み込み言語を使うときはどこまで組み込み言語で作るかは問題だよなぁ。
俺はIrrlichtのAPIをエクスポートしてるから、かなりの部分をSquirrelで組んでる。
完全に主従逆転。

ホットスポットとなる部分をネイティブコードにすることで、速度の低下は抑えられる
ことは色んなLLで実証済みだから、これはこれで手段の一つだとは思うんだが。

俺はC++好きなんだけど、C++の開発効率の悪さは認めざるを得ないから、
動的言語で組めるならそっちのほうがいいな。
0692名前は開発中のものです。2008/09/02(火) 03:05:41ID:f4LEL+F1
irrlichtでシャドウマップって実装できますか?
チュートリアル見たらステンシルシャドウしか見当たらなかったので。
0693名前は開発中のものです。2008/09/03(水) 22:15:31ID:mATLlW/b
>>692
16ビット整数や浮動小数のテクスチャを標準でサポートしていないみたいなので難しい
0694名前は開発中のものです。2008/09/05(金) 11:21:14ID:DxSlKod3
Irrlichtを使ってODEでプログラム組みたいんだけど
http://irrlicht.sourceforge.net/tut_ode.html
のサイトにあるbounce.cppを誰か持ってませんか?
古すぎてDLできないようなんだ

サイトにチュートリアル書いたThomas SuterさんのHPが紹介されてるけど
リンク切れてるらしくて・・・
0695名前は開発中のものです。2008/09/05(金) 12:31:55ID:eOV9zXRB
>>694
bounce.cppは持ってないから、代わりにIrrlicht wikiのODEページをはっておく
ttp://www.irrlicht3d.org/wiki/index.php?n=Main.GettingStartedWithODE
0696名前は開発中のものです。2008/09/27(土) 15:44:32ID:uWLmUo2F
1.4.2きてたのか
0697名前は開発中のものです。2008/09/27(土) 17:45:34ID:8tJqIYVf
今回同様バグフィックスのみだろうけど1.4.3も出る可能性があるよ
1.5の開発も続行中
0698名前は開発中のものです。2008/09/28(日) 07:58:49ID:RJmntdwU
>>694
進研模試の偏差値でいうと2ちゃんねるのニュース速報がおよそ45、民放地上波の報道ステーションが約40、
ニュース速報+は35程度の読者を想定しています。
0699名前は開発中のものです。2008/09/30(火) 23:21:39ID:VgMCWd7+
1.4.2MLもきてる
0700名前は開発中のものです。2008/10/17(金) 18:28:11ID:ewBPV70L
createOctTreeTriangleSelectorとcreateTriangleSelectorの違いがわかりません。
ポリゴン数が多いときは前者を使えとあるだけで、内部でどう処理が違うのですか?
0701名前は開発中のものです。2008/10/17(金) 18:43:50ID:WGDBW951
Octreeが何であるかわかれば違いもわかると思うよ
0702名前は開発中のものです。2008/10/30(木) 19:28:24ID:oTeLmTZk
Forumでirrphysxを見つけたのですが、コンパイルできません。irrphysxのサンプルBoxesExampleで以下のエラーが出ます。
irrphysxのinclude,libディレクトリもちゃんと設定し、PhysxSDK2.8.1,irrlicht1.4.2も入れてあります。「irrlicht.lib' を開けません」というのが理解できないので、対処法を教えてください。

http://chris.j.mash.googlepages.com/irrphysx
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=30804

出力ウィンドウ コンパイルしています...
ShapeCreation.cpp
CGridSceneNode.cpp
BoxesExample.cpp
リソースをコンパイルしています...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
リンクしています...
LINK : fatal error LNK1181: 入力ファイル '../../../../irrlicht-1.4.2/lib/win32-visualstudio/irrlicht.lib' を開けません。

結果 ビルドログは "file://c:\Program Files (x86)\IrrPhysx-v0_1\examples\BoxesExample\Release\BuildLog.htm" に保存されました。
BoxesExample - エラー 1、警告 0
0703名前は開発中のものです。2008/10/30(木) 19:45:20ID:qztpNKC1
fatal error出たところの相対パスにちゃんとirrlicht.libおいてある?
0704名前は開発中のものです。2008/11/06(木) 19:31:01ID:yOFGd/wG
linuxでirrlichtを触っています。
コンソールに
Could not find win32 key for x11 key.
ってでるのをどうにかしたいんですが、どうにかできませんかね?
07057042008/11/06(木) 20:20:06ID:yOFGd/wG
fullscreenにしたらでなくなりました
非アクティブ時に拾ってるのかな?
0706名前は開発中のものです。2008/11/08(土) 13:41:03ID:WeJtYBtG
Irr LessonのC01のSDL組み込みをやってるんですが
そのままサンプルをコンパイルしても
SDLの方に入力イベントの制御が行きません。
まったく行かないわけではなくて、稀にSDLの方にイベントが来るみたいなんですが、
Alt+F4を押すとあっさり終了するので、Irrlichtから制御が完全に奪えていないようです。

いったいどうしたらいいんでしょうか?
開発環境はWinXP+VC2005です。
0707名前は開発中のものです。2008/12/08(月) 22:41:38ID:9RlnBp0x
保守
0708名前は開発中のものです。2008/12/09(火) 02:54:24ID:Clj0Z4/c
>>706
1.5以降で制御ありなしのデバイス生成オプションが拡張されるはず
1.5はLinuxのみの可能性大
0709名前は開発中のものです。2008/12/18(木) 19:24:10ID:PsMhk7MM
Irrlicht1.5リリース!
変更多岐にわたるな、とりあえずトップだけ。

・バーテックスバッファオブジェクト。GPU上にメッシュを置くためとか
・すべてのプラットフォームでジョイスティックのサポート
・collada 1.4とLWOをサポート
・大きいメッシュのための32bitのインテックス
・.objの書き込みクラス
・バーニングビデオソフトウェアラスタライザの改良
・ダイナミックライト、LMTS、PNGとPCXの読み書きの改良
・FSAAがOpenGLで使えるように
・OGREの.meshローダーの改良
・地形レンダリングがよりよくより速く
・ボリュームライト
・WindowsCEポートの改良
・RTT使用時の共有デプスバッファ in D3D
・Linuxでのフォント作成ツールを追加

直訳でゴメソ、今からチェンジログみてくr
0710名前は開発中のものです。2008/12/18(木) 23:42:42ID:QB80MQLV
FileOpenDialogでファイルを指定したら
C:\Documents and Settings\
までしか入らないのは何で?まさか日本語が入っているから?
C:\hogehogeとかは大丈夫。
07117102008/12/18(木) 23:50:00ID:QB80MQLV
最近レス少ないしage進行で
MLじゃないと駄目なのかな、日本語ファイルの選択
0712 ◆YATA/oetrw 2008/12/19(金) 02:55:55ID:D9KskPnz
MLのIME変換ウィンドウの挙動を調整してたらこんな時間に…。
EditBoxのmultilineに、ある程度対応させておきました。
後程、コンパイルしてアップしておきます。

>>710
素の状態だと、日本語フォントを使っていても、mbstowcs()をかまさないと文字化けしてしまいます。
この部分は、パッチを提供したら、本家に組み込まれそうな気がしないでもないです。

ところで、今回からMLプリコンパイルDLLのDirectX8サポートを切ろうかと思うのですがいかがでしょう?
0713名前は開発中のものです。2008/12/19(金) 07:36:15ID:DyRt92vu
>>712
お疲れ様っす。
DX8サポートが長い間残っていたのは、0.*時代にDX9インプリメントが
結構怪しかった名残(と個人的には思っている)なので、
DX9環境も枯れてきた今なら切っちゃってもいいとは思うデス。
0714名前は開発中のものです。2008/12/19(金) 21:31:38ID:jeXDdZ4X
>>712
いつもお世話になってます。

いまどき、DX8でIrr触ってるヤシどれくらいいるんだろ。
俺は切るに賛成っす。
0715 ◆YATA/oetrw 2008/12/19(金) 22:04:25ID:D9KskPnz
>>713-714
ご意見どうもです。

報告が遅れましたが、IrrlichtML 1.5を公開しました。
DirectX8は使っている人も少ないようなので外しました。
おかげでDLLのサイズが500KBほど小さくなっています。

ttp://etwas.wolfish.org/files/IrrlichtML-1.5-win32Linux.zip

ちなみに、サンプルバイナリの動作にはVC2008 Redistributeが必要かもしれないです。
07167102008/12/19(金) 22:10:29ID:Hjz5wbiY
>>712
乙です。
mbstowcsってsrcにchar*を指定しないといけないみたいですが
FileDialogはファイル名がwchar_tで返ってきます・・
IrrlichtMLを使えば問題なくなったからいいか。

Could not load shader function D3DXAssembleShader from dll, shaders disabled: d3
dx9_39.dll
Could not create vertex shader.
Could not create vertex shader.

ML-1.5に変えたら、こんなメッセージがコンソールに出たんですが大丈夫でしょうか?

ttp://uproda.2ch-library.com/src/lib081835.zip.shtml
何を作ろうかと思っていたかというと、こんなものを作っていました。
DirectShowでレンダリングされた動画をテクスチャに書き込みます。
GLだとうまく動かなかったりします。処理も遅いです。
誰かこの問題を解決できないでしょうか?ソースコード汚くてスマンです。
0717名前は開発中のものです。2008/12/19(金) 22:38:06ID:HoYFRZCL
どうやったらいいのかよくわからないけど、
漢字変換の時ってImmSetCompositionFontでフォントセットしたら
もっと自然な感じで変換できるようになるかな……
0718 ◆YATA/oetrw 2008/12/20(土) 00:21:33ID:SR5YXda0
>>716
コンパイルした環境のSDKでは古いシェーダがサポート切られた関係かもしれないです。
10.shadersサンプルでハイレベルシェーダを使おうとすると警告がでました。
古い環境でコンパイルするかシェーダファイルをアップグレードするしかないかも。
アップした動画再生アプリでも警告でました?

私のところだ警告なしで、DirectX9とBurning's Software Rendererともに元気よく動いてました。
動画はマクドナルド。
ttp://up.mugitya.com/img/Lv.1_up81288.png
ttp://up.mugitya.com/img/Lv.1_up81289.jpg

>>717
フォントサイズを合わせられるかもしれないですね。
他にも変換ウィンドウの描画を全て乗っ取ることもできるとか。
0719 ◆YATA/oetrw 2008/12/21(日) 20:46:27ID:+GT7dnDG
COpenFileDialogの文字化け解消パッチを、MLから切り出してアップしてみました。
そしたら、GUI担当のbitplane氏から、「FileSystemを修正したほうがよいのでは?、とのこと。
ttps://sourceforge.net/tracker/?func=detail&atid=540678&aid=2450094&group_id=74339

現在、IrrlichtのFileSystemはファイル名をchar型のマルチバイト文字列で管理しています。
GUIへの表示以外は使用に問題はありません。
で、これをワイド文字列管理に全面的に書き直したときに考えられる弊害ってありますか?(ワイド文字操作には詳しくないです)
FileSystem全体にパッチを当ててみようと思うのですが、ご意見ありましたらよろしくお願いします。
0720名前は開発中のものです。2008/12/21(日) 20:51:18ID:+GT7dnDG
あ、それと、彼らとの意思疎通に英語翻訳してくれる方がいてくれると助かります。
英語の文章を組み立てられないので、短文を書くにもexcite先生に長時間浸かってますorz
07217102008/12/21(日) 22:23:40ID:pt1QZUzz
>>718
警告出ましたよ。アセンブリシェーダーは使わないので、別にいいんですが・・
メッセージは消したいですね。

>私のところだ警告なしで、DirectX9とBurning's Software Rendererともに元気よく動いてました。
テストありがとうございます。
それにしても、FPSたけぇ!!(こちらはRADEON HD 2600XTで800ぐらい)
やっぱりOpenGLだと動かないですか・・。何ででしょう?
main.cppでの書き込みは上手く言っているようなのに。

ttp://uproda.2ch-library.com/src/lib082512.zip.shtml
若干修正しました。
・コピーの処理をCImage.cppからとってきた
・テクスチャのサイズをビデオのサイズと同じに
・何となくWaterSurfaceのシーンノードに変えた
・現在のフレーム数を表示

問題は
・GLだと動かない。
・2の累乗でしかテクスチャが確保できない場合の処理がめんどくさい
・シークとかが未実装
・COpenFileDialogを使うと、Cドライブより上にいけない
などでしょうか。
0722名前は開発中のものです。2008/12/21(日) 23:38:24ID:+GT7dnDG
>>721
うねうねしているせいか、コピーをCImageから取ってきるのが原因かわからんですが
テクスチャ書き換え中の垂直非同期線が見えてしまってました。
OpenGLが黒いのはIrrlichtのバグの可能性もあるのでにんともかんとも。
それと、Burning's Software Rendererでは異常終了しちゃうようになりました(CImageが対応してない?)

>メッセージは消したいですね。
ログ出力されているコンソールを非表示にして見なかったことにするという荒業なら。
とりあえず、DirectXランタイムやビデオドライバのアップデート、DLLの再コンパイルを試してみてください。

>COpenFileDialogを使うと、Cドライブより上にいけない
確かにwドライブ用リストボックスが欲しいですね
0723名前は開発中のものです。2008/12/22(月) 00:12:45ID:3bnefhjw
>>712さんありがと〜
ありがたく使わせていただきますね
07247102008/12/22(月) 22:07:57ID:FcNpR8F3
ttp://uproda.2ch-library.com/src/lib082805.zip.shtml
・テクスチャとビデオのサイズが違う場合は、
 ニアレストネイバーで拡大縮小する処理を復活

>>722

>うねうねしているせいか、コピーをCImageから取ってきるのが原因かわからんですが
テクスチャ書き換え中の垂直非同期線が見えてしまってました。
なんでだろう??DirectShow初めてなので原因が分かりません。

>OpenGLが黒いのはIrrlichtのバグの可能性もあるのでにんともかんとも。
テクスチャをロックできていないのかな・・うーん分からん

>それと、Burning's Software Rendererでは異常終了しちゃうようになりました(CImageが対応してない?)
すいません、テクスチャのサイズとビデオのサイズが違う場合の処理
を消してしまっていました。

>>COpenFileDialogを使うと、Cドライブより上にいけない
>確かにwドライブ用リストボックスが欲しいですね
他のOSだと必要ない機能だからでしょうか?あと、

・上のフォルダにいく「..」が常に上に来ない
代わりに「上へ」ボタンを用意してもいいんじゃないでしょうか。
・画面上に表示されているパスを編集可能にする

こんな機能も欲しいですね。
0725名前は開発中のものです。2008/12/22(月) 23:28:00ID:3C+dKX9F
いっそそのへんひっくるめて対応して、マルチバイト文字にも対応した
拡張OpenFileDialogをエクステンションとして作った方が影響も少なくて
平和なんじゃないかとふと思った。
(初期のCGUITTFontみたく、自前でプロジェクトに追加する方法で)
07267102008/12/23(火) 22:15:39ID:Qo9DH/Zf
ttp://uproda.2ch-library.com/src/lib083221.zip.shtml
また画像コピーのコードが間違っていたので再うp・・
0727名前は開発中のものです。2008/12/24(水) 08:46:19ID:VQmpNn74
今作ってるのが2DゲームなせいでIrrlichtが単にDirectX初期化ライブラリとしてしか
機能していない俺ガイル

どうでもいいけど頂点アルファとテクスチャアルファ対応の新マテリアルはまだかね
前フォーラム見たときは作ってる時間ないぜゴルァ的な回答があった気がするが

適当なマテリアルコピーして頂点アルファ使うように設定するだけなのに大変なのかね?
ソフトウェアレンダラとの兼ね合いなんだろうか、よくわかんね

自分でIrrlicht弄ったほうがはやいかな
0728名前は開発中のものです。2008/12/24(水) 14:38:01ID:znVSQgGD
>>712
俺もここ
ttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=6389
見て、DShowのレンダリングしたサーフェイスをテクスチャに
コピーする、みないなん作ったことあるけど、
普通に作ると画面のFPSがムービーのFPSになる…。

DShowがレンダリングしたサーフェイス→テクスチャにコピー を
スレッド上でやってみたら早くなった。
DXの場合は、コピー中にDrawPrimitive来ても平気だが、
OGLの場合は落ちる。
あと、DXでも垂直同期線は見える。

もう俺のアプリはDXのみ対応、みたいなことになってるから、
これでいこうかと。

>>720
ページ翻訳は無理だが、FreeTranslatorなるものを俺は使ってる
ttp://www.vector.co.jp/soft/winnt/edu/se454073.html
ってそいう話じゃないか。スマソ

>>727
俺も最初それが嫌で、EMT_TRANSPARENT_ALPHA_AND_VERTEX_CHANNEL
とか自分で作ってみたけれど、改変箇所が多くなって面どくさくなった。
今はシェーダ書くことでおちついてる…。
0729名前は開発中のものです。2008/12/24(水) 14:42:24ID:znVSQgGD
ところで、SVN見てるんだが、branches\ogl-es ってフォルダあったのな。
これでiPhoneアプリ作れるんだろうか…。

ちょっと、フォーラムとドキュメントにいってきま ノシ
0730 ◆YATA/oetrw 2008/12/24(水) 16:36:06ID:rLipAkzv
>>710
なかなかよさげなのでサイトかフォーラムで公開されてはいかがでしょ?

>>725
その方法もIrrTestxxx.zipで試してみたことがあります。
利点:DLLの修正が不要
欠点:ModalDialogが機能しないため、その部分も含めて実装しなければいけない
GUIManagerに登録すればいいのかとも思うのですが、まだ試したことがないです。

>>727
いじった成果をsf.netのパッチスレへぜひ!
待っているだけでは優先順位を落とされてしまうみたい。

>>729
まだ実験中らしいけど、動くことは動くらしいです。
今、クリスマスシーズンで、ぱったりSVNが沈黙してるのが悲しい。
0731名前は開発中のものです。2008/12/25(木) 20:22:23ID:qT+jHo43
Irrlicht(メガデモ?)コンペ開催中、締め切りは2009/1/12
ttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=180414

賞金は些細なものだけど楽しそう
0732名前は開発中のものです。2008/12/25(木) 23:11:09ID:TqCl1qUQ
ttp://uproda.2ch-library.com/src/lib083958.zip.shtml
シークできるようになりました。無限ループします。
できればmain.cppから手動?ではなく自動でやらせたいんですが。
>>728
ttp://www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow001.htm
私はこれを元に作りました。というか一部を書き換えて作りました。
CBaseVideoRendererの一部メソッドをオーバーライドした
クラスを作りAddFilterでレンダラーフィルタとして挿入する方法です。
■ このスレッドは過去ログ倉庫に格納されています