トップページ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/
0127名前は開発中のものです。2007/03/29(木) 13:38:49ID:I6xu9ljg
Ver頻繁に変わるから更新新しいってだけで解説サイトは助かる
0128名前は開発中のものです。2007/03/29(木) 15:32:49ID:dr+aGdcA
>>124,125
自分も親に見られて自爆したクチです orz
これからがんばって整理していきます (゚ω゚) -3

>>126
その動画を参考にして作ってみました。
初心者としてはかなり助かったので、文章化したです。

>>127
国内のIrrlicht情報サイトの更新日が古いのが多くて困惑しましたね・・・


 (;`・ω・´) とうとう・・・宣伝しちまった・・・がんばらねば
0129名前は開発中のものです。2007/03/29(木) 17:51:36ID:0nHfNbg+
>>128
>その動画を参考にして作ってみました。
うぁ、同じページを見ていたとは世界って狭いのね。
がんばれ、超がんばれ!後でこっそりリンクはっておこう…
0130名前は開発中のものです。2007/03/30(金) 13:13:38ID:PXVwrZAI
FreeBasicから使ってるのって俺だけ?
IrrlichtWrapperてやつ。結構使いやすいね
01311282007/03/31(土) 04:50:01ID:7BP7cxxh
Irrlicht以前にC++が浅いのでよく分からないのですが

IAnimatedMesh *_MODEL_ = _SCENE_->getMesh("../media/font_a.x");

などで生成された *_MODEL_ の中身の型(?)はなんなんでしょうか?
クラスのようなもので複数IDを管理しようと思ってるのですが

0132Ogreに移行考え中2007/03/31(土) 05:50:11ID:ozs/7Dfa
IAnimatedMesh.hに定義されてるでしょ。
void *で保持も可能だろうけど、
いちいちtype castingすること考えたたら、
素直にIAnimatedMesh.hをincludeして..って
質問の意味取り違えた?
0133名前は開発中のものです。2007/03/31(土) 07:06:21ID:7BP7cxxh
OGREもすごそうな。知らなかった。

>>132
> IAnimatedMesh *_MODEL_ = _SCENE_->getMesh("../media/font_a.x");

????(1) *_MODEL_ = _SCENE_->????(2)
~~~~~~
単純には ????(1) がどのような意味をしているのか分かりません。
C++は色々な書き方あって困る orz
0134Ogreに移行考え中2007/03/31(土) 07:20:03ID:ozs/7Dfa
????(1)ってただ単に ????クラスを宣言してるだけ
つまり、IAnimatedMesh *_MODEL_は
IAnimatedMeshのポインタ型(IAnimatedMeshの大きさを持つポインタ)の
変数_MODEL_を宣言してるだけじゃないの?
で、IAnimatedMeshのクラスの定義はIAnimatedMesh.h
0135名前は開発中のものです。2007/03/31(土) 07:48:40ID:7BP7cxxh
>>134
なるほど *はポインタ ってこういう事か・・・
クラスもソースと概念だけは見てましたけど、こう使うとは知らなかった。

ヘッダみるとクラスの構造が・・・

朝から本当にありがとうございます。
0136名前は開発中のものです。2007/03/31(土) 09:37:51ID:is6F+ctY
ttp://gamdev.org/w/?%5B%5B%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%5D%5D#content_1_10
ここも誰か直そうよ、詳しい人
0137名前は開発中のものです。2007/03/31(土) 09:42:23ID:q0u5jJhs
>135
言い方きついですけど、これはCの基本じゃないでしょうか……
がんばってください
0138名前は開発中のものです。2007/03/31(土) 17:38:48ID:AJCnDfW4
>>131
"Ixxxxx"とIが先頭にあるクラスはインターフェースクラスと呼ばれるもの。
これをlistやvector(もしくはただのクラス配列)で管理すれば
そこから派生したものは全て共通関数呼び出して制御可能。

srcフォルダの"Cxxx"はDLL内部クラス。
インターフェースクラスから派生した仮想関数の実実装を行っている。
拡張しないのであれば、こっちは見なくてもおk。

ICameraSceneNode<-CCameraSceneNode<-CCameraFPSSceneNode

>>136
言い出しっぺの法則、おながいします。
0139名前は開発中のものです。2007/03/31(土) 18:18:10ID:7BP7cxxh
>>137
入門書を読み進めたら同じ式がありました。
本当に面目ないです。


>>138
list型は知らなかったです。明日の宿題が増えた!!(゚∀゚)
IxxとCxxの違いは入門書のバーチャルというのを見たら、なるほど・・・と思いました。

親切にありがとうございます (´ω`;) 基礎は大事ですね
0140名前は開発中のものです。2007/03/31(土) 18:19:21ID:is6F+ctY
>>138
OGRE3Dのほうはちょこっとやったけどこれは何を直そうかわかんなかったんだ
0141名前は開発中のものです。2007/04/02(月) 06:28:07ID:XvP3M03R
OGREとIrrlichtが共同開発!!!
その名もOGRIRR!!!
ttp://www.stevestreeting.com/?p=501


ワラタw
0142名前は開発中のものです。2007/04/02(月) 07:51:53ID:q7rxp6Lc
FPSが3000だってよこれでフォトリアル目指すって
0143名前は開発中のものです。2007/04/02(月) 09:13:07ID:fSYb2JxG
( ;゚Д゚) fps3000によりフォトリアルの段階に・・・(・し・`)

OGRIRRハジマタ
0144名前は開発中のものです。2007/04/03(火) 09:24:36ID:ouNdMIWO
>>141
4/1ネタかw
0145名前は開発中のものです。2007/04/03(火) 12:14:52ID:A1dezZUT
おい!今度のは4.1ネタじゃないぞ!

nikoはirrEditをアップグレード中らしい。
で、1.3用に再構築しながら、irrEdit独自拡張(未公開?)をエンジン側に反映。
ttp://www.irrlicht3d.org/pivot/entry.php?id=489
>#include "IIrrEditPlugin.h"
>#include "IBody.h"
>#include "IPhysicsSimulation.h"
>#include "ISceneNodeAnimatorPhysicsBody.h"
>#include "irrEditServices.h"
>#include "IScriptEngine.h"

プラグイン、既存物理エンジンラッパー、スクリプトラッパーにwktk
ある意味、OGRIRRハジマタ
0146名前は開発中のものです。2007/04/03(火) 14:23:41ID:qom87o6H
俺もそろそろエロい人エンジンに頼るか。
0147名前は開発中のものです。2007/04/05(木) 23:34:09ID:fpTiIgZ3
http://www.realintegrity.net/~irr/index.php?Tutorials

CustomSceneNodeがない
0148名前は開発中のものです。2007/04/06(金) 00:02:02ID:P4GVkkwa
wikiだから翻訳して書き込んで〜。
0149名前は開発中のものです。2007/04/15(日) 02:21:13ID:JGgkq1md
irrKlang0.7リリースage
ISoundStreamだとsetPositionで曲の途中から再生可能になるっぽい。
>>60の言ってた事ってこれかな。
http://www.ambiera.com/irrklang/
0150名前は開発中のものです。2007/04/15(日) 02:42:54ID:KRgQ3nwE
ループ開始位置だから、どこからループ始まってどこでループ終るか指定できなきゃダメなんでは。
0151名前は開発中のものです。2007/04/15(日) 03:03:02ID:JGgkq1md
なるほど、A-Bループか。
IStreamSoundを継承して制御できたりするかも?
0152名前は開発中のものです。2007/04/18(水) 15:46:25ID:YTiLNF4E
Irrlicht A GoGoの、第6回日本語表示のソースにて、
CGUITTFont* Font = new CGUITTFont(Driver);
の箇所でエラーが出てしまいます。
これを回避するにはどうしたら良いでしょう?
0153名前は開発中のものです。2007/04/18(水) 16:04:58ID:+45/zOFm
9条は改憲してはならない。日本の為にならない。
日本人ではない朝鮮総連や民団でさえ、日本を心配して改憲への反対運動を行ってくれている。
私は日本人だが、「改憲すべき」などという者は、日本人として彼らに恥ずかしいと思います。

Q.中国から身を守る為、戦争に対する抑止力が必要では?
A.前提から間違っています。そもそも、中国は日本に派兵しようと思えばいつでもできました。
  なぜなら、日本には9条があるため、空母や長距離ミサイル等「他国を攻撃する手段」がない。
  つまり日本に戦争を仕掛けても、本国の、命令をだした幹部の命は絶対に安全なのです。
  「安心して戦争を仕掛けられる国」を、中国は、今まで攻めずにいてくれたのです。

Q.それは日米安保によるものでは? そして、その日米安保も絶対ではないのでは?
A.中国の良心を信じられないのはなぜですか? そして、日米安保は絶対です。
  知り合いの韓国人の評論家も「絶対だ」と言っていますし、私も同じ考えです。
  更に、9条が消えても米国の戦争に協力する義務は発生しませんが、米国が被害者の場合は別です。
  米国は日本を守る為に戦っても、(9条があれば)日本は米国を守る為に戦う必要がないのです。

Q.9条が本当に「平和」憲法なら、世界中で(日本以外に)1国も持とうとしないのはなぜか?
A.これは、日本以外のすべての国が誤っているとも言えます。
  「敵国に攻撃が届く国は攻められづらい」というのは、誤った負の考え方です。
  (もっとも韓国や中国の軍に関しては、日本の右傾化阻止の為でもあるので例外ですが)
  更に日本の場合、隣国が韓国・中国・ロシアと、GDP上位の安定した信頼できる国ばかりです。

Q.「9条改憲派」は「戦争反対派」。侵略者に戦争を挑発する、戦争憲法(9条)を撤廃したいのです。
A.それは、貧しい考え方ではないでしょうか? 
  中国や北朝鮮を信じる「強さ」があれば、そんな考えにはならないはずです。
  日本が信じれば、彼らも信じるでしょう。そして、真に美しい関係が始まるのです。
0154名前は開発中のものです。2007/04/18(水) 20:34:45ID:nkkNPLeS
>>152
どういうエラーかもうちょっと詳しく書かないと答えようが無い
0155名前は開発中のものです。2007/04/19(木) 07:57:10ID:E/KhOlb0
>>152
>>67-68に話題に上ってるattachするとエラーおきるって不具合を前提にエスパーレス。

CGUITTFont単体なら、このスレを順番に見ていくと改善されていってる。
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=3995

それとは別にIME支援つきで別対処したものが、こっちのスレにある。
アーカイブからCGUITTFontだけ抜き出して使ってみたらどうだろう。
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=6513&start=15
英語苦手なら以下から直接落としてみて。
http://etwas.wolfish.org/

見当違いだったらゴメンね。
とりあえず、詳しいエラー内容うpだ!
01561522007/04/19(木) 12:55:03ID:3JAfPMKW
>>154、155
返信ありがとうございます。

エラー内容は、
error C2259: 'CGUITTFont' : 抽象クラスあるいは構造体のオブジェクトが宣言されています。
また、warning C4259: 'void __thiscall irr::gui::IGUIFont::setKerningWidth(int)' : 純粋仮想関数は定義されていません。
などの警告がいくつか発生します。

これはIrrlicht1.3で起こり、1.2でビルドした場合は起こりません。
環境はWinXP VC++6.0です。

表示がうまくいったらIMEにもチャレンジしたいと思っていますので、
この記事は参考になりそうですね。
ありがとうございます。
0157名前は開発中のものです。2007/04/19(木) 14:46:07ID:E/KhOlb0
>>156
把握。
Irrlicht1.2から1.3になったときに、Font周りが大幅に変更された。
具体的には中間クラスが増えて、setKerningWidth(s32)とsetKerningWidth(s32)という純粋仮想関数が追加。
だから、CCGIFont.cppの中身をコピペしてくればいいかと。

IME支援付きのIrrlichtML内に入ってるCGUITTFontなら、そこらへん調整済みね。
01581522007/04/19(木) 19:43:54ID:3JAfPMKW
>>157
ご指摘ありがとうございます。
無事に日本語表示させることができました。

また、IrrlichtMLの方を使わせていただき、ビルドは通ったものの、
fonts[0] = (CGUITTFont *)env->getFont(tmp,12);
のところで、ESPエラー終了してしまっています。
もう少し粘って調査をしてみようと思います。

ありがとうございました。
0159名前は開発中のものです。2007/04/20(金) 00:32:11ID:l5dEAN1s
>>158
Irrlicht.libもML版をリンクしてるのにエラーでるなら
VC6を使うことによって、DLL呼び出しに不整合が起きてるんだと思う。
Irrlicht.dllをVC6でリコンパイルするか、EXE側をVS2005でコンパイルするのが解決早いかと。

もし、VC6でリコンパイルするなら、IrrCompileConfig.hのDirectX9チェッカーを
コメントアウトすると幸せになれます。
//#undef _IRR_COMPILE_WITH_DIRECT3D_9_

ESPエラーについて
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2026325
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdn_voices_askgui/htm/askgui08072001.asp
01601522007/04/22(日) 23:31:09ID:mR20oL43
>>159
Irrlicht.dllをリリースでリコンパイルすることにより、
ESPエラーを回避することができました。
ありがとうございました。
0161名前は開発中のものです。2007/04/22(日) 23:54:54ID:07IaEYjx
格闘ゲームのサンプルってありませんか?
どういうのが作れるのか知りたいんです
0162名前は開発中のものです。2007/04/24(火) 20:33:08ID:UExAFUg/
>>161
Irrlichtは画面表示を主に担当しているので、基本的に何でも作れる。
どういう格闘ゲームを想定してるかわかんないけど、カプコン系のはサンプル見た事ないね。
げむでぶにシューティングのソースならあるよ。
ttp://gamdev.org/up/img/955.zip
0163名前は開発中のものです。2007/04/24(火) 21:55:52ID:rgGfDEY1
OpenGL2.1対応マダー
0164名前は開発中のものです。2007/04/24(火) 23:37:47ID:rgGfDEY1
1.5→2.0→2.1
で何が変わったのか知らんけど・・
0165名前は開発中のものです。2007/04/25(水) 00:28:10ID:W4J3LTO2
2.1って夏に出る予定のDX10相当になるやつだっけ
G80とRV6X0がVistaじゃなくても活かせるな
0166名前は開発中のものです。2007/04/25(水) 01:05:25ID:83294h9x
ってことは、ubuntu+ogl2.1で、DX10並の再現が出来るってことか
ドライバが出れば。。。
0167名前は開発中のものです。2007/05/03(木) 02:20:20ID:l7GXDK1k
最近これ知って期待age
0168名前は開発中のものです。2007/05/03(木) 08:15:27ID:bbrqGnbW
俺が宣伝したから
0169名前は開発中のものです。2007/05/03(木) 08:33:15ID:LBHYfKZM
いやいや、俺が俺が。
IrrEdit0.7出たね、カスタムシーンノード追加可能になるまで後少し。
0170名前は開発中のものです。2007/05/03(木) 09:20:16ID:bbrqGnbW
名前を忘れたけどxmlでだせるのが良いねeditは
0171名前は開発中のものです。2007/05/03(木) 09:27:10ID:lQqUOyEQ
terrainシーンノードで使えるハイトマップのサイズって制限あるのかな?
512*512をつっこんだら表示がおかしくなった
0172名前は開発中のものです。2007/05/06(日) 19:57:49ID:ySfhD1q2
LLMozLibでのweb表示が出たけど、使う人居る?
0173名前は開発中のものです。2007/05/12(土) 06:22:56ID:7ZU3t7aU
Irrlichtでテクスチャの書き換えをエラー少なく行いたいと思っているのですが、
IImageからITextureに書き換えるということは出来るのですかね?
0174名前は開発中のものです。2007/05/12(土) 11:48:19ID:0a5aTtRx
>>173
可能。
irr::video::IVideoDriverのvirtual ITexture * addTexture (const c8 *name, IImage *image)って関数で出来るよ。
ファイル名が不明になるから、nameでテクスチャ名を与えてあげないといけない。
これはオーバーロード関数で、ファイルから直にITextureを生成する同名関数の別定義になってる。
01751732007/05/13(日) 07:00:41ID:EG3uXyqf
あ。説明不足ですたorz

すでに同じ関数で作っているテクスチャの書き換えです。
Lock使うとほとんどエラーになりましたし……orz
0176名前は開発中のものです。2007/05/14(月) 00:18:29ID:R8qA9tIK
やったことないから確証は出来ないけど
テクスチャアニメーションみたいなことするなら
予め全ての画像を読み込んでアタッチ切替してみては?
0177名前は開発中のものです。2007/05/18(金) 02:00:35ID:hXJDqNBy
フライトシムっぽいHUDを作りたいんだけど、線をどうやって描写するのかわからなくて挫折した
カスタムシーンノード使うしかないのかな?
0178名前は開発中のものです。2007/05/18(金) 04:49:01ID:3vq7Y5KN
>>177
draw3DLine、draw2Dline
0179名前は開発中のものです。2007/06/08(金) 23:16:40ID:XTT0qZI1
これスタティックにリンクすんのどうやんの?
0180名前は開発中のものです。2007/06/09(土) 11:03:44ID:Jkduy/Gv
>>179
本体ソースのビルド方法をDLLからLibに変更すればいいんじゃない?
リビルドしたLibファイルをリンクすれば動くと思う
0181名前は開発中のものです。2007/06/09(土) 16:25:56ID:sP2SYFoA
>180

いや、それが結構エラー吐く・・・ってのは解決した。
それだけじゃなんなので簡単に言うとスタティックにするのは
そもそもLinux用なんで若干書き換えが必要だった。
そんでもwindowsでスタティックにさせると色々動作がおかしい。
何がおかしいのかちゃんと検証しないと怖くてつかってらんないんだけど
リンク時間がアホほど延びるんで検証やってらんないっす・・・
0182名前は開発中のものです。2007/06/09(土) 21:40:42ID:V5Gpj1Mm
・IrrlichtMLをビルドしようとしたらd3dx8core.hが無いって言われてビルドできません。
 DirectX8使わないようにすればビルドできますが・・。
・メッシュの全ての頂点の位置や法線を取得するのって出来ますか?
0183名前は開発中のものです。2007/06/09(土) 22:13:02ID:V5Gpj1Mm
age
0184名前は開発中のものです。2007/06/10(日) 00:50:17ID:nrA64ON/
>>182
最新版DirectX SDKではDirextX8をサポートしなくなったので
オフにしないとコンパイルが通らないです。
どうしても使いたい場合はSDK December 2004まで遡ってみてください。
http://www.microsoft.com/downloads/details.aspx?familyid=4E825A37-0C94-4421-9EC8-156E52525D11&displaylang=en

メッシュは分からないのでパスで。
0185名前は開発中のものです。2007/06/13(水) 21:34:30ID:mogfedgO
>>182
ありがとうございます やてみます。
01861822007/06/13(水) 21:41:51ID:mogfedgO
あ・・・間違えた
×>>182
>>184
0187名前は開発中のものです。2007/06/19(火) 23:35:15ID:DWPv8xYK
ITextureって中身にアクセスできないんですか?
IImageにはそういう関数あるのに・・。
ITexureをIImageに変換することは出来ないんですか?
>>173 を見ると、逆は可能なようです
0188名前は開発中のものです。2007/06/20(水) 20:31:51ID:/BEoAgM8
Jun-20-2007 Irrlicht 1.3.1 released

Irrlicht Engine - A free open source 3d engine
http://irrlicht.sourceforge.net/

2007年6月20日 リリースされたIrrlicht1.3.1
私たちはバージョン1.3.1でIrrlichtをただリリースしました。 これはバグフィックスリリースであることが意図されますが、また、いくつかの新機能があります:

作品がまた、ただ リリースされたirrEditと共にseemlesslyされる、(0.7 .1)。
Ogre1.4.meshのために、ファイルをサポートします。
Irrlichtに組み込み機器のようなどんなまだネイティブの支持されたプラットホームでも走らせないように、任意のSDL装置を加えました。
OpenGLの、より多くの織地創造旗の加えられたサポート
全体の場面グラフのクローニングは現在、可能です。
改良されたGUIエディタ
何十ものバグフィックスで他の複数の小さい改良
詳細なリストに関しては、 changes.txtファイルを見てください。 ダウンロードすることで、幸福です。
0189名前は開発中のものです。2007/06/20(水) 23:57:10ID:PHj58IiV
コリジョン判定でモデルの何処に当たったか調べるにはどうすれば良いかな?
ヘッドショットみたいなのがやりたいんだ
0190名前は開発中のものです。2007/06/21(木) 01:21:28ID:e/onu/G/
>>187
IImage→ITextureのみ。
中身を弄りたい時はIImageを編集して再度ITexture変換を。

>>189
キャラクターモデルの各部位に透明なバウンディングボックスを割り当てて
それを使ってコリジョン判定すると楽になるよ。
01911872007/06/22(金) 21:31:25ID:wHnVkoXG
>>190
RenderableTextureの中身を取り出したいんですが・・。

あと、シェーダー内でテクスチャ(sampler,samplerCUBE)使っているときは
どうやってテクスチャを渡すんですか?キューブマップを使うのは無理そうです。
0192名前は開発中のものです。2007/06/22(金) 21:44:31ID:EcLX4eIL
Jun-22-2007 SF.net 2007 Community Choice Awards

SF.net2007コミュニティチョイス賞でIrrlichtに投票してください。
下のリンクをクリックして、'Best Project for Multimedia'
('マルチメディアのための最も良いプロジェクト')
を選択してください。 ありがとうございます!
http://sourceforge.net/awards/cca/nomination.php?group_id=74339
(SourceForge.netのアカウントが必要)
01931892007/06/22(金) 23:50:01ID:1Pxa+lea
>>190
バウンディングボックスを割り当てるときって透明な子モデルを追加するであってる?
なんか上手く行かない・・・orz
0194名前は開発中のものです。2007/06/26(火) 13:43:45ID:XN7t+Ew2
IrrlichtってVistaで問題なく使用できるかな?
0195名前は開発中のものです。2007/06/26(火) 23:25:46ID:xz+C0aRL
ITextureのlock()ってピクセルにアクセスするためのメソッドっぽいですが
どうやって使うんですか?
0196名前は開発中のものです。2007/06/28(木) 02:02:50ID:1c/I/fjJ
そのぐらいリファレンスみて想像しようぜ

unsigned char *buffer = (unsigned char *)texture->lock();
irr::core::dimension2d<irr::s32> size = texture->getSize();
int width = size.Width;
int height = size.Height;
int pitch = texture->getPitch();

ふつうに生成したときに指定したピクセルフォーマットで
横方向×縦方向になったビットマップだからあとは適当に。
処理がおわったら unlock()
0197名前は開発中のものです。2007/07/13(金) 23:07:01ID:HjKp4JGG
ttp://up.tseb.net/index.html
ピクセルシェーダーでテクスチャを設定する機能を追加しようとして
失敗したの置いておきます。コンパイルは通るけど実行できません
01981972007/07/13(金) 23:31:53ID:HjKp4JGG
up3411.zip
0199名前は開発中のものです。2007/07/13(金) 23:56:59ID:RRLQfx/n
>>197
面白そうなものが!!
ってDLしたけど、うちではピクセルシェーダーが使えない

応援してますぜっ
0200名前は開発中のものです。2007/07/14(土) 09:01:55ID:v8M2A7vk
ピクセルシェーダー使えないって何年前のGPUだよX8時代じゃないか
0201名前は開発中のものです。2007/07/14(土) 09:23:28ID:1/D+ruoO
おれの開発用くそノートも普通に使えませんが何か?
0202名前は開発中のものです。2007/07/14(土) 10:12:25ID:6FF8AiM/
radeon8500だもの
0203名前は開発中のものです。2007/07/14(土) 10:26:43ID:P7x7dvCR
流れとる
0204名前は開発中のものです。2007/07/14(土) 11:39:06ID:6FF8AiM/
>>197本人ではないけれどゲムデブロダにあげなおしてみた
ttp://gamdev.org/up/img/9764.zip
0205名前は開発中のものです。2007/07/15(日) 17:05:34ID:YU7A9b2a
エラー全文です。
Please select the driver you want for this example:
(a) Direct3D 9.0c
(b) Direct3D 8.1
(c) OpenGL 1.5
(d) Software Renderer
(e) Burning's Software Renderer
(f) NullDevice
(otherKey) exit

a
Please press 'y' if you want to use high level shaders.
y
Irrlicht Engine version 1.3.1
Microsoft Windows XP Personal Service Pack 2 (Build 2600)
Using renderer: Direct3D 9.0
NVIDIA GeForce FX 5600 nv4_disp.dll 6.14.10.9371
HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL


HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL

あとは省略
02061972007/07/15(日) 17:11:27ID:YU7A9b2a
ちなみに、10.Shadersのexampleです。
setPixelShaderTextureはD3D9 HLSL用にしか作っていません。
0207名前は開発中のものです。2007/07/15(日) 18:30:05ID:YU7A9b2a
age
0208名前は開発中のものです。2007/07/15(日) 19:50:18ID:YU7A9b2a
ttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1238810&SiteID=1
error X3539について載っていますが・・読めねぇ!!
最初から入っているDLLだと問題おきないのに
書き換えたソースをコンパイルすると>>205のような問題がおきます。
なぜ?誰か分かる人教えてください
0209名前は開発中のものです。2007/07/15(日) 19:59:17ID:YU7A9b2a
あ、ソース中でコンパイルターゲットを
ps2_0,vs2_0にすると、普通にシェーダー有効になりますね。
でも書き換える前のソースではこんな風にならないのに・・?
本来なら書き換える前のソースでコンパイルしたDLLでも
問題が起きるはずなんですが。
0210名前は開発中のものです。2007/07/15(日) 20:56:28ID:EtuSIamm
>>208
大事な部分だろうところを訳してみた。参考にどうぞ

windozer_ wrote:
>DirectX10ではpixel shader1.xはサポートされなくなりました。
>pixel shader2.0以上のみ動作します。
>まだ古いshader modelでfxcを扱いたいなら、/LDスイッチを使用してください。
>OCT2006_d3dx9_31_x86(x64).cabをアプリケーション配布ランタイムに含める必要があります。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dx9とDx10の相違点:
>December 2006 SDKはDx10 HLSLコンパイラ(fxc)がデフォルトです。
>Dx9コンパイラールール(fxc.exe)で、再度コンパイルしたいアプリケーションのために
>/LDスイッチをfxc.exeで使う必要があります(これにはD3DX9_31.DLLが必要)
>Dx10 HLSLコンパイラは直接ps_1_xシェーダをサポートしません。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dec 2006 SDKでps3.0を使うときは(/T fx_3_0)を指定してください。

あれ、同じ事が2回書かれてる。
つまり、新しいSDKではps1.xでの開発は廃止されて、尚且つDx10では実行のみ限定サポートってこと?
ピクセルシェーダは全然分からないけど、SDKのバージョンに由来する問題じゃないのかなぁ。
0211名前は開発中のものです。2007/07/15(日) 21:21:15ID:YU7A9b2a
>>210
stubD3DXCompileShaderの処理を変えたら出なくなりました。
(flagsにD3DXSHADER_USE_LEGACY_D3DX9_31_DLLを設定)

しかし、せっかく作ったsetPixelShaderTextureは使えず・・・。
ITextureをCD3D9Textureにダイナミックキャストして、
IDirect3DDevice9::SetTextureに渡しているんですが、ここに間違いが・・?
HRESULT hr = CD3D9HLSLMaterialRenderer::pID3DDevice->SetTexture( (DWORD)hndl,
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );
textureはITextureです。
0212名前は開発中のものです。2007/07/15(日) 21:26:20ID:YU7A9b2a
あ、間違い発見しました
D3DXHANDLE hndl = tbl->GetConstantByName(NULL,name)
したのをなぜかDWORDにキャストして渡しています。
これがいけなかったようです。
SetTexture( tbl->GetSamplerIndex(hndl)
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );

やっと動いた!バンザーイ!!
・・・うpするのはまた後で。
0213名前は開発中のものです。2007/07/15(日) 21:32:50ID:YU7A9b2a
ttp://gamdev.org/up/img/9776.zip
多分書き換えたファイル全て含んでいると思いますが、もし間違っていたらごめんなさい。
0214名前は開発中のものです。2007/07/15(日) 22:09:12ID:EtuSIamm
>>213
おめでとさん!!
0215名前は開発中のものです。2007/07/15(日) 22:27:00ID:YU7A9b2a
http://gamdev.org/up/img/9777.zip

試しに使ってみました。10.Shadersのmain.cppに上書きしてください。
シェーダーの適用された箱のテクスチャが変わっているはずです。
0216名前は開発中のものです。2007/07/15(日) 22:30:44ID:YU7A9b2a
あと
・できればD3D8やOpenGLでもsetPixelShaderTextureを実装
・ボリュームテクスチャやキューブテクスチャの対応
したいんですが、難しそう・・
0217名前は開発中のものです。2007/07/18(水) 16:54:07ID:siT7N+Pd
irrlichtの3D周り以外をDXライブラリで補うことはできませんかね。
そうすれば非常に使いやすい物になりそうなんですが。
0218名前は開発中のものです。2007/07/18(水) 18:07:47ID:Kk6j5tgO
>>217
俺はそれでやってる
02192172007/07/18(水) 18:20:31ID:siT7N+Pd
>>218
SetNotWinFlagでDXの方でウィンドウを生成せずに、IrrlichtDeviceの生成をしてみたのですが、
これだとDXの2D描画機能は使えませんよね。
ここを何とかうまくいかせる方法が知りたいのですが、アドバイス頂けませんか?
0220名前は開発中のものです。2007/07/20(金) 21:47:25ID:gz816Uua
これどうやってαブレンド設定するんですか?
ピクセルシェーダーでαを0.5fにしたりしても反映されません。
0221名前は開発中のものです。2007/07/22(日) 23:24:20ID:dHNqWe5Y
IrrEditで作ったTerrainでコリジョン判定がうまくいかないっす
Demoのソースで読み込みとかcreateCollisionResponseAnimatorやってるけど
うまくいかないでっす サンプルとかないですかね。
0222名前は開発中のものです。2007/07/24(火) 16:40:21ID:GWz2iQy5
モデルに透過したテクスチャを表示したいのですがうまくいきません。

// 必要なものを用意
IrrlichtDevice *device =
createDevice( EDT_DIRECT3D9, dimension2d<s32>(800, 600), 16,
false, false, false, 0);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();

// 画像を読み込みテクスチャを透過する
ITexture* images = driver->getTexture("texture.bmp");
driver->makeColorKeyTexture(images, position2d<s32>(0, 0));

// メッシュを読み込みノードを生成しテクスチャを貼る
IAnimatedMesh* mesh = smgr->getMesh("mesh.x");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode(mesh);
node->setMaterialTexture(0, images);
node->setMaterialFlag(EMF_LIGHTING, false);

driver->draw2DImageでテクスチャが透過されていることは確認しています。
ですが、実際にはテクスチャが透過されないまま貼られてしまいます。
どこが間違っているんでしょうか・・・
0223名前は開発中のものです。2007/07/24(火) 20:23:31ID:IJhrCg6D

EMT_TRANSPARENT_ALPHA_CHANNEL
EMT_TRANSPARENT_ALPHA_CHANNEL_REF
02242222007/07/24(火) 21:45:32ID:GWz2iQy5
>>223
できました。ありがとうございます。
0225名前は開発中のものです。2007/08/17(金) 16:36:03ID:6fURu5ue
サウンド鳴らしたり、
JoyStickを使ったりキーボード同時押ししたりしたいんだけど、
どのライブラリと組み合わせるのがいいのかねえ?
やっぱSDLか。
0226名前は開発中のものです。2007/08/17(金) 21:21:07ID:JOm4yoYn
>>225
SDLがいいだろね
1.3.1からSDLスクリーンを"_IRR_USE_SDL_DEVICE_"で指定できるらしいから

- Added an SDL device for cross-platform window support. Especially useful
for embedded systems and others without hardware acceleration. This device
is mutually exclusive with the other devices and requires linking against
the SDL library.
■ このスレッドは過去ログ倉庫に格納されています