鬱だ氏のう DirectX (Part 9)
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001998 ◆oqSJWu4Ch2
NGNG技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。
ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
0002998 ◆oqSJWu4Ch2
NGNGPart 1 http://piza.2ch.net/tech/kako/966/966655286.html (迷子)
Part 2 http://pc2.2ch.net/tech/kako/997/997101556.html
Part 3 http://game.2ch.net/gamedev/kako/1005/10051/1005119775.html (ゲ製作板)
Part 4 http://game.2ch.net/gamedev/kako/1016/10162/1016276254.html (ゲ製作板)
Part 5 http://game.2ch.net/test/read.cgi/gamedev/1027351925/ (ゲ製作板)
Part 6 http://game.2ch.net/test/read.cgi/gamedev/1033920036/ (ゲ製作板)
Part 7 http://pc2.2ch.net/test/read.cgi/gamedev/1039509250/ (ゲ製作板)
Part 8 http://pc2.2ch.net/test/read.cgi/gamedev/1046676308/ (ゲ製作板)
/** 外部 **/
MSのDirectX関連ページ
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.asp
- MSDN>DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
http://www.netsphere.jp/dxinfo/
- BBX(掲示板)
http://isweb8.infoseek.co.jp/computer/bbx/
- spin
http://spin.s2c.ne.jp/
- 宇治社中改(3D基礎講座)
http://www.cc.rim.or.jp/~devilman/
0003998 ◆oqSJWu4Ch2
NGNG- DirectX C# vol.1
http://pc2.2ch.net/test/read.cgi/tech/1040435898/
- vb.NETでやるDirectX
http://pc2.2ch.net/test/read.cgi/tech/1039357620/
- Direct3D
http://pc2.2ch.net/test/read.cgi/tech/1011762546/
- DirectShowと戦うスレ
http://pc2.2ch.net/test/read.cgi/tech/1026666092/
- OpenGL VS Direct3D
http://pc2.2ch.net/test/read.cgi/tech/1044308707/
- C++相談室 part19
http://pc2.2ch.net/test/read.cgi/tech/1052625846/
- ★初心者にVisual C++を教えるスレ★ Part6
http://pc2.2ch.net/test/read.cgi/tech/1052931903/
- Win32API 質問箱 Build11
http://pc2.2ch.net/test/read.cgi/tech/1052651750/
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG1000ワラタ
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGゲ制作技術
http://pc2.2ch.net/gamedev/
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGこっちへ誘導しろよ。
鬱だ氏のう DirectX (ゲ製作技術避難所)
http://bbs.gamdev.org/test/read.cgi/gamedev/1054109966/
0013デフォルトの名無しさん
NGNGおつかれ、なんかこっちでやるのは懐かしい気すら
0014デフォルトの名無しさん
NGNGまあ、ゲ製板避難所のスレと平行してやってくってことで。
0015工房って高校生?
NGNGサンプルやヘルプ、WinAPIバイブルと格闘して初期化して何も描画しないプログラム
(Tutorialの01と同じ結果になる物)を組んで見ました。
一応、Libryにしたいので処理を分けて組みました。
VC++6.0 DirectX9 Win2000環境です。
一瞬上手く行ってる見たい何ですが、テストアプリケーションを落すと
Clearメソッドで例外ハンドルを指してデバッグモードになってしまいます。
これってアプリケーション実行中はINVALIDCALLを返してないので
開放時の問題でしょうか?
悩む事三日目の悩める高校生です。どなたか助けて下さい。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGどこにどう処理をわけたのかわかんなきゃ答えようがない質問だと思うんだが。
0018デフォルトの名無しさん
NGNGここら辺りがよくわかりませんな。
0019工房って高校生?
NGNG処理を分けたってのは、初期化してグラボの性能みてデバイス制作部分(関数単位)
とClearだけ実装した関数、Presentだけ実装した関数、Windouwsの処理部分
各オブジェクトをReleaseする部分と分けたのです。
つまり、ソースファイルなりLibなりをプロジェクトに組み込めば
関数単位で呼び出してアプリを構築出来る様にしたいのです。
で、Clear部分は、Libraryのglobal領域にZバッファやステンシルを使用したかの
フラグがありそれを見て適応したクリアーを呼び出してるのです。
引き数にXRGBの型を渡せるようにしてあり、任意のカラーでクリアできます。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG六つのチュートリアルをすべてやってみたほうがいいと思うけど。(すでにやってたらスマン)
>>アプリを終了させると、、、
WM_DESTROYメッセージでどんな処理をしてるの?
g_pd3dDevice->Clear(...); はどこで処理してます?
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGうまく設計されている可能性はゼロ
0025デフォルトの名無しさん
NGNG安心しろ、誰もパクらんからw
0026デフォルトの名無しさん
NGNGどれが出来が良いのかな?この板(スレ?)的にお勧めが
あったら教えてください。
0027工房って高校生?
NGNG親身な問い、辛口問い、でしたが一人で詰まっていたら解決しなかったです。
ちなみに、問題は設計でした。
Windowsのメッセージ処理で各オブジェクトを開放したあとも
一回だけClear,begin,end,presentが回ってしまい
Clearの呼び出し前に!NULLの条件を付けたら問題はなくなりました。
勿論、beginやpresentにも付けてなかったです。
精進が足りないみたいです。
ちなみにVCはもっと精進が足りません、MFCはチンプンカンプンで
デバッカで変数の値やアドレス追う程度しか使えません。
0028デフォルトの名無しさん
NGNGよほど高度な機能があってサポートが期待できない限り、
(ぶっちゃけ市販のゲームエンジンほどに)
DirectXを生で使うのが一番いいんじゃないかと愚考します。
0029デフォルトの名無しさん
NGNG同意。
質問文からはどの程度の機能があればいいのかもサッパリわからんしね。
そこそこいいんじゃないか、と思うのがLuna。
ttp://www.twin-tail.jp/
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGただしそれは自分が使うために機能をまとめることであって、
それをわざわざ他人にしてもらう必要性がないということ
0032デフォルトの名無しさん
NGNGさすがにシーンクラスは作るけど……。
0033デフォルトの名無しさん
NGNGCD3DApplicationに不満を覚えて自分でフレームワーク作ったけど、頭痛いトラブル続出で、
ほぼ安定した今でも素直にCD3DApplication使ったほうが苦労がなくて済むんちゃうかと
揺れてる今日この頃。
003426
NGNG生で使うのは難しくはないでしょうか?
というか知り合いにそういう風に脅されてまして。
C言語は一通り勉強してて、UNIX上で小さなゲームやら
システムやら開発したことはありますが、Windowsプログラミング
に関しては素人で、DirectXもまだ扱ったことがありません。
いずれは自力でDirectXのコードを書く予定なので、それくらいなら
はじめから自分で勉強して自力で記述した方が良いんですかね?
003526
NGNGありがとうございます。
どの程度の機能というのも難しいですが、
ある程度汎用的で、将来自力でやることを踏まえて
良い勉強になるようなライブラリが良いですね。
って要求多すぎっすか?すんません・・・。
最近のDirectXは使いやすいのでしょうか?9.0とか。
あと、皆さんははじめはどのように勉強しました?
マイクロソフトのドキュメントをゴリゴリ読んでいった
んでしょうか?それとも書籍やネットで勉強したんでしょうか?
参考までに教えてくださると嬉しいです。
0036デフォルトの名無しさん
NGNG俺simpleXっていうライブラリ使ってるんだけど
超初心者の俺でもめっちゃつかいやすいよ
あんたもつかってみ
http://www.geocities.co.jp/SiliconValley-SanJose/8134/
0038デフォルトの名無しさん
NGNG本はI/OのDirectX8実践プログラミングがある。周りで評判が良いので買った。
この本は大まかな指針を提示してくれるので、DirectX入門にはよいと思う。
でもDXSDKのヘルプやサンプルが最高の教科書。後はネット上のサンプルなど。
もし3Dデビューしたいのなら、Direct3Dを叩いて勉強するのが一番だよ。
3Dやってく上での問題はAPIの形式じゃないから。
0039デフォルトの名無しさん
NGNGということでしたら、まずはWindowsプログラミングに慣れることから
初めてはいかがでしょうか。
私もはじめてWindowsのコードを見たときは難しそうだなと思いましたが、
Petzoldを読み始めてからは、意外と簡単に感じるようになりました。
DirectXに関しては公式の日本語ヘルプで十分だと思います。しかし、
このヘルプのコードを理解するには、Windowsプログラミングの知識が必須です。
004026
NGNGWindowsプログラミングの知識が必須ですか・・・、
頑張って勉強しようと思います。38さんの仰る本も
今度見てみようと思います。勉強しなければいけないことが
たくさんあるなぁ。早くみなさんの会話についていけるように
頑張りたいです。
0041デフォルトの名無しさん
NGNGhttp://www.ascii.co.jp/pb/msp/36001/36001.htm
004226
NGNGわお、わざわざありがとうございます。このスレの
人たちはホント親切で感動しますた!
個人的にはあの有名な猫でも〜のサイトでも読むか、あの人の
書いた本でも買ってみようかと思ったんだけど、41のがいいっすか?
買ってみようかな。それにしても高い・・・。なんでこんなプログラミング
関係の本とかアホみたいに高いんだろう・・・。書籍もアカデミック版
とか出してくれ・・。
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGWindows Media Player 9 で、avi ファイルとか再生して、
そのあと更に別のファイルを見ようと、ファイルを Media Player 9 に投げると、
必ずといっていいほど、"ASSERT Failed" というダイアログが出てくる。
DirectShow あたりのソースコードでアサートに引っかかってるみたいなんだけど……
(ちなみに、Media Player 6.4 での再生だと出てこない。)
更に、MIDIシーケンサの「Sonar 2.1」で、VSTプラグイン等を設定しようとすると、
やっぱり似たような アサートダイアログが出てくる。
正直鬱陶しい。
DirectX コンパネでの、デバッグ出力レベルをすべて Less にしても出てくるし、
Retail 版のランタイムを使用する設定にしても出てくる……
……これって、どうにかならんのですかね?
004626
NGNG一応あったが・・、1989年出版って・・、初版かいな!
ある意味貴重かもしれないけど。
>>43
図書館に頼んだら入れてくれますかね?
0047デフォルトの名無しさん
NGNG図書館によると思われ
>>45
解決方法知らないから力になれんが、こっちも参考に見てみるといいかも。
ttp://pc2.2ch.net/test/read.cgi/win/1053402028/l50
ttp://www.experts-exchange.com/Networking/Broadband/DSL_Cable/Q_20294228.html
004826
NGNGpetzold。高かった・・・。まぁ先行投資だと思って頑張ろう。
DirectXへの道のりは遠いのであった・・・。
スレ違いスマソ。
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNGhttp://www1.free-city.net/home/s-rf9/page002.html
0051工房って高校生?
NGNG8.xの頃のFVFは使い方は分るのですが、VERTEXELEMENT構造体についてです。
頂点データの構造体を宣言して、一つの構造体で座標や法線やUVなどを扱う場合に
VERTEXELEMENT構造体に値をセットする方法は、ストリームを0指定、offsetでストリームを区切ってくと
考えて宜しいのでしょうか?
またその場合(データタイプの宣言時)、実際の頂点バッファサイズ(頂点数)はコーディングするまで未定ですね?
つまりFVF時代は出来た、良く使う宣言をヘッダーに宣言しておいて使うってような感覚で
良く使う組み合わせのVERTEXELEMENT構造体を予め宣言しておくって出来ませんよね?
(offsetが未定の為)
どなたか御講義お願いします。HELPだと上記の理解が精一杯です。
0052デフォルトの名無しさん
NGNG後者はできる。実体をどこかのcppで定義してヘッダでexternなど。
でもそんなことをする必要があるかどうかは疑問。
毎回シェーダにあわせて専用の形式を作ればいいんでは?
0053デフォルトの名無しさん
NGNG全然
0054デフォルトの名無しさん
NGNGスキンメッシュ作成のサンプルってどこかにないですかね。
Xファイルから読み込むやつじゃなくて、
メッシュを新規にスキンメッシュ化する方法で。
ID3DXSkinInfoがうまく動いてくれないんだよ。
0055デフォルトの名無しさん
NGNG自力で頂点の重み付けをしたい、ってこと?
そんなのはLightWaveとかに任せちゃえばいいと思うんだが。
ていうか、D3DXで出来ないことを実装したいのならともかく、何か不満があるの?
基本的なことは大体出来る気がするんだがなあ。
0056動画2音声
NGNGさっそく質問ですが、
DirectShowサンプルとして提供されている
WavDestというフィルタを拾ってきました。
そして、「REGSVR32.EXE wavdest.ax」でフィルタ
の登録もでき、GraphEditで使用できるようになりました。
そこで、CLSIDを定義してプログラム上からフィルタグラフ
マネージャを利用してWavDestフィルタを呼び出したい
のですが、なにをどうしていいかわかりません。
初歩的な質問でもうしわけないですが、
ご教授おねがいします。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNG(゚Д゚)ノ < シェーダ
| ⊃| \__________
| |
⊂ノ〜
∪
0060デフォルトの名無しさん
NGNG名前を変えればバレないかな?
VC++を買う踏ん切りがつかん、、、
0061デフォルトの名無しさん
NGNG再配布パッケージを使いなよ
0062デフォルトの名無しさん
NGNGっていうか、なぜデバッグ環境のを配布せにゃならんのだろう。
0063デフォルトの名無しさん
NGNG不覚にもワラタ
0064デフォルトの名無しさん
NGNGdirectx9 sdkについているdirect graphicsのsampleを
実行すると一瞬だけウインドウが表示されてその後消えてしまいます。
何が原因なのかさっぱりわからずに困っています。
誰か教えてもらえないでしょうか?
0065デフォルトの名無しさん
NGNGそのくらいの情報量じゃ、当人でない人から見たらお手上げだよ。
0066デフォルトの名無しさん
NGNG65に同意。
ただ「消えます」って言われてもねぇ。
0067デフォルトの名無しさん
NGNGDWORD m_Pointsize = 4;
hr = m_pd3dDevice->SetRenderState(D3DRS_FILLMODE, D3DFILL_POINT)
hr = m_pd3dDevice->SetRenderState( D3DRS_POINTSIZE, *(DWORD*)&m_Pointsize);
として描画しようとすると、描画時に
Direct3D9: (INFO) :Result of drawing primitives with D3DFILL_POINT fill mode
and point size not equal 1.0f could be different on different devices
と出ます。
REFの場合、正しく描画されますが、HALの場合は1ポイントで頂点が描画されます。
HAL時にD3DCAPS9.MaxPointSizeを調べ、64でしたので、HALの制限ではないと思います。
「ポイントサイズが1じゃないと、他のデバイス上で描画結果が異なるかも」
というのは分かったので、この情報がもうでないようにする方法と、
HALで正しく表示させる方法に、心当たりがあれば教えてください。
0068デフォルトの名無しさん
NGNGDWORD じゃなく float でサイズ指定しないとまずいのでは?
006967
NGNGhr = m_pd3dDevice->SetRenderState( D3DRS_POINTSIZE, *(FLOAT*)&m_Pointsize);
と、やってみましたが、だめでした。
また、ヘルプに
「Direct3DDevice9::SetRenderState メソッドは DWORD 値を使うため、
次のコードに示すように、アプリケーションでは値を格納した変数を
キャストしなければならない。
pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&PointSize));」
と書いてるので、ここが原因ではないと思います。
0070デフォルトの名無しさん
NGNGD3DFVF_PSIZE あたりが臭いような。
何の根拠もないけど……w
007154
NGNGいや、Mikotoもどきを作ろうとしているんだよ。
それに動的なボーンの追加、変更とかをやりたいんだ。
LightWaveは高いって。
MikotoがXファイルに出力してくれれはいいんだが。
0072デフォルトの名無しさん
NGNGSetRenderStateのプロトタイプの型がDWORDだからfloatで直接渡せないので
型を騙してコンパイルを通すようにしているだけ
float値が必要なのにDWORDの値を送ったら正常に動かないのは当たり前
少しは考えろ
0073デフォルトの名無しさん
NGNGんー、それは要するにハードウェアが対応してないってことでは?(w
MAXPOINTSIZEって、もしかするとポイントスプライトの時専用だったりするとか、
そういうことはないかね。
>>68
そのままだとDWORDに暗黙変換されるから、ああやってメモリイメージ渡すのよ。
>>71
自力で頂点重み付けをしたいと。。。
ぶっちゃけその辺のサンプルは見たことがないっす。
しらみつぶしに頂点に最も近いボーンに関連付けさせるしかないんでは…
もちろん、二つのボーンに影響しそうな部分は適当にブレンドして。
Gemsにスキニングの話があったような気がしないでもないなぁ…。
0074デフォルトの名無しさん
NGNGいや、だから本人はそうやっていたんでは?
68が言ってるからわざわざ試しただけで。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG書いてあることを考えようともしていないだろう
それとも説明されても分からないほど馬鹿なのか?
floatの構造を持つデータをDWORD型と騙してプロトタイプを回避するように、
ヘルプにも書いてあるだろ
>>68が言っていることを試したって、やっていることを全然はき違えている
>>67の段階で
>DWORD m_Pointsize = 4;
何故この程度の間違いに気が付かない?
007769
NGNGfloatm_Pointsize;
hr = m_pd3dDevice->SetRenderState( D3DRS_POINTSIZE, *(DWORD*)&m_Pointsize);
floatm_Pointsize;
hr = m_pd3dDevice->SetRenderState( D3DRS_POINTSIZE, *(float*)&m_Pointsize);
DWORDm_Pointsize;
hr = m_pd3dDevice->SetRenderState( D3DRS_POINTSIZE, *(DWORD*)&m_Pointsize);
は試しました。
だめだったけど。
0078デフォルトの名無しさん
NGNGFAQのような気がしますが、答えを見つけられなかったので質問させて下さい。
画面サイズは640x480を考えています。
以前は、テクスチャサイズが2のn乗でなければならないという制限があったと
思うのですけれど、試してみたところ640x480のテクスチャでも表示できてい
ます。(DrawPrimitiveでテクスチャを描画しています。)
DirectXが新しくなって、テクスチャのサイズの制限がなくなったのではと少
し期待しているのですが、これは、たまたま私のビデオカードで表示できてい
るだけで、ビデオカードによっては表示されない場合があるのでしょうか?
以前のDirectXのマニュアルには「テクスチャサイズは2のn乗にしろ」という
ような記述があったような気がするのですが、DirectX9のマニュアルでは見つ
けられません。
007968
NGNG正しいのは一番上のやつです。
>DWORD m_Pointsize = 4;
だけ見て書き込んじゃったけど
エラーメッセージ見てみたら D3DFILL_POINT がまずいんじゃない?
D3DFILL_SOLID でやってみるといいかも。
0080デフォルトの名無しさん
NGNG申し訳ないが適当にソースを読んでたのが悪かった。
だからってなんでそーいう攻撃的な発言するんだ。
正しいこと言っててもそれじゃ敵を作るだけだ。
>>77
floatで宣言した変数をDWORDに代入すると暗黙の変換が起こるだろ?
ソレを避けるためにFLOATのメモリイメージを77の一番上の方法で渡すの。
>>78
nVidiaの一部のドライバが2^nじゃないテクスチャにも対応していたらしい。
やっぱり2^n制限はあるから2^nで作るとよいです。
0081デフォルトの名無しさん
NGNG会社や学校で嫌われていないかい?
0082デフォルトの名無しさん
NGNGD3DPTEXTURECAPS_NONPOW2CONDITIONALでヘルプを検索。
0083デフォルトの名無しさん
NGNG2ch中毒、疑心暗鬼
>>81
不毛
0084デフォルトの名無しさん
NGNG008578
NGNG>>82
ありがとうございました。モヤモヤしていたのがクリアになりました。
うちは、ATI RADEON9000なのですが、DirectX Caps Viewerで見ると、
確かに D3DPTEXTURECAPS_NONPOW2CONDITIONAL がついていました。
やはりテクスチャを分割して組み合わせないといけないということですね。こ
ういう場合、皆さんはあらかじめグラフィックファイルを256x256などに分割
したりしているのでしょうか?それとも、ファイルを読み込んでから、分割し
てテクスチャにコピーしているのでしょうか?
D3DXCreateTexture系の関数で手抜きをするとなると、後者は難しそうですね。
この辺をうまくラップしてくれるようなスプライトライブラリは公開されてい
ないですかねぇ。なければ自分で作るしかないですが。
0086デフォルトの名無しさん
NGNG拡大フィルタだったかなんだったか忘れたが、その辺の設定をするべし。
分割して組み合わせってのは、テクスチャメモリを効率よくさせたいということかね?
それは普通はめんどくさいから、画面サイズより大きなテクスチャを確保する。
例えば640*480の画面に一枚絵を張りたいなら1024*512のテクスチャを用意。
流石に256*256が限界なVGAは無視してもかまわんと思う。
そのようなVGAはちょっと古すぎだし、3Dのサポートもままならん。
008778
NGNGD3DCreateTexture*Ex()で、Width,Heightを1024,512にして、Filterを
D3DX_FILTER_NONEにして、テクスチャ座標を
(0., 0.)-(640./1024., 480./512)にして期待通りに動きました。
これでずいぶん楽になります。
あとで、他のビデオカードでもうまくいくか、試してみます。
テクスチャ座標の誤差が出て、ピクセルが欠けたりしないかちょっと心配して
しまいますが、3DのAPIっていうのはこういうものなのでしょうね。
基本的な質問に、重ね重ねありがとうございました。
008886
NGNGピクセルは点のように思えがちだが、面積を持つ正方形ということらしい。
だから640*480の画面のスクリーン座標は(-0.5,-0.5)-(639.5,639.5)になる。
008986
NGNG(-0.5,-0.5)-(639.5,479.5)だぜ
鬱死
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGあとはグラフィックプロセッサがどうラスタライズしてるかですな。
>>89のようにちゃんと座標合わせてフィルタ切っておけば
まず100%正確な描画は保証されると思う。
バイリニアでもたしか各ピクセル±1〜2くらい誤差が出たと思ったけど、
見た目で分かるほどではない。
0092デフォルトの名無しさん
NGNG「This program uses the reference rendering device.
Your computer has a reduced-functionality reference device installed.
You can still use this program to manipulate textures, but the textures will not be visible in this program.
Install the DirectX SDK to install the reference device.」
というコメントが出ます。翻訳したところ、
「テメーの状態では全ての機能が使えない。SDK入れろ」と言われているようです。
DirectXSDK8.1bを入れているのですが、まだ何か足りないのでしょうか?
0093デフォルトの名無しさん
NGNGOpenGLのプログラムをDirectX9に移植しています。
作業はおおむね順調で、大部分はすんなり移植できたのですが、
2つほど問題にぶつかってしまいました。
1. DrawPrimitiveで D3DPT_LINESTRIP をかくときに、 線種/線幅は
どうやって指定するのでしょうか? 線種に関しては、DirectXのヘッダをのぞくと
D3DLINEPATTERN なんてのがあってそれっぽいことができそうなのですが・・・
線幅はまったく情報がつかめませんでした。
2. テクスチャに関しても DrawPrimitiveUP のように メインメモリのデータを
直接テクスチャとして貼り付けることはできないのでしょうか?
現在は pTex->GetSurfaceLevel()で取り出したサーフェスに対して
D3DXLoadSurfaceFromMemory() を呼び出していますが、
OpenGLに比べてだいぶ遅くなってしまいました。
(OpenGLで glBindTextureを毎回呼び出したときぐらい遅い)
開発環境は VC++です。以上、よろしかったらご教授お願いいたしますです。
0094デフォルトの名無しさん
NGNG2→CreateTextureでD3DUSAGE_DYNAMICを指定すると、動的テクスチャを作ることができます。
ただ、D3DPOOL_DEFAULTなんかと一緒に指定しなきゃいけなかったり制約があるので、
その辺はヘルプを参考にしてくらはい。
0095デフォルトの名無しさん
NGNGピクセルが欠けたりはしないけど、色が微妙に変わってしまうことがあるから
100%正確ではないな。32bitカラーでRGB値が1小さくなったりする。(GeForce)
>>93
Direct3Dでは線種/線幅の変更は不可能。
線種はテクスチャで、線幅はポリゴン化して自分で処理する必要有り。
DX9ならID3DXLineがやってくれるから、そっちを利用するのがいいかと。
それと、メインメモリのデータをテクスチャとして貼ることもできない。
必要なら毎回転送しないと駄目。
D3DXLoadSurfaceFromMemoryはピクセルフォーマットの変換をしながら
1ピクセルずつCPUが更新していくから、フォーマットの変換がいらない
場合はUpdateTextureかUpdateSurfaceで転送した方がいい。
(メインメモリ側のバッファもTextureやSurfaceにする必要有り)
頻繁に更新するテクスチャはD3DUSAGE_DYNAMICを指定するのも忘れずに。
009693
NGNGまだ触り始めて1週間ぐらいの感想ですが、
OpenGL も DirectX も一長一短がありますね。
でも、DirectX の方がローレベルなところまで細かく制御できて
面白いです。
ちなみに、その他のOpenGLオンリーの便利機能は
・セレクション/フィードバック
・ディスプレイリスト
あたりかと思ってますが、あってますかね?(DirectXにももしかしたらあります?)
本当にセレクションがないとしたらちょっと残念。
0097デフォルトの名無しさん
NGNGことになってる。
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG0100工房って高校生?
NGNG3Dモデルを空間内で座標変換しビュウ画面にスキャンラスタライズして描画する部分の説明を読んでると
座標変換やシェーディングしたojbectのピクセル単位の描画などは、
とても簡単に実装できるようになってると思います。
DirectDrawとの比較は分りません。8.1からのヒヨッコ世代ですので。
0101デフォルトの名無しさん
NGNG持ってる人とかURL知ってる人とかいたら教えてくれませんか?
おながいします。
0102デフォルトの名無しさん
NGNG俺は7までしか使ったことないけどそんなにいいの?
簡単になったとか?
0103デフォルトの名無しさん
NGNGかゆいところに手が届かなくなって、大雑把になってしまった。
例えばプライマリサーフェスに直接描画なんてできなくなった。
初期化関係はCheck系のメソッドが出来たおかげで、ある程度限定した
用途ならEnum系を使わなくても済むようになって楽にはなったけど。
でも、初期化なんて1回書いたら終わりだし。
0104デフォルトの名無しさん
NGNG7以前でもバックバッファに書くものだと思うんだけど、何故プライマリ?
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG俺も工房だが。
0107デフォルトの名無しさん
NGNGたまにはプライマリに描画したくなることもあるんだよ。
普通に必要だったら、使えなくなってたらかゆいところどころの話じゃない。
0108デフォルトの名無しさん
NGNGいつまでフロントバッファ直描きにこだわってますか。
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG使わないものを比較に出されても困る・・
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGポマードはたっぷりつけるんだ。
0113デフォルトの名無しさん
NGNGマルチテクスチャに対応していないビデオカードで
マルチテクスチャを表示しようとすると、
動かない、表示しない、のどちらになるんでしょうか?
SetVertexShaderの時点で止まりますか?
0114デフォルトの名無しさん
NGNG0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG自前でやろうとした所、LockRectがどうしても失敗してしまいます。
POOL_DEFAULTは駄目だそうなので、POOL_MANAGEDにもしました。
何か心当たりのある方いらっしゃいますでしょか。
0117デフォルトの名無しさん
NGNG一度でも音を鳴らした後に終了すると以下のエラーがでます。
(無音のまま終わらせるとでない)
ASSERT Failed
g_cFGObject == 0
At line 5868 of d:builds\nt32_chk\multimedia\dshow\filters\core\filgraph\filgraph\filgraph.cpp
このg_cFGObject == 0って何でしょうか?
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG初歩的な質問かもしれませんが、
DirectShowのソースってどうやって見るのでしょうか?
(libの中のソース?)
0120デフォルトの名無しさん
NGNGそれが0ということは作成されてないとか?
あるいはオブジェクトが削除されたということか?
0121デフォルトの名無しさん
NGNG分かりました。
どうもCoCreateInstanceを2度やっていたのがまずかったようです。
空のIGraphBuilderが生成されちゃってたという事でしょうか。
お騒がせしました。
0122デフォルトの名無しさん
NGNGどうやれば直りますかね?
0123デフォルトの名無しさん
NGNGだからライトを無効にすればいいだろうがボケ
0124デフォルトの名無しさん
NGNG法線が明後日の方向むいてんじゃないの?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGシェーダで書いたほうが直感的で分かりやすいとか思うようになってきた
フォンシェーディングとかも出来るし
0127デフォルトの名無しさん
NGNGPresent()すると、メニューが上書きされてしまいます。
DirectDraw時代のClipperみたいなものはないのでしょうか?
D3DPRESENT_PARAMETERSのSwapEffectは、D3DSWAPEFFECT_COPYを使っています。
皆さんどうされているのでしょうか?
また、参考になるWebページなどをご存知でしたら教えて頂けませんか?
0128デフォルトの名無しさん
NGNG#include <dxerr9.h>
でインクルードして、
DXTRACE_MSG( "メインウインドウ作成に失敗" );
のように使っています。
c:\dxsdk\include\dxerr9.h(26)の
// Return: Converted string
//
const char* WINAPI DXGetErrorString9A(HRESULT hr); ←ここにカーソルが来る
const WCHAR* WINAPI DXGetErrorString9W(HRESULT hr);
C++で使っているせいかなぁと思うのですが、原因は何なんでしょうか?
0129デフォルトの名無しさん
NGNG0130デフォルトの名無しさん
NGNGHSPプログラムコンテスト2003オンライン投票
http://www.onionsoft.net/hsp/contest2003/entryn1.html
HSPプログラムコンテスト2003に一番乗りで出展したものの
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8
でいままで送信されたコメントが見えるよ!(けっこう笑える)
順位 http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGレイトレっぽいのに使ってね、って意図だからじゃない?
ちなみに速度と角速度をパラメーターにもつ
楕円体と平面の交差判定は14次元の多項式になる。
こんなもん自分でなんて作ってられないよね。
Direct3Dとは別に、本格的な汎用ゲームAPIが欲しい。
BPSとかでゲームシーンを簡単に構築出来るやつが。
0133デフォルトの名無しさん
NGNG同意。
PixelShader1xは、まだ制限がきつくて別の意味で難しいけど
2x以上なら格段に楽になる。
ステートの方は直感的じゃなくて、覚えるのが苦痛。
0134デフォルトの名無しさん
NGNG球と球の交差だけは勘弁してくれ。
ヘルパー関数無しでも流石にできるだろう(w
0135デフォルトの名無しさん
NGNGうんできるよ。でもあったらいちいち新しい関数書かなくていいから便利だし。
0136132
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNGまさかID3DXMesh同士でやるわけにもいかないし
それようの新たなオブジェクトが必要になるよね。
やっぱりそれぐらいが3DAPIの限界かもね。
でもそれをやってくれたら、世界が広がるっつーか
敷居がもう一段低くなるのにな。
0139デフォルトの名無しさん
NGNG敷居がもう一段低くなるのにな。
0140デフォルトの名無しさん
NGNGありがちな返答だな。
こういう文句は全部やった上での
感想みたいなもんだよ。
まさか昨今のゲームや3Dアプリレベルの代物が
個人がゼロから作れるなんて思ってやしないだろ?
いったいどれだけの労力がかかるか。
それらを作るのに時間を浪費した
その見返りに金でももらえるんなら喜んでやるさ。
妄想なんて語らんよ。
0141デフォルトの名無しさん
NGNGあと敷居は低ければ低いほど良い。
これは俺の持論。
君みたいな人は気に入らないんだろう。
自分が今まで積み上げてきた、言わば自分の特技
アイデンティティ的ものが、ぽっと出の奴等に
APIコール1つで実現されちゃたまらんわな。
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG処理を理解しないで関数呼んでじゃロクな実装にならんだろ。
多分、思うような実装にならずD3DXは使えんとか言い出すのがオチ。
そもそも誰でも共通で使える処理なんて基本の処理だけで
それ以上は、自分で必要な処理を加えて自分なりの処理になるもんだ。
関数クレクレ房は、自分が実装できずにいる能力の無さを棚にあげて何を言ってるのやら。
0144デフォルトの名無しさん
NGNG>共通で使える処理なんて基本の処理
だからこの部分を定式化してあればラクだなと。
俺が指しているのは最初から最後までこの部分だよ。
結局は誰が作っても各オブジェクトが区分木に分割されて
保持され、バウンディングボックスで衝突判定されて
ビューボリュームでカリングされるエンジンになるんなら
最初から作ってあった方がラクじゃない?
勘違いしないんで欲しいんだけど、「能力」じゃなくて「労力」
確かに能力はないけど、能力がないからクレクレ言ってる訳じゃない。
労力がないから言ってるの。
君のような意見の方はザラにいるけど、逆に実際に取り組んだことがあるのかと
勘ぐってしまうよ。
0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGま、プログラミングするならとりあえず末端まで理解しとけってのは正論だが、
すべてのことに首を突っ込み、あまつさえ自分でコードを書きたがるようなヤツは、
これからはフェードアウト組確定だろうよ。
何かオンリーワンの技術を持つでもなく、
ありものを組み合わせて優れたソリューションを提示できるでもなく、
車輪の再発明に無駄なコストをつぎ込んでるだけなんだから。
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNGDirectXで提供されてるかの違いだけだろ。
マジで、クレクレ房はプロジェクト毎にコピる事すら出来ないのか?
労力やありの物なんて言って奴は、絶対に実装出来てない&理解出来てない奴だろ?
一応さ、DX8の頃の3D系算術処理や物理処理は自分(あま、会社か)のPS2用のをC++に直して使ってるよ。
関数のヘルプ見て、関数呼び出すのとなんら手間なんて変わりませんでしたが?
(むしろヘルプ見たりヘルプで調べたりが無い分、手間はかかってないかと)
DX9では、まんま使いまわしだしさ…(シェーダーの部分を少しイジッた程度)
出来る&理解してるが、関数欲しいって言って奴は
マジでソースの資産化が出来てないのか、嘘付いて出来てない&理解してないんか?
と勘ぐってしまうよ。
0150デフォルトの名無しさん
NGNG>労力がないから言ってるの。
一応、日本語の突っ込みを入れると
能力がないんなら、それが労力がない原因だと思うよ…
…その意見や考えで仕事をする奴を、俗に使えない奴って…
0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG>まさか昨今のゲームや3Dアプリレベルの代物が
>個人がゼロから作れるなんて思ってやしないだろ?
モデルやモーション、テクスチャやグラフィックが大変なのであって
貴方の求める機能の部分は用意されていても、無くても開発スピードになんら影響しないよ。
理解出来なくて組めなくて、お勉強に時間がかかるから用意して欲しいんじゃないの?
本当に全部やったのかな?
自分の能力の無さ、理解力の無さを棚に上げるようにしか聞えんよ。
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGお互い電柱を相手にファイティングポーズ取ってるように見える。
0155デフォルトの名無しさん
NGNG> マジでソースの資産化が出来てないのか、嘘付いて出来てない&理解してないんか?
理解度と、ありものを使うかどうかは別の問題だろう。
FFT理解してても、MP3とかOgg Vorbisとかを自分で作り直したりはせんのと同じで。
いや、意地でも再発明してるヤツもいるかも知れんが……。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGつまり、同じデータを複数が同じく処理できるようにあるものじゃん。
で、ゲームの処理なんてゲームごとに違うのに
クレクレの挙句、全てのゲームでまったく同じ処理をしてる如くの発言。
最適化や独自データ形式なんて縁がない人なのか?
モデルもXFileじゃないと描画出来ないとか、Xfileに変換するプラグインとか
言っちゃうレベルの奴だったりして…
0158デフォルトの名無しさん
NGNGだからキミが誰を叩いてるのかわかんねーよ。
0159デフォルトの名無しさん
NGNGいかにも古い世代の思い込みだね。
テレビゲームごときに一体どれほどの処理の幅があると言うんだい。
そりゃゲームそのもののロジックは個々に違うが、
他は今のハード性能をもってすれば容易に共通化・汎用化できるものばかりだろ。
こういう極めて高度な汎用エンジンが出てくる情勢について、何か思うところはないのか?
ttp://www.4gamer.net/specials/gdc24/cry.html
それとも、居場所がなくなる危機感を抱いてるからこそヒステリックに否定するのか。
というかスレ違い気味だが。続きはこの辺でどうかね。
ttp://bbs.gamdev.org/test/read.cgi/gamedev/1054235183/
0160デフォルトの名無しさん
NGNG無料配布のDirectXとミドルウェアを比べている時点で理解してないだろ。
例えるなら、本屋のレジ横にある無料の冊子に
3Dの数学と物理の処理が全て記述してあるのが当然のような発想だ。
0161デフォルトの名無しさん
NGNGゲームだからこそ共通には出来ないんだが
たしかにQuake系なんかのシステムは売られていて共通化できる
しかし似たり寄ったりのゲームになってしまって飽きられる
そしてツクール系と同じ現象が起こることになる
似せないように作ろうと、用意されているものの範疇をこえれば、
結局自分で何かしらを作らなければならない
0162デフォルトの名無しさん
NGNGCRYエンジンは、今までのQuake系とかツクール系のような
応用範囲が限られるエンジンじゃないから騒がれているのでは。
この3次元世界の事象をあらかた網羅されて、それを自在に扱えるとなれば
描画系や力学系にはもう仕事残ってないじゃん。
0163デフォルトの名無しさん
NGNGSOLIDとかOPCODEとか使ったら?
0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGそのCRYエンジンとやらを導入すれば、
物理計算や描画全て上手く行くとでも思っているのかな。
そんなのMAYA導入してCG制作は何でも出来るとか言ってるのと同じ位勘違い。
MAYAならデザイナが、そのエンジンならプログラマ?(オペレーター)が使いこなせないと意味がないでしょ。
でだ、3Dの数学的意味や物理の意味を知らずに使いこなせる訳が無いでしょ。
マニュアルも理解出来ずに宝の持腐れがオチ。
0166デフォルトの名無しさん
NGNG知らなかったらその辺の入門書にありそうなメッシュの表示程度しかできないし
0167デフォルトの名無しさん
NGNGDirectShowを使っていろいろなファイルを再生しています。
ファイルとしてならば再生できるのですが、次に、
データとして再生をしてみたいと思うのですが、そんなことができるのでしょうか?
たとえば一つのファイルの中に五個のデータが以下のように
連結されているとします。
|----------------|-------------|------------------|-----------|
一つのファイルとして一つのデータならば通常通りにすればよいのですが、
連結されたファイルの中で、ある一定の点から一定の点までを指定して
再生してみたいというわけです。よろしくお願いします。
とりあえずヘルプは目を通したつもりです。
うまい具合にIMediaSeekingインターフェイスを使えば
できそうな気がしないでもないですが…。
0168167
NGNG0169デフォルトの名無しさん
NGNGそりゃそうだ。それについては誰も異議を唱えていないと思うが。
0170デフォルトの名無しさん
NGNGこいつこそ何もわかってないだろ。どっからMAYAなんて言葉持ってきたか知らんがな。
いや、心当たりがあるが、あいつかな(ワラ こんなところまでご苦労さん 工房ちゃん
0171デフォルトの名無しさん
NGNGexeファイルを実行しても「指定されたパスが見つかりません」とかいって
解凍できないんですよね・・・。どなたかお助けを。
それともWinXPではだめなんでしょうか。
0172167
NGNGそのメッセージボックスが開いている間に
C:\Document and Settings\<<UserName>>\Local Settings\Temp
の中に生成されるフォルダの中に入っていたりします。
0173デフォルトの名無しさん
NGNG責任転嫁はいけません、>>171が駄目なのです
0174デフォルトの名無しさん
NGNGあぁ!ありました。ありがとうございました。
なんかややこしいことになってるんですね。
0175デフォルトの名無しさん
NGNGうっさいヨガ。
MSのサイトではXPはサポートされてないみたいに
書いてあんだよ。
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNGXPでも何の問題もなく展開できたけど?
0179アンチパターン
NGNGこーゆー奴は時間ばっかり使ってボリュームやクオリティの全くないゲームを作る。
処理の一般化もヌルいから同じような処理を何個も書く。
バグが増えまくって手がつけられない。
設計能力が欠落していることが問題だと思われます。
0180デフォルトの名無しさん
NGNG実例を挙げず具体性のない抽象的な言い方をする典型的な例
これを続けると、いつまで経っても収束しない無駄な議論になる
0181デフォルトの名無しさん
NGNG実例なんか挙げたって馬鹿の180にわかるわけないだろ。
無駄なことさせんなよ。
0183デフォルトの名無しさん
NGNG実例を挙げられるような経験が無いのは分かっているので、
無理に突っ張らなくてもいいよ
0184181
NGNGごめんなさいすいませんでした。
0185デフォルトの名無しさん
NGNGオブジェクトを、オブジェクトが向いている方向に移動させることができません。
DOOMみたいな一人称のゲームに良くある移動の仕方のこと(上キーで前進・左右キーで回転など)です。
D3DXMATRIXA16 temp;
if(前進)
{
MatrixTranslation*=*D3DXMatrixTranslation(&temp,0,0,1.0f);
}
if(後退)
{
MatrixTranslation*=*D3DXMatrixTranslation(&temp,0,0,-1.0f);
}
if(左へ回転)
{
MatrixRotation*=*D3DXMatrixRotationY(&temp,D3DXToRadian(-8));
}
if(右へ回転)
{
MatrixRotation*=*D3DXMatrixRotationY(&temp,D3DXToRadian(8));
}
D3DXMatrixIdentity(&Matrix);
Matrix*=MatrixScale;
Matrix*=MatrixRotation;
Matrix*=MatrixTranslation;
DX9.D3DDevice->SetTransform(D3DTS_WORLD,&Matrix);
だと、当然向いている方向へは進まずに、クルクル回りながら前後に行き来するだけです。
カメラの位置は考慮しないものとして、どうすれば上手くいくのでしょうか?
0186デフォルトの名無しさん
NGNGMatrixRotationとMatrixTranslationの掛ける順番変えてみたら?
0187デフォルトの名無しさん
NGNG座標と角度だけ別データを持って、移動量はsin,cosを乗算するだけで出る
最後に位置を行列に入れるだけ
0188デフォルトの名無しさん
NGNGそれってローカル座標を飛び回るときも役に立つのか?
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG描画直前にくっつけるんじゃないか?
0191188
NGNGだからさ、直進してるリフトから回転してるリフトへ飛び移るところとか
想像してよ。
0192デフォルトの名無しさん
NGNG別に、何か不都合が?
0193デフォルトの名無しさん
NGNGローカル座標からローカル座標に変換しなくちゃいけないじゃん。
めんどいじゃん。
足場が回転してたらのってるやつも回転やん。
めんどいじゃん。
0194185
NGNG>MatrixRotationとMatrixTranslationの掛ける順番変えてみたら?
それだと、ローカルの中心ではなく、親オブジェクトの中心(デフォルトだと画面の中心)を回転軸として回ってしまいます。(蚊取り線香みたく)
>座標と角度だけ別データを持って、移動量はsin,cosを乗算するだけで出る
これは、できます。
自分としては行列を使った方がスマートに見えるのですが・・・。
行列よりもsin・cosの方が一般的なのでしょうか?
0195デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG算術関数のラッパーをもっと強化してほしい。
いちいちラッパー作るの面倒だよ。
どうでもいい?
そうかなぁ。
ところでみんな算術ライブラリって自分でつくっちゃうの?
それともあるもの使う?
0200デフォルトの名無しさん
NGNGその発想の根本はプログラマに向いてない事につながってる様な気が…
ラッパー程度で面相なら、プログラム組むの面相、コード書くのも面相。
最終的に、じゃ、人様が作った物を使おう。
それって、アプリのユーザーと何ら変わらないかと。
算術ライブラリについては、手間と思うのは数的処理を理解してないからでは?
別に必要な時に無ければ、その場でちゃっちゃと関数作って感じで
自分のライブラリに足してけば、苦もなく充実して行って
気が付けば、別にD3DXに有ろうが無かろうがって物だね。
処理や数的理解がなく、調べたりして組むのが時間かかるから
面倒とか手間なんて思うんじゃないの?
たかが数分の作業じゃん。この程度が手間ならコード書くのも手間ってレベルでしょ。
プログラマじゃないよ。
0201デフォルトの名無しさん
NGNG経験だけど一番楽なのがプログラムを自分色に染めてしまうのが一番楽。
つまり、他で用意されているラッパーを一切使わずに
自分のやり方で自分用にカスタマイズしてしまうこと。
それってカスタマイズが気が付いたとき程度でいいなら楽だけど
プロジェクトがでかくなるとみんながみんな自分のやり方で操作をしてたら
同じ操作を違う方法で実装する人間が出てくる。
だから同じ操作で千差万別のバグを生んでしまうことがある。
ラッパーははじめにすべてそろっていないと意味がない。
これがDirectXレベルでそろってると楽じゃない?
0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG自分で考えるのは良くない。そんなことしてると
偉くなれないぞ。
0204デフォルトの名無しさん
NGNG教えたくないヤツを断る方便
えらい人はみんな人に聞いて覚えたっていってるぞ
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG一人で組んでるときは気にならないところかもしれないけど、
複数で組んでるときは気付いたら実装じゃ遅いんだよね。
でもって、いまのプロジェクト、なんか算術関数気色悪い感じでできてるし。
で、作った本人、マニュアルも書く気ないみたいだし、
最後まで面倒見る気ないくせに中途半端に実装した挙句、
後は自分で足りない部分足してください、なんて人いるからね。
作ってもらえます?とかいったらキレ気味になるしね。
一つのソースみんなで突くよりはあんたがやるのがスジでしょう?
とかいったらキレかねない。危険だ。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGていうかスレ違いだな……。
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG取り合え図、シナリヲ作れ。
0212デフォルトの名無しさん
NGNG君は人の用意したものを使ったほうがいいんじゃない?
だって面相だもん。
この先どんなに頑張っても、やっぱり面相どまりだと思うよ。
打ってて気付かないのか?面相。
ライブラリにいれとけよ面相。
0213貧乏脱出!これであなたはお金持ち
NGNG本当にお金持ちになるにはやはり「副収入」が必要!
一日30分 おうちでコピペ、コピペ!
嘘だと思うんならランキング見てみてくださいよ↓↓
(直リン不可)
http://www.adultshoping.com/addclickport.cgi?pid=1053353765(直リン不可)
/////// //////// ///////
0214デフォルトの名無しさん
NGNG使いこなしているプログラマはもしいらっしゃるなら
すごい。
0215デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGバージョン定数 でヘルプを検索しれ!
0218デフォルトの名無しさん
NGNG今まで私は7でやってたんですが、そろそろ8あたりに
移行していいかなぁ。新しいもの好きの私としては
今すぐ9でプログラム組みたいところなんだけどなぁ。
0219デフォルトの名無しさん
NGNG但し9世代の機能を何でも使ってよいというわけではない(PS2.0を無闇に使う等)。
0220デフォルトの名無しさん
NGNG俺は8だな。
ほとんどの環境に入ってるし、9にそれほど必要な機能がなかったから
0221デフォルトの名無しさん
NGNG8は駄目なところが大杉。
0222デフォルトの名無しさん
NGNGGetDC復活してるし。
でもユーザに8の環境(というかハードが9未対応)が多いから8で作ってるっス
0223デフォルトの名無しさん
NGNG機能を使わなければ、問題無いのでは?
という訳で、俺は9
0224218
NGNG7とかでやってた折れアホ・・・?まぁいいや。
どうしようかなぁ。9の方が良いみたいなんで、9に
移行しようかな。
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG一概にユーザーが最新版を入れてくれるとは限らなかったりする。
って、うちの環境のことだが。
って、まあ、そんなクソドライバ捨てていいか。
って、そのクソドライバがATIだったりす(ry
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGあんなもんで十分だと思う。
0230デフォルトの名無しさん
NGNG俺は十分過ぎるというか、むしろもっと無駄を削ってコンパクトにして
欲しいと思ってる。
気が向いたときは自分でヘルプの再構築やってるくらいだし。
0231デフォルトの名無しさん
NGNGただし、3Dの基礎知識は前提になってるけど
0232デフォルトの名無しさん
NGNGなってる人にはいらない説明も多いしな、Win32APIの話とか。
まぁ逆に言うと初心者の頃にはすごく助かったわけだが。
0233デフォルトの名無しさん
NGNGいや、全体的にはよく出来てる、の一言なんだが…
0234デフォルトの名無しさん
NGNG困るよりは良いっすよ。MSACMのコードを実装したときは
解説がぜんぜん無くて大変ですた…。
0235デフォルトの名無しさん
NGNGなのですが、2Dのbmp画像を描画するだけでもいろいろ方法が
ありますよね。どういう使い分けをしたら良いのか、良く分かりません。
とりあえずSpriteだけを使っておけばいいんでしょうか。
実行速度などに違いはあるんでしょうか?
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG7あたりまでは、英語ヘルプでは文中に出てくる構造体の名前がリファレンス
ページへのリンクになっていたのに、日本語ヘルプではほとんどリンクに
なってなかったけど、9のヘルプを見た感じだと英語ヘルプを忠実に再現して
るみたいだね。
0238デフォルトの名無しさん
NGNGあんな本にお金使わなかったのに…
0239デフォルトの名無しさん
NGNG切り分けたいのですがいかがなさいますか?
0240デフォルトの名無しさん
NGNGDXに限ったことじゃないが、たまにあるな。
UINT hoge - 符号無し整数
んなこたぁわかってるから何のための引数か書けっての
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGどう混乱したか説明してもらえると更にスレの質が向上いたします。
0244デフォルトの名無しさん
NGNGC++のヘルプと両方見ないとわからない。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGDirectXのバージョンなどによってOSが制限されることってありますか?
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/windows/directx/default.aspx?url=/japan/windows/directx/downloads/drx90.htm
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG文章がおかしいんじゃなくてほとんど何も書いて無い。
0252デフォルトの名無しさん
NGNG>>249
公式サイトにでていたのですね
見落とすなんてお恥ずかしい
もう一点、OSによって機能などが制限されないかと
ふと疑問に思っていたのですがそういったこともないようです
ありがとうございました
0253デフォルトの名無しさん
NGNG640*480のサイズのjpgをD3DXCreateTextureFromFileで
読み込んで、ID3DXSprite::Drawで描画したら何も指定
していなのに勝手に拡大されて表示されてしまいます。
拡大率とかもちゃんとNULLに設定してるのですが。
どなたか原因が分かる方いらっしゃいますでしょうか?
0254デフォルトの名無しさん
NGNG多分、グラボの性能じゃない?
2^nのサイズまでしかサポートしないんだと思うよ。
2,4,8,16,32,64,128,256,512,1024ってな具合。
おそらく640が1024になって、480が512のサイズになってるんじゃない?
0255デフォルトの名無しさん
NGNGなんたら_NONEみたいのを指定すると上手くいくんじゃないかな
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGテクスチャ読み込み時に引数でフィルターを指定して自分で引き延ばしているのに、
勝手にとか責任を他人になすりつける考え方はやめた方が良いよ
0258デフォルトの名無しさん
NGNGお前性格悪いな。初心者に何突っかかってるんだか。
彼女いないだろ。
0259デフォルトの名無しさん
NGNG( ´ー)ρ┳┻┳°σ(ー` )
とはいえ、「コンピュータは人間が思った通りにではなく、教えた通りに動く」ので、
何か変なことが起きるなら、間違いは必ず人間側(大抵は自分)にある。
その辺をちゃんと理解するのが、プログラミングにおける問題解決のコツだ。
と老婆心的うんちく。
0260デフォルトの名無しさん
NGNGの質問はテンプレに入れるべきだな。月1回はこの質問が飛び出す。>>85のように
0261デフォルトの名無しさん
NGNGチュートリアル>プログラムの>パフォーマンスの項にある、
「動的な頂点バッファとインデックス バッファの使い方」について質問お願いします。
今まさに自分がこの状況でして、これだ!と早速USAGE STYLE 2の方で
実装してみようと思ったのですが、ふと疑問が。
毎回変わるデータに対し、PrimitiveUP系関数を使わずに、
わざわざLock&memcpyしてまで、頂点バッファにこだわる利点は何なのでしょうか?
0262デフォルトの名無しさん
NGNG複雑なライティングを使っているような場合は効果が大きい
0263261
NGNGなるほど、ハードウェアTnL…。
ライティングを使わない場合は、それほど考慮しないで良いのですね。
おかげで、使用の是非を検討することができそうです。
レスありがとうございました。
0264185
NGNGレイの当たる角度によって変化するみたいだけど・・・
こいつらを使って、レイの当たった面の角度を求めたりとかできないもんかな?
0265デフォルトの名無しさん
NGNGUPでもハードウェアTnLは使えるよ。
>>261
わざわざLockというが、CPUとGPUが同じメモリに同時にアクセスはできないから、
Lockは最低限必要な処理だよ。マルチスレッドプログラミングの経験があれば
自然と分かるかと。
UP系を使った場合でも、結局はドライバ側でLockとmemcpyをしている。
ついでに言うと、多分DrawPrimitiveUPを呼ぶ度にCreateVertexBufferしているかと。
0266デフォルトの名無しさん
NGNG>毎回変わるデータに対し
頂点は変わるかもしれないけどインデックスはあんまし変わらないんじゃない?
少しでも転送量を稼げるかも(ムダかも)。
0267デフォルトの名無しさん
NGNGうまくいきません。
スクリーン座標の点を3Dのレイにした後、
レイの始点に、メッシュ描画時のワールド行列の逆行列をかけて移動させ、
元のメッシュと比較しています。
単純に逆行列をかけるだけではだめなんでしょうか?
メッシュ描画時のワールド行列は
拡大行列 * 回転行列 * 移動行列の順にかけてたものです。
D3DXIntersect()には、
描画メッシュ、
レイの始点にメッシュ描画時のワールド行列の逆行列をかけた点、
レイの方向、
を設定しています。
ワールド行列が移動行列のみの場合はうまくいきます。
行列が拡大行列や回転行列を含む場合には、別の処理が必要なのでしょうか?
0268デフォルトの名無しさん
NGNGZの値はどうしてるの?
>元のメッシュと比較しています。
なんてワールド上でやらないのか分らないが、ワールド行列の逆行列しかってないなら
>ワールド行列が移動行列のみの場合はうまくいきます。
当り前やがな。
>レイの方向、
>を設定しています。
それは、どこから求めたの?
その前に、行列やら3Dの概念が理解出来てるのかい。
断片の文章に突っ込んだが、いまいち何を言ってるのかなんだよな。
カメラなんて普通は、モデルと違う動きじゃないの?
それを、なんでスクリーン上の座標をモデルのワールド行列の逆行列なんていいだすのか…
0269デフォルトの名無しさん
NGNGSDKサンプルのPickみたいな事をやりたいのでは?
あのサンプルではメッシュはワールド内に固定だけど、メッシュが
移動や回転等する場合での、レイとメッシュの交差判定をしたい
のではないかと。
0270デフォルトの名無しさん
NGNGメッシュを原点に置いて、その分レイの始点を移動させれば同じ事だと思ってたんだが。
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGカメラを通さずに見えるスクリーン画面ってあるの?
>スクリーン座標
っていってるよ。
で、だから分らないって。
モデルを変換前のものを使用して、レイにモデルに使った逆行列をかけてって…
それって、レイがモデルと同じ動きをしてないと成り立たない。
で、それなら変換後だろうが、前だろうがモデルとレイの関係は同じだろ。
レイを視線ベクトルと同義にしたいなら、考え方が間違ってる。
行列と3Dモデルを2D描画する理論を勉強するのが先。
0273デフォルトの名無しさん
NGNGDIRECTINPUT_VERSIONを定義すると実行時にエラーが出て、
定義しないとすんなり通る。
・・・と思ったら
#define DIRECTINPUT_VERSION 0x8000
って書いてたよ_| ̄|○|||
これはきっと、このスレタイのせーだ!!ヽ(`Д´)ノ
0274267
NGNGうまく説明できなくてすみません。
270さんの通りにやって見てだめだったので聞いてみたのですが、
回転があるとだめなんですか。
0275教えて君
NGNGIDirect3DDevice9::Clear を使ってビューポートをクリアすると
それ以降バックバッファへいくら書き込んでも表示されないのです。
Clearメソッドを使う目的はスプライト(D3DX)をクリアするためです。
どうやったらスプライトだけをクリアできるのでしょうか?
0276デフォルトの名無しさん
NGNG一つ言いたいのは、スプライトだけを消すことは出来ない。
UpdateSurfaceで書き込むのはバックバッファ。
スプライトを書き込むのもバックバッファ。
そしてClearでクリアするのはバックバッファ。
0277デフォルトの名無しさん
NGNG0278261
NGNG> 呼ぶ度にCreateVertexBuffer
な、なんと!そんなショボーンな危険性もあるんですね。おかげ様で
Lockが必須な処理であること、故にどのみち影でやっているだろう事が良く分かりました。
>>266
なるほどー、そんな利点も。うちのデータ見たところ、かなり稼げそうです。
お二方とも追加情報ありがとうございました。勉強になります。
0279デフォルトの名無しさん
NGNG毎回CreateVertexBufferなんか使ってたら
UPのあんな速度は出ないと思うのだがどうか…。
0280デフォルトの名無しさん
NGNG何種類かのビデオカードでUPと毎回Lockを比較してみたが、どっちが速いかはまちまちだった。
たしかGF4TiなんかはUPがかなり速かった記憶がある。
0281デフォルトの名無しさん
NGNGどっかのスライドにはUP使うなって書いてた。
0282デフォルトの名無しさん
NGNGとの格言もありますし誰かベンチ書いてよ
ム板、ゲ製、合同で集計したらそれなりの結論が見えてくるんじゃないかと
0283デフォルトの名無しさん
NGNG必要だと思ったら自分で作ればいいだろ
なんで他人任せで「書いてよ」なんだ?
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNGUPと同等以上にできるんじゃないか?
0286デフォルトの名無しさん
NGNGとりあえずマイクロソフト以外でよろしく。
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNGDirectDrawのDDCAPS.dwVidMemFreeの様な・・・
GetAvailableTextureMemだと、途方もない数値が返ってきてしまいます。
0289デフォルトの名無しさん
NGNG結論からいうと、正確な値は期待できない。
0290デフォルトの名無しさん
NGNGでは、近い数値を得る事は出来るのでしょうか?
GetAvailableTextureMemを試してみたら、152,043,520 なんて
数字が返ってきて、どう言う数値なのかとヘルプ確認したら
返される値は最も近いMBに丸められる
なんて書かれてて・・・ 152T・・・?
0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNGi810触った事無いので全く解りませんが、
BIOSでビデオに割り当てるサイズ指定するなら、その空き。
指定出来なければ、物理メモリの空き容量
を返して欲しい。
0293デフォルトの名無しさん
NGNG152043520÷1024÷1024=145MBですよ。
0294デフォルトの名無しさん
NGNGでもあまり関係無い・・・
0295デフォルトの名無しさん
NGNG>>289
0296デフォルトの名無しさん
NGNGん・・・ここの生きてる過去スレの中には無かったけど、
GetAvailableTextureMemで得られる値が最善の値て事ですか?
0297デフォルトの名無しさん
NGNGどうしてもVRAMに置きたいのなら、
試しに置いて「メモリ不足エラー」ならば他のメモリに置く。
0298デフォルトの名無しさん
NGNGまだ試していませんが、DEPTHSTENCILかRENDERTARGETを
指定しない限り、OUTOF_VIDEOMEMORYは返さない様が気がします・・・
0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGD3DXCreateTextureで複数種類のビット深度のテクスチャを同時に作成し、使用しても、
問題ありませんか?
つまり、
・D3DFMT_A8R8G8B8・D3DFMT_R5G6B5・D3DFMT_A1R5G5B5
以上のテクスチャを各一枚ずつ作成し、そのテクスチャを貼り付けたポリゴンを
レンダリングしても問題ないだろうか。
・また、ビット深度を統一しないと問題のある環境はあるのだろうか、という事です。
(自分で実験したところでは、GeForce、Radeon7500、TNT2で大丈夫でしたが)
「 (゚Д゚)ハァ?ビット深度なんて統一する必要はねぇ!そんなこと考えもつかなんだ」とか
書かれそうで怖いですが
0302デフォルトの名無しさん
NGNGフォーマットごとにCheckDeviceFormatで問い合わせる。
0303デフォルトの名無しさん
NGNGWinMain関数内で、retun 0;でプログラムを終了させているのですが、
return 0;の前に、FreeLibrary(hInstD3D8);というのを実行しているソースがあったのですがこれは何をやっているものなんでしょうか?
コメントで、最初に読み込んだd3d8.dllを開放と書いてありました。
0304デフォルトの名無しさん
NGNGどっかにLoadLibraryってのはないか?
0305デフォルトの名無しさん
NGNGそれがないんですよね。
MSDNのヘルプは見たことは見たんですが。
推測でプログラム起動時に自動でdllを読み込んでいるので、それを開放するという意味だとは思うのですが。
プログラム終了時にdllの開放をプログラマ自身が行わなくてはいけないの?
0306デフォルトの名無しさん
NGNGLoadLibraryなんか使ってないのにw
当時は何のことかサッパリ分らんかったなぁ・・・。
0307デフォルトの名無しさん
NGNG某オンラインゲームのオートパーロットツールをPerl+Win32で
作ってるものです。
現状のテザインでは、某オンラインゲームの画面を、通常のGDI系APIで
キャプチャーして、比較分岐により自動キー入力を行っております。
次回バージョンアップで対象ゲームの描画方法が変わり、Direct3D8 の
SwapChain により、全画面表示でフリッピングが行われるようです。
こうなった場合、通常のGDI系APIでフロントバッファが参照できなく
なると思われますが、何らかの方法でフロントバッファをキャプチャー
することは可能でしょうか?
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGよーわからんが、
とりあえずhInstD3D8を参照している別の場所を見つけるべし。
どういう値が入ってるかによってわかるかもしれん。
0310デフォルトの名無しさん
NGNGhInstD3D8どこにもないw
グローバル変数にもないし、関数内でも定義されていない・・・
これ雑誌のプログラムなんですよね
そういえば、昔、これ書いてコンパイルした時、この変数がなくてこの関数の行をコメントにした記憶が・・・
0311デフォルトの名無しさん
NGNG明示的にロードしてるわけじゃないならFreeする必要もない。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG死ねとか言ってるよ。あの人。
ざわ・・・ざわ・・・
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGしかもBOTerときたらクソ。ゴミ。今年の横浜。
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG激しく同意!!
最後の6文字以外はなヽ(`Д´)ノ
0318デフォルトの名無しさん
NGNG/ 山 下 \
/ ヽ
l::::::::: | うちにはBOTなんかいないよ
|:::::::::: (●) (●) |
|::::::::::::::::: \___/ |
ヽ:::::::::::::::::::. \/ ノ
0319デフォルトの名無しさん
NGNG- 宇治社中改(3D基礎講座)
http://www.cc.rim.or.jp/~devilman/
がなくなっているのだが・・・
0320デフォルトの名無しさん
NGNGこれから3Dを扱う上では、C#、DirectXの両方の知識が必要ということになります。
C++ではだめなのかい?
0321デフォルトの名無しさん
NGNGアホ?
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGC#覚えるとC++のよさが益々引き立ったんだが
0325デフォルトの名無しさん
NGNG0326デフォルトの名無しさん
NGNGいや、C#のほうがC++より向いているのかと聞きたかったのだが
0327デフォルトの名無しさん
NGNG円柱方式はなんとかなりそうなのですが、真上を向けないので・・・。
半球モデルをモデリング→Xファイルに→読み込んで内側に空のテクスチャ
でキレイにできるのでしょうか?
できればあらかじめXファイルを用意するのではなく、頂点をその場で
生成したいと考えています。
0328デフォルトの名無しさん
NGNG星の数だけポイントライトを置くといいと思うよ。
0329デフォルトの名無しさん
NGNG0330327
NGNG(;´Д`)ヒィィ
と言いつつ、実は表現したいのは夜空ではなく青空なのですよ。
天球は一般的な3Dゲームでは当たり前のように使用されているのに、
なぜか後悔されている資料が全然ないですね。
0331デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNGと言う事だよね?
俺が実験した時は、それなりに綺麗に見えた。ただし、テクスチャは
ちゃんとドーム用に補正が入ったものを用意した。
他人がどうやっているかは知らない。
0334デフォルトの名無しさん
NGNG正直に言えよ。
半球状に頂点を生成する方法が分らないって。
言えば教えてあげる。
0335デフォルトの名無しさん
NGNGでもテクスチャの作り方がわからない。
0336デフォルトの名無しさん
NGNGモデリングツール使うなら、そのモデリングツールでテクスチャも作れるだろ。
その程度なら、モデラなんぞ使わず
球の方程式から半球なんて楽に作れるだろ。
で分割した分だけUVも増加させれば良いだけじゃん。
で、そのUVだと天頂部分が歪むからテクスチャの上部をUVに合わせて
縮める感じで描けば、良い感じになる。
0337デフォルトの名無しさん
NGNG正24面体をベースにしたほうが綺麗だよ
0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNG文字だけをくりぬいた時に境界が背景色と混合してしまうという、
Webの透過GIFと同じ問題が出てきてしまいました。
これは避けられない運命なのでしょうか?
特に小さな文字の見栄えが物凄く悪いです。何か上手い対策は無いでしょうか。。
0340デフォルトの名無しさん
NGNG境界のところにαブレンディングを使え。
0341デフォルトの名無しさん
NGNGいや、そんな単純にはいかないんです。
TGAに焼くときに画像が背景色と混合してしまうことが問題なんです。
文字自体に半透明部分があるわけですから、
文字の境界の不透明度をnと置けば「n*文字+(1-n)*背景色」がTGA画像です。
ソレをDirectXでαブレンドすると「画像=(1-α)*DEST+α*SRC」で、
SRCをさっきの画像で置けば「α*(1-n)*背景色」という項が残ります。
Web上で見る透過GIFの境界がたまに白っぽくなってるのはこれが原因です。
例えばシューティングなんかで丸弾を作るときは、
RGBチャンネルを全て塗りつぶしてαチャンネルを●でくりぬきます。
RGBチャンネルの時点で●を書くと境界部分が変に見えるのと同じことです。
0342デフォルトの名無しさん
NGNG文字のアンチエイリアス部分が背景の色と混ぜて作られるから汚くなるってことか?
じゃあその混ざってる部分の透明度を完全に0にして混ざってない部分に手動でアルファを設定していけば?
0343デフォルトの名無しさん
NGNGあふー、そうか… 元々の文字の透明度を0にしてしまえばよいんですね。
ちょっと結果がどうなるか分からないんですが風呂入ってからやってみます。
どうもありがとうございました。
0344327
NGNG見た目は実用に耐えるものになりそうですね。
ありがとうございます。
>>334
半球状に頂点を生成する方法がわかりませんすいません(;´Д`)
>>336さんの方法でやってみます。ありがとうございます。
0345デフォルトの名無しさん
NGNGグローバルとかで確保しといたほうが良いですか?
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNG日本語ヘルプを見たのですが、スワップチェーンという単語が出てきて、スワップチェーンを調べたら
アニメーションを滑らかにするためのもの(?)だとは分ったのですが、どの値を設定したらいいのかわからず。
0348デフォルトの名無しさん
NGNGまずはヘルプの見方を勉強しろ。
プログラムの話はその後だ、突っ込む気にもなれん。
…いや、あえて言おう。ヘルプにメンバとメンバの型、
及び型の説明&型の列挙まで書いてあるぞ。
初心者ならいざすらず、初心者以前のレベルなのであえて言おう。
馬鹿はプログラムするな。
0349デフォルトの名無しさん
NGNG全然見つからない・・・
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNG☆見て見て!!
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0352デフォルトの名無しさん
NGNGえー。
わざわざそこだけ別処理にする必要あるのー?
モデリングツールからもってくる流れはそのままでもいいんじゃない?
どうせ実際に使うときは雲やら星やら動かしたいときはモデリングツールで色々できるようにしといた方が楽じゃない?
0353デフォルトの名無しさん
NGNGUpdateWindow( hWnd );
の前にDirectX初期化しといたほうがいいのでしょうか?
0354デフォルトの名無しさん
NGNG良く読め。
>その程度なら、モデラなんぞ使わず
ってあるだろ。
別処理も何もそんな基本的なプリミティブは
コードを少し書く程度で生成や効果処理できるだろ。
モデラで作って、Xfileにでも吐き出すのか?
めんどうだろ。
0355デフォルトの名無しさん
NGNGモデリングツールで確認できないじゃん。
不便じゃん。
プログラマしか介入できないじゃん。
嫌じゃん。
ビューワ作れよ!
って絶対言われるじゃん。
仕事増えるじゃん。
楽に作りたいじゃん。
みゃーみゃーみゃーみゃー
0356デフォルトの名無しさん
NGNG最近、仕事ができません。一日中2chしてます。
ほんと、鬱だ氏のう
0357デフォルトの名無しさん
NGNGキミにはこのスレがおすすめのようだ。(俺も)
※もう2chで時間を潰さないと誓うスレ※
http://pc.2ch.net/test/read.cgi/prog/1011527176/
0358デフォルトの名無しさん
NGNG行ってきますた。
同じ悩みの人は多いんだなぁと1から700番の終わりまで
読んでたんで、また、時間潰しちゃいました。
今度は、「首吊る・・・」て題名のとこ探して行って見末。
0359デフォルトの名無しさん
NGNGViewPortを変更したりRenderToSurfaceを使ってみたりしたのですが
うまくいきませんでした
なんか簡単な方法ありますか?
0360デフォルトの名無しさん
NGNG0361デフォルトの名無しさん
NGNG少しは、ゲートを読んで回路でも逆あせして公開しろよ。
んvとからでとかの画像を公開しろ。
0362359
NGNG一点透視の消失点を上に引き上げたいのですが、
ViewPortを変更してもゴミ(赤と緑のちらつき)がはみ出してくるだけでした。
RenderToSurfaceも同じでしたがこっちは単に使い方が悪いんでしょう。多分。
平行移動行列では地平線は上がりますが消失点(視点のZ軸方向)は中央なので駄目でした。
0363デフォルトの名無しさん
NGNG0364359
NGNG0365sage
NGNGhttp://wave8.hp.infoseek.co.jp/flash/
↑おもしろいです
0366デフォルトの名無しさん
NGNGパレットによる抜き色(透過処理)はできなくなったのでしょうか?
もしそうなら、たしかAlphaを含む画像なら透過処理ができるみたいなので
ビットマップファイルから、Alphaを含む画像を動的に作成したいのですが、
なにか良い方法はありますか?
#これは、自作の画像圧縮&展開ルーチンが、Alphaに対応してないためです。
間違いがあったら指摘してください。
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGそのパレットに相当する色の部分にアルファ値を設定すればいいだけ
単純なループで出来るので特に考えるべきところはない
0369デフォルトの名無しさん
NGNGDirectX Texture Tool
0370デフォルトの名無しさん
NGNGhttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=32&vew=382
マルチポストかよ
0371デフォルトの名無しさん
NGNG0372362
NGNG教えてもらったProj行列で駄目だったんでBBX炒ったのですが、
断り入れて往くのが良かったようですね。
ごみんなさい。
0373362
NGNGhogehoge
0374直リン
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGお手軽にいくならD3DXCreateTextureFromFileExでcolorkey指定する。
0377デフォルトの名無しさん
NGNGD3DXVECTOR4をNormalizeしたいとき。
0378デフォルトの名無しさん
NGNGどんなときに使うのでしょうか?
同次座標で扱うってことがどうも頭にイメージできません。
0379366
NGNGメモリ上でAlphaを追加するか、
テンポラリファイルを作って〜Exで読み込むんですね?
わかりました。やってみます!
これで光明が見えました。ありがとうございましたっ!!
0380デフォルトの名無しさん
NGNG法線とか使わないの?
0381デフォルトの名無しさん
NGNGメンバも出てこないし、(を入力しても関数仕様が出てこないし・・・
0382デフォルトの名無しさん
NGNG環境は? うちはVS.NET2003+DX9で問題ないけど。
0383デフォルトの名無しさん
NGNGVC++6.0+DX9
0384デフォルトの名無しさん
NGNG関連するヘッダファイルをプロジェクトに追加すればよろし。
1度追加したら削除しても大丈夫・・・だったような。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGSetVertexShader' : 1 番目の引数を 'const int' から 'struct IDirect3DVertexShader9 *' に変換できません。
どこかおかしいですか?
0388386
NGNG0389386
NGNGlpD3DDevice->SetVertexShader( NULL );
lpD3DDEvice->SetFVF( D3DFVF_XYZRHW | D3DFVF_DIFFUSE );
0390デフォルトの名無しさん
NGNGそう。
0391デフォルトの名無しさん
NGNGそれだけじゃ出なく無いかな?
0392デフォルトの名無しさん
NGNGなんでSetVretexShaderが出てくるんだろ??
0393デフォルトの名無しさん
NGNGという自分も最近rendreとかretrunとかよくやっちまう(゚Д゚)
>>392
XYZRHWでもプログラマブルシェーダは使えるよ
0395デフォルトの名無しさん
NGNGVC6 だと少なからず DirectInput については
ヘッダー参加させただけじゃ表示されないと思う。
#ifdef UNICODE
#define IDirectInput8 IDirectInput8W
#else
#define IDirectInput8 IDirectInput8A
#endif
っていう感じになってるから、
IDirectInput8* pInput;
これだと、表示されないはず。
このクラスの置き換えがtypedefでやってくれてると、メンバが表示されたりするんだが……
0396デフォルトの名無しさん
NGNGシェーダ中で乱数を作るにはどうしたらいいんでしょう?
そういうことをしておられる方のHPないですか?
0397デフォルトの名無しさん
NGNG頂点ストリームに乱数をはめ込むんじゃだめ?
ピクセルシェーダなら、テクスチャに乱数をまぶすとか・・・
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGそれだと頂点ごとの乱数ではなくてDrawPrimitiveごとの乱数になってしまう。
動的頂点ストリームか動的テクスチャでCPU側から乱数値を入れるのが無難かと。
マルチ頂点ストリームが使えるなら使ったほうがいいかもしれんね。
0400デフォルトの名無しさん
NGNGそれって、例えば5万頂点あったら
フレーム毎に、5万のループ回して乱数をセットするって事?
プロシージャルテクスチャの方が良いかな
乱数テーブルになり得るかどうかは別として。
0401デフォルトの名無しさん
NGNGDirectPlayを使用するプログラムはビルドすることが出来ません。
その際表示されるエラーメッセージが
「ChatPeer fatal error LNK1181: 入力ファイル 'dplay.lib' を開けません。」
というようなものです。
VC++ .NETの方ではインクルードファイル、ライブラリファイルともパスは通してあります。
またプロジェクト→プロパティ→リンカ→入力→追加の依存ファイルに 'dplay.lib' と書き込んであります。
この他にまだやるべき作業があるのでしょうか。
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNGマルチではありません
別スレで誘導されたので
0404デフォルトの名無しさん
NGNG>またプロジェクト→プロパティ→リンカ→入力→追加の依存ファイルに 'dplay.lib' と書き込んであります。
あぁ、ここでやるのが普通なんだね。
おれはコンパイラオプションに直接書いてた。
ひとつ降り甲になったありがとう。
0405404notfound
NGNG先週6.0から.net 2003にバージョンアップしたんだけど、
なんか.net使いづらくってさ。。
慣れれば.netのほうが使いやすそうに見えるんだけどね。
コードたためるし。ビックリ。
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG機能は文句ないのに
0408デフォルトの名無しさん
NGNG逆(.NET->6)をやると使いづらいなんてもんじゃないよ
0409デフォルトの名無しさん
NGNG2002?
なんか2003では軽くなったみたいどよ。俺もってないけど
0410デフォルトの名無しさん
NGNGそんなにいいのか.NETは
DirectXとC#も相性良いって話だしなぁ…
0411教えて君(275)
NGNGほざいていた>>275ですが、ようやく解決しました。
原因はClearメソッドでレンダリングターゲットしかクリアしてなかったからです。
3つ目の引数にD3DCLEAR_ZBUFFERを追加してやるとすんなり出来ました。
あぁ、、、恥ずかしい。穴があったら入れたいでつ、、、
0412396
NGNGいろいろなご意見ありがとうございました。
とりあえず、テクスチャに乱数を仕込んでやっていこうと思います。
あと、動的頂点ストリームがよくわからないので少し勉強してきます。
0413401
NGNGしかし.NET2003では相変わらずエラーメッセージが出てきます。
6.0の方は特に設定もしていないのですが・・・何が違うのか全く見当が付かない状態です。
0414デフォルトの名無しさん
NGNGVC++7が出ますよ。
0415デフォルトの名無しさん
NGNG0416デフォルトの名無しさん
NGNGMSのホームページ見れ
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG2003に含まれるVCのヴァージョンが7.10.3077
同一の物をどうやって選ぶんだ?
0419デフォルトの名無しさん
NGNGVC6があるなら、そこからdplay.libコピったらええやん。
0420デフォルトの名無しさん
NGNG忘れないように書き込んでおこう
0421デフォルトの名無しさん
NGNGリブートがかかる
0422デフォルトの名無しさん
NGNG表示されない気がするのですが。気のせいですか?
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGテクスチャーで誤魔化すしかないですかね・・・・
0425デフォルトの名無しさん
NGNG自前でライティング計算、これ常識。
0426デフォルトの名無しさん
NGNGよーわからんが、そーいう問題なのか?
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGTextureのSizeと、ボードのスペックによるかと。
0431デフォルトの名無しさん
NGNGもしかしてVC.netかったほうが良いですか?
0432デフォルトの名無しさん
NGNGhttp://akipon.free-city.net/page001.html
0433デフォルトの名無しさん
NGNG拡縮フィルターが思うように設定出来ません。
MAGFILTERにLINEARを設定すると、XYZRHWでの等倍表示でも
滲んでしまいます。
普通に、等倍の時はそのまま、拡縮時はバイリニアと言う様に
適用するにはどうしたら宜しいのでしょうか。
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG0436デフォルトの名無しさん
NGNGLINEARでも歪ませない方法はあります。
>>87-89 あたりを参考に。
ヘルプにもピクセルとテクセルの一対一対応の仕方が書いてあるので調べてみて。
0437デフォルトの名無しさん
NGNG0438デフォルトの名無しさん
NGNG78〜はフィルタじゃなく、D3DXCreateTextureFrom〜の丸め込みとかの
問題だった様に思えます・・・
ヘルプ探してみます。
>>437
D3DXSpriteはScalingがNULLならPOINT、あればLINEARとかして
るんですかね。
テクスチャとかが変わらない限りインデックスに溜めて込んでから
描画する様にしたんですが、その方法でやるとしたら、等倍・!等倍の
時もフラッシュせなあかん様になるんですよね・・・
0439436
NGNGいあ、88はピクセルとテクセルの一対一対応の話。
ピクセルは点ではなく面積をもつ正方形なので、
ピクセルの(0,0)-(640,480)のスクリーン座標は(-0.5,-0.5,639.5,479.5)です。
スクリーン座標の原点はピクセル(0,0)の中央。
これにあわせれば歪まない…と思ってたらドライバがアホだと駄目なんだそうで_| ̄|○
インデックスバッファに溜め込む場合はLINEARを使いたいだろうし、
とりあえずは、この方法でやるしかないんでないかと。
0440デフォルトの名無しさん
NGNG騙されたつもりで座標全てを-0.5したら滲まなくなりました!
有り難うございました。
終点絡みかとか色々悩んだのが馬鹿らしい・・・
しかしこれで良いんだろうか。
0441デフォルトの名無しさん
NGNGFAQだYO!
0442デフォルトの名無しさん
NGNG0443デフォルトの名無しさん
NGNGうちの環境で試した限りでは大して速度差がでなかったんですが・・・。
(128*128頂点の矩形を画面内に表示)
0444デフォルトの名無しさん
NGNG一応かなり必死にぐぐってたんですが、MAGFILTER・LINEARに
原因があると思いこんでたので辿り着けなかった様です。スマソ
0445デフォルトの名無しさん
NGNGいろんな環境で試すのは大変だねえ、としか言いようがないなあ。
0446山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNGhttp://www3.free-city.net/home/espresso/au/sweety.html
本能がむき出しになっちゃうかもよ!?
http://www3.free-city.net/home/espresso/princess/peach.html
今からはここで夜の時間を過ごしてあそびましょう〜☆
http://www3.free-city.net/home/espresso/au/xxx.html
0452デフォルトの名無しさん
NGNG試しにスプライトを10万個表示させてみたらFPSが7前後で
カクカクでした。
1万個なら50〜60だった。100万個で0.8位だった。
0453デフォルトの名無しさん
NGNG騙されたな。GDIの方が高速に描画できるよ。ためしてみ(w
0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG機能をフルに使うためのAPIで性能はハードウェアに
依存することを知らない素人。
0456デフォルトの名無しさん
NGNG32x32・16x16程度なら現時点でも出来んじゃない。
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG0462騙された素人
NGNGなんでかな?
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNG解像度変更等でデバイスをリセットする際の処理が良くわからなくて・・・。
0465デフォルトの名無しさん
NGNG最終的にどのぐらいのクラス数、ファイル数になりましたか?
一人で作業しているのですが、まだ基本部分ができた段階でファイルが
68個になってしまいました。
この程度ならまで手に負えるのですが、これから先大丈夫なのか
不安になってしまいまして__| ̄|○
0466デフォルトの名無しさん
NGNGそれにクラス数とかいう問題でもないし。
0467デフォルトの名無しさん
NGNGちょいと疑問なんだけど、DirectXでゲームじゃなくて何つくってんの?
モデリングツールくらいしか思いつかないけども。
0468デフォルトの名無しさん
NGNG他には単にVSとかPSでなんかやったりとか。
という俺もゲーム製作の関連でDX覚えようとしたわけだが
今はゲーム作るよりもそういうの作ってるほうが楽しい。
0469デフォルトの名無しさん
NGNG安心しろ。
おいらのプロジェクトは200を超えたぞ。(ヘッダは抜き)
0470デフォルトの名無しさん
NGNGC++は良かった
0471デフォルトの名無しさん
NGNGこれもモデリングツール?
俺はテキストでシコシコとやっとるのですが。。。
0472デフォルトの名無しさん
NGNGDelphでつ。(だからヘッダはなし)
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGobjとかでエクスポートしてエディタに読み込んでポリゴンごとにエリアとか定義したあと独自形式でエクスポート
0475デフォルトの名無しさん
NGNGDelphi だよぉ ・゚・(つД`)・゚・
0476デフォルトの名無しさん
NGNGαやブレンドでグレースケール化する事は可能でしょうか?
RGB単色にはブレンド設定で簡単に出来ましたが、ここから何か
もっと色々やると出来そうな気がしないでも無い様な。
0477デフォルトの名無しさん
NGNGピクセルシェーダでグレースケールすることは簡単だけどねぇ。
それ以外の方法でロック無しと言われるとちょっと思いつかない
0478デフォルトの名無しさん
NGNG何が目的かによるんじゃない?
その処理に意味が無ければ、
写真屋かなんかで欲しい画像に加工して使えば良いかと。
nVIDIAやATIの最新サンプルを見ても、その手のTextureは予め全て用意してある。
プログラムで処理するのは、その処理が目的の場合のサンプルなどしか無いよ。
0479476
NGNG予め用意する事は出来ません・・・
手持ちのカードがGeFo2MX・GeFo2Proなので、ピクセルシャーダも
無理です(つД`)
最小で256x256程のテクスチャを60fpsで処理したいので、ロックでの
処理はほぼ不可能・・・
他にも640x480のDIBを毎フレームテクスチャに書いてて、そこで既に
限界に近かったり
0480デフォルトの名無しさん
NGNG徐々にグレースケール化みたいなのだったら、
グレースケール画像と元画像をブレンドしてみるとか。
0481デフォルトの名無しさん
NGNGこんな簡単なことも分からないのかッ!!
D3DTOP_DOTPRODUCT3で内積取るだけだよ。
D3DTSS_COLORARG2はD3DTA_TFACTORあたりで。
テクスチャのαが未使用なら予めそこに入れておいてD3DTA_ALPHAREPLICATE
あたりで処理することもできる。
0482477
NGNG勉強になりますた
0483厳しい突っ込み
NGNG申しわけないが、技術の程が…
何で最小で256x256?最大での間違いでしょ?
って突っ込みたくなる。
それに、エフェクトって事は描画結果が欲しい物であり、
全ての前処理まで無理にリアルタイム処理する必要は全く無い。
そんなの、プログラム初心者が勉強用にやる程度の意味しか無いよ。
>予め用意する事は出来ません・・・
この発想じゃ、そのエフェクトとやらの処理や理解なんて無いだろ。
どんなエフェクトよ?
0484476
NGNGどもです。
自分もCOLOROPての使った事無かったのですが、ヘルプ眺めてたら
色々出来そうですね・・・
とりあえずグレースケールには成りましたが、REFACTORの値が
いまいち解らない・・・ どうしても暗くなってしまふ
>>483
最小256x256に何か問題ありますか?
RENDER_TARGETでレンダリングしたテクスチャの一部を
グレースケールのテクスチャとして使うってフィードバックの様な
事をしたかったんですが、この手の物も予め用意出来るんでしょうか?
0485デフォルトの名無しさん
NGNG圧縮テクスチャ?
0486デフォルトの名無しさん
NGNGDirectX SDK ヘルプより抜粋
>入力は、符号付きデータをシミュレートするため、
>使う前にすべて 0.5 シフトする (y = x - 0.5)。
>結果のスカラーは、正の値に制限され、
というわけで、輝度が 0x80 未満のピクセルは黒にされてしまうため
まともな白黒フィルターには使えないようだ。
まぁ、ピクセルシェーダーを使えない環境なら諦めろってことか。
0487デフォルトの名無しさん
NGNG0x80の白黒画像に対しα値0.5で加算合成するのかな。
αはALPHAOPをスルーにしておけば残るんだろうか。
0488476
NGNG見事に欲しかった映像に成りますた。
階調は半分に落ちてるんでしょうけど、とりあえず問題無しです。
有り難うございました。
0489デフォルトの名無しさん
NGNG気にすんな。
0490デフォルトの名無しさん
NGNGはあ?何言ってんだお前は?
0491デフォルトの名無しさん
NGNGREFACTOR って TEXTUREFACTOR だよね?
192 という数字はなんで出てきたの?
ここは 0xffa4c98d になると思うんだが。
0492476
NGNG逆に、その数値は何処から出てくるんでしょか・・・
何処みても
>D3DTA_TFACTOR テクスチャ ブレンディング引数、または
> D3DTOP_BLENDFACTORALPHA テクスチャ ブレンディング処理を
>用いたマルチテクスチャ ブレンディングで使用される色。関連する
>値は D3DCOLOR 変数である。
としか書いて無く、 0x80以下だと黒、0xffだと白なので、単純に、
0x80と0xffの中間の192にしたんですが・・・
実際には微妙に明るかったんで188にしましたが。
0493476
NGNG0494デフォルトの名無しさん
NGNG視覚的に青が暗いとかそういう話のような気がする。
具体的な数値は知らんが
0495476
NGNGRGBに重さ付けたのが 0xffa4c98dなんでしょうか?
そのまま試してみたらもの凄く暗くなり、/2+0x80してみたら
明るくなってしまいました。
0496491
NGNGそう。
DotProduct3 の SDK サンプルにある関数に
A : R : G : B = 1.0 : 0.29 : 0.58 : 0.11 (あ、RGB が1.0になってねー)を
渡してできた数、なんだけど・・・。
少数第3位以下を単純に切り捨てたのはこちらのミス。申し訳ない。
0497476
NGNG正直、昨日間違ってDotProduct3のディレクトリ消してしまいました。
脊髄反射的でシフト+DEL・・DotProduct3は帰ってこない(つД`)
64が0.33相当で、128が0.66とするとー 58・114・21かな。
64*3より1多いけどとりあえずスルーで+128しての186・242・149 かなー
十六進で ba f2 95・・・ a4c98d とは少し離れてる?
一応この数値で暗すぎもせず、明るすぎもせずそれっぽい
絵になりました。
a4c98dだと極端に暗く、/2+128 -128/2+192 とかしても無理がありました。
DotProduct3の注釈にはなんて書いてあったんだろう・・・
0498491
NGNG各要素について 127.0f * vector + 128.0f を計算してるだけの関数です。
だから例えばR要素は 127 * 0.29 + 128 = 164.83 ≒ 0xa4 になる。
こちらも 0xffbaf295 で試したところ、確かにより明るくなるが
よく見ると、白く飛んでいる感じになった。
この場合、各要素の比重が高すぎて、加算で飽和しまくるので、
全体的に白くはなるが、明るい部分の諧調が失われていると思われ。
0499476
NGNG単体で試して無かったので気付きませんでした。
もう一度計算し直したら今度は 189 207 178 て数字が出たけど、
これも飛ぶなぁ。
かと言って、 127*n+128の数値だと、明らかに暗くなってしまいます・・・
何か根本的に間違ってる様な気が。 原因解る迄おとなしく単純平均の
各色192使う事にします。
0500476
NGNG前処理諸々+後処理諸々で見てたら、特に飛んでる様に見えなかった
んだけどなぁ・・・
何だかどつぼにはまった様な。
0501デフォルトの名無しさん
NGNG> 白のテクスチャ無しポリゴンを0x80で重ね
ここから間違ってる余寒。
>>487をよく読もう。
0502デフォルトの名無しさん
NGNG0x00〜0xff を 0x80〜0xff に圧縮する処理を、
DotProduct3 を行うテクスチャステージの前のステージでやればどうだろ?
0503デフォルトの名無しさん
NGNGD3DTOP_BLENDTEXTUREALPHA を行った後、
0xa6ca8d で DotProduct3 したらできた。
諧調は半分にはってるはずだが、
暗い部分が黒く潰れることも、明るい部分が白く飛ぶこともない。
0504デフォルトの名無しさん
NGNG必要ないって。
そもそも階調が落ちてなくてもグレースケール化する際のスケーリングで
最下位ビットは落ちてしまうし。
っていうか何も演算しないでテクスチャをそのまま描画するだけでも
GeForceは最下位ビットを落としてしまうし。
0505デフォルトの名無しさん
NGNG演算誤差のせいで出力が 0xff まで到達しないので、
もう少し大きめの数に調整したほうがいいかも。
まぁ、どうせポリゴンに貼るときに変形&補間されてしまうし、
ライトにだって影響されるしね。
あんまり細かく考えてもしかたないか。
0506476
NGNG>ARGB = 0x80ffffff で塗りつぶしたテクスチャで
>D3DTOP_BLENDTEXTUREALPHA を行った後、
ここは、0x80ffffffのポリゴンを SRCALPHA/INVSRCCALPHAの
ブレンドで、塗りつぶしても同じ事ですよね?
0507デフォルトの名無しさん
NGNG透明度を変えるってのができない。ウワァァァァァン
D3DRS_ALPHABLENDENABLEをTRUEにするだけで全然グレースケールでもなくなるし・・・
なんだこりゃ
0508デフォルトの名無しさん
NGNG0509507
NGNGテクスチャ0 グレースケールにしたい画像
テクスチャ1 白・不透明
D3DRS_TEXTUREFACTOR 0x00a6ca8d
D3DRS_ALPHABLENDENABLE, FALSE
D3DRS_SRCBLEND, D3DBLEND_SRCALPHA
D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA
0, D3DTSS_COLOROP, D3DTOP_BLENDDIFFUSEALPHA
0, D3DTSS_COLORARG1, D3DTA_TEXTURE
0, D3DTSS_COLORARG2, D3DTA_DIFFUSE
1, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3
1, D3DTSS_COLORARG1, D3DTA_CURRENT
1, D3DTSS_COLORARG2, D3DTA_TFACTOR
0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1
0, D3DTSS_ALPHAARG1, D3DTA_TFACTOR
0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE
1, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1
1, D3DTSS_ALPHAARG1, D3DTA_CURRENT
1, D3DTSS_ALPHAARG2, D3DTA_CURRENT
2, D3DTSS_COLOROP, D3DTOP_DISABLE
↑の条件でグレースケール。
さらにD3DRS_ALPHABLENDENABLEをTRUEにし、TEXTUREFACTORのアルファ部分に濃度入れれば
濃度変更可能と思ったのだがうまくいかない。
ちなみにGeForce3 ドライバ44.03。
0510デフォルトの名無しさん
NGNG0511476
NGNG数フレーム毎に切り替えて見比べてたら、170でRGB/3ときっちり
同じになりました。
170て数字は何処からどう計算すると出てくるんだろう(´д`)
0512476
NGNG0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG面白いダジャレとか。
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNG何か解決方法あるんでしょうか?(再起動しても無理でした)
0523デフォルトの名無しさん
NGNG状況説明が少なすぎる。
C# は触ったこと無いんでわからないが、
C++ なら .ncb ファイルを削除して再起動すると直ることもある。
それでダメなら単純に構文が間違ってるとか。
コンパイルは通った?
.NET スレで聞いたほうが良いと思う。
0524デフォルトの名無しさん
NGNGなんか上のほうの文で構文を間違えると下の方が影響受けて出なくなることがあるよ
とりあえず、コンパイルしてミスを直してもだめだったらお手上げ
0525デフォルトの名無しさん
NGNG0526522
NGNGというか、つい直前までは普通に出てたんですよ。
DirectX関係のdllの参照を切って、参照しなおしたり、
C++のncbに当たるようなファイルを消して再起動もしましたが、
変化ありませんでした。
現在手元にないので、ファイルの詳細は分からないのですが・・・。
構文が長くなったり、変数が増えると表示できなくなる事があるんでしょうか?
0527デフォルトの名無しさん
NGNG質問なんですが、DirectDrawCreateEx(...)の代わりにCoCreateInstance(...)を使用して
DirectDraw7インターフェイスを取得しているのですがDirectX7のインストールされていないPC
で実行するとCoCreateInstance(...)の所で落ちてしまいます。
エラーが帰ってくればエラーメッセージを表示して終了できるのですが。
開発環境はVC++ 7.0 professional.SDKはDirectX7。ランタイムはDirectX8。
落ちる環境はWindows98をインストールしたたけのPC。ランタイムはDirectX5?
...
if (GetProcAddress(hModule, "DirectDrawCreateEx") == NULL) {
// DirectX7が入ってないのでメッセージ出して終了
}
...
とりあえず今はこんなコードで回避はしてますが根本的な解決には至ってません。
情報ください。
0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNGテクスチャのサイズに制限とかかけてますか?
メジャーな物ではvoodoo系が256*256ですが、
それを除くとあらかた1024*1024に対応していますよね。
いいかげんvoodoo系捨てても問題なし?
0531527
NGNGこれが問題?
0532デフォルトの名無しさん
NGNGそのことで不具合がどうのと言ってきた奴はいなかった。
0533デフォルトの名無しさん
NGNG::CoInitialize() してないってオチじゃないよね?
0535527
NGNGプログラマが集まる板とは言っても所詮は2ちゃんねるですか。
少しでも期待した自分が馬鹿でした。
0536デフォルトの名無しさん
NGNG気が早すぎ(;´Д`)
漏れも前にやったことがあって、DirectX7以降が入ってない時にDirectDraw7の
インターフェースを得ようとするとダメっぽいね。ドキュメント通りにやると。
これは試してないんだけど、IID_DirectDrawのインターフェースを取得してから
QueryInterfaceするとか、もしかしたらCoCreateInstanceの第一パラメータが
CLSID_DirectDraw7だったら逝けるのかもしれない。
バージョンチェックならSDKにサンプル入ってるからそれで調べると言う手も。
0537デフォルトの名無しさん
NGNGあと、なんでそこで落ちることが分かったのか。
単に同様の不具合を経験した人間から
お安く解決策を得たいだけなら、このまま消えたほうがいい。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNG0540デフォルトの名無しさん
NGNGお察しください
0541デフォルトの名無しさん
NGNGいや、CoCreateInstance がエラーを返さずに落ちるってことだろ。
仕様なら REGDB_E_CLASSNOTREG を返すはず。
VC++6のヘルプによると、このような記述がある。
>Passing into this function any invalid and, under some circumstances,
> NULL pointers will result in unexpected termination of the application.
だから、CoCreateInstance の部分を書いてほしかったのだが……
0542デフォルトの名無しさん
NGNGこれが後に修正されたことを意味するなら、527 は Windows98 をアップデート
してみるといいかもいれない。
0544527
NGNGDirectDrawCreateEx()の部分をCoCreateInstance()系に変更しています。
>>534
ご指摘の場所、CLSID_DirectDraw を CLSID_DirectDraw7 にしたら落ちずにエラーが帰ってきました。
hr = CoCreateInstance(CLSID_DirectDraw7, NULL, CLSCTX_ALL, IID_IDirectDraw7, (LPVOID*)&pDD);
サンプルやドキュメントを鵜呑みにしてはダメですね。
みなさんありがと。
0545527
NGNG0547デフォルトの名無しさん
NGNG存在するクラスを使って存在しないインターフェイスを要求したら落ちるってことじゃね?
0548デフォルトの名無しさん
NGNG無駄なライブラリつくって一生オナってろ
0549548
NGNGいいです。ほんとにおさがわせしました。
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG>>522-551まで自作自演ですた。
0553デフォルトの名無しさん
NGNG0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNGとっくにきてるけど?
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGvs2003で
.NETアセンブリ'Microsoft.DirectX.dll'が見つかりませんと出て
ビルドエラーになります。
0561デフォルトの名無しさん
NGNGhttp://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000001&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000002&pid=p000000244
http://www.bannerbridge.net/cgi-bin/click.cgi?mid=b000000003&pid=p000000244
http://www.adultshoping.com/index.cgi?id=1057809839
(屮゚∀゚)屮 キチャッタ↑
(;´Д`)ハァハァ(;´Д`)ハァハァ(;´Д`)ハァハァ(;´Д`)ハァハァ……ウッ!!
ガ━━(゚Д゚;)━━ン!
!!!!! ━━━━━━(゚∀゚)b━━━━━━ グッジョブ!!!!!
0562デフォルトの名無しさん
NGNG"Microsoft DirectX.dll" をインストールしましょう。
以上
ほれほれ、もっと質問こいや!
0563_
NGNG0564デフォルトの名無しさん
NGNGランタイムのダウンロードページのインストール方法の項目をよく読め。
以上
0565デフォルトの名無しさん
NGNGLPD3DXFRAMEとか、頭についているLPって何の意味があるんですか?
ただのポインタなんだから、D3DXFrame*とかの書き方でもいいんじゃない
ですか?
うふふ。何分で答えが返ってくるかしら。
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG0568デフォルトの名無しさん
NGNG0569デフォルトの名無しさん
NGNG激しくスレ違い
0570デフォルトの名無しさん
NGNGおかしいな。俺が聞いたことなのに、誰か知らん奴が答えになってないとか
言っておこってるぞ。
また来るわ。うふふ。
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG0573デフォルトの名無しさん
NGNGなんかパッと見、クラスでラップされてるように見えてカコイイ?から。
で、ずるずる規約として続けてるうちに
止めるに止められなくなって今に至ると。
クラスに憧れていたC時代の遺産。
0574デフォルトの名無しさん
NGNGと
D3DXFrame*
はかっこいいとかそういう問題ではなく、
複数の変数を作成する際に間違いを起こさないためのもの
D3DXFrame* frame1,frame2;
LPD3DXFRAME frame1,frame2;
違いは分かるよね?
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGそういえば、そんな利点があったか。
普段ポインタ変数の複数宣言なんてしないから気づかんかった。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNG0579デフォルトの名無しさん
NGNG真のC/C++プログラマはそもそも1行で複数のポインタ変数の宣言などしない。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG複数宣言する=初期化しない、だからじゃね?
よくわからんけど。
0582デフォルトの名無しさん
NGNGp = intarray;
0583デフォルトの名無しさん
NGNG俺は。
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGlpだと lは上に凸、pは下に凸なのでバランス悪くない?とどうでもいいことを言ってみる
0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG結局、オレが使い分ける前に、時代が変わってしまった…
0588デフォルトの名無しさん
NGNG「LP」については>>575が正解と。
今となっちゃロングポインタなんて・・・な。
0589デフォルトの名無しさん
NGNG分かってねぇなぁ。
上に凸と下に凸で打ち消しあってバランスを取るんじゃねぇか。
0590デフォルトの名無しさん
NGNGそうだったのか。一つ賢くなった。
0591デフォルトの名無しさん
NGNGうそやー。C/C++でこんなことするヤツがいたら
一度に複数宣言するなと強制的に修正してやるぞ、俺は。
Doxygenとか使うときもアレだし。
/** frame1の説明 */
D3DXFrame* frame1;
/** frame2の説明 */
D3DXFrame* frame2;
0592デフォルトの名無しさん
NGNGDirectX7が見つかりません
というエラーが出て起動出来ないものが出てきたのですが
7をDLしてもインスコ出来ません(すでに新しいものがありますってエラーがでる)
どうやったら7に戻せますか?
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNGOSから再インストールしないと古いバージョンのDirectXは入らないよ。
0595デフォルトの名無しさん
NGNGゲイツ様の強固な意志のあらわれです。
0596デフォルトの名無しさん
NGNG久々にOS再インスコするかな
0597デフォルトの名無しさん
NGNGどうしたらいいんですか?tiny.xで試しています。
ID3DXAnimationSetの新たなインスタンスを作り、
SetTrackAnimationSetで登録、
SetTrackEnableでトラックを有効にしてみたんですが、なんともならないです。
ID3DXAnimationSetのインスタンスは、
ID3DXKeyFrameInterpolatorの47個(tiny.xのフレームの数)の要素を持つ配列で
作りました。
ID3DXKeyFrameInterpolatorの配列の要素一つ一つは
名前は歩きのアニメーションのインターポレータからGetNameで得られるもの、
スケールはTime=0, Value=(1, 1, 1)のキー1個、
回転はTime=0, Value=(0, 0, 0, 1)とTime=1, Value=(1, 0, 0, 0)のキー2個、
移動はTime=0, Value=(0, 0, 0)のキー1個
で作りました。
うふふ。ヘルプだけの情報では分からないわ。
0598デフォルトの名無しさん
NGNGb入れたら動画再生時のエラーが解消されて嬉しい。
何が原因だったのか分からないが・・・・。
0599デフォルトの名無しさん
NGNGそのクォータニョンの値はどうやって出したのサ。
0600デフォルトの名無しさん
NGNG回転しない状態からX軸まわりに180度の回転です。
ちょっと怪しいとこがあるけど、解決したわ。うふふ。一応、解決法書いておくわね。
0601デフォルトの名無しさん
NGNGID3DXAnimationControllerに新たなアニメーションを加えるには。
【解決】
CloneAnimationControllerメソッドで登録できるアニメーションセットとトラックの
数を適宜増やす。
ID3DXAnimationSetの新たなインスタンスを作り、RegisterAnimationSetで登録。
SetTrackAnimationSetでトラックにも登録。
SetTrackDescで適宜、設定。
ID3DXAnimationSetは動かしたいフレームに対応するアニメーションを表す
ID3DXInterpolatorの配列から作られる。
ID3DXInterpolatorはスケールと回転と移動の変化を表すキーの配列から作られる。
<例>
LPD3DXKEYFRAMEINTERPOLATOR pInterpolator[1];
D3DXKEY_QUATERNION keyRotation[2];
keyRotation[0].Time=0.0f;
keyRotation[0].Value=D3DXQUATERNION(0.0f, 0.0f, 0.0f, 1.0f);
keyRotation[1].Time=1.0f;
keyRotation[1].Value=D3DXQUATERNION(1.0f, 0.0f, 0.0f, 0.0f);
D3DXCreateKeyFrameInterpolator("Bip01_Neck",NULL, 0, keyRotations, 2, NULL, 0, 1.0, &pInterpolator[0])
D3DXCreateAnimationSet("a", (LPD3DXINTERPOLATOR*)pInterpolator, 1, &pAnimSet);
以上のコードは首(tiny.xでは"Bip01_Neck")がY軸周りに180度回転する
アニメーションを作る。
0602デフォルトの名無しさん
NGNGクオータニオンが表す回転はX軸周りに180度回転のつもりだったのに、
実際の動作はY軸周りに180度回転してる。
まあいいわね。うふふ。また来るわ。
0603デフォルトの名無しさん
NGNG「新しいプロジェクト」のテンプレートのペインにDirectX9Wizardのアイコンが
出ません。
漏れのはハズレだったんでしょうか?
0604デフォルトの名無しさん
NGNGそういえば10円ガムってハズレ自体がむかつくんじゃなくて
ガキがあっかんべーしてる絵がむかつくんだよね
そう思わない?>>603
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG当たりの紙って店がメーカーに送ると換金してくれるの?
0607デフォルトの名無しさん
NGNG過去ログを読むべし
0608デフォルトの名無しさん
NGNGImageやらTextやらがイッパイ載ってるFormの一部領域だけを
別スレッドからDirectDrawで描画させたいんですが、不可能ですか?
(えぇ、Surfaceをputした瞬間に対象領域以外がブッ壊れました´・ω・`)
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNG一度に回転しているわけではなく各軸について段階的に回転してるんで、
各軸について一つずつ解いていけば何とかなる気がする
0613デフォルトの名無しさん
NGNG一つぽんと回転行列が来てそれについての各軸の角度なんだけど、
回転行列自体いろいろ癒着してるから良く分からないんですよ。
内積でいけるのかな?
0614デフォルトの名無しさん
NGNG0615デフォルトの名無しさん
NGNGTnx! (ノД`)
0616デフォルトの名無しさん
NGNG> D3DXFrame* frame1,frame2;
これの何がいかんのか分からん・・・ 教えて、エロイ人 ('A`)
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNGC言語からやり直し。
0619デフォルトの名無しさん
NGNGってことだろ
0620デフォルトの名無しさん
NGNGD3DXFrame frame2;
こうすれば分かりやすい
0621デフォルトの名無しさん
NGNG(D3DXFrame*) frame1,frame2;
にしたらOK?
0622デフォルトの名無しさん
NGNG全然理解していないのに何がなるほどなんだ?
OKなわけないだろ、基礎からやり直せ
0623デフォルトの名無しさん
NGNGだまれキチガイ
0624デフォルトの名無しさん
NGNGVisualC++.NETだと両方ポインタになるね。
挙動が変わってら。
0625デフォルトの名無しさん
NGNG60固定じゃなくなった・・・
0626デフォルトの名無しさん
NGNGなるわけないだろ、基礎からやり直せ
0627デフォルトの名無しさん
NGNGなるよ。試してから言え、ヴォケ。それとも金なくて環境ないのか?w
0628デフォルトの名無しさん
NGNGC#では、の間違いだな。
0629デフォルトの名無しさん
NGNGお前が試してないだろ
そもそもD3DXFRAMEは存在しているが、D3DXFrameは存在しない
それから
D3DXFRAME* frame1,frame2;
frame1 = new D3DXFRAME;
frame2 = new D3DXFRAME;
error C2679: 二項演算子 '=' : 型 'D3DXFRAME *' の右オペランドを扱う演算子が見つかりません
が、frame2で出るぞ
文法的にも、そういう仕様変更はありえない
0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNGそっか〜ありがとう!
0632デフォルトの名無しさん
NGNG・・・・というのはちょっと前にCスレで出たネタでは。
0633デフォルトの名無しさん
NGNGC#はそうなるのか?やったこと無いから分からん
0634デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNGだからならないって
0637633
NGNG0638デフォルトの名無しさん
NGNGC#だと挙動が違うよ。マジで。
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG>C および C++ とは異なり、複数のポインタが同じ宣言内で宣言された場合、
>C# での * は、各ポインタ名のプリフィックス区切り記号としてではなく、
>基になる型と共にだけ記述されます。次に例を示します。
もちろん、C# は別問題なんだが。
0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGいらん変更だな…
0644デフォルトの名無しさん
NGNGいちどに2種類の型の変数が宣言できてしまうより、いいと思うけどな。
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGゲーム開発のための物理シミュレーション入門
とかいう本どうだった?
0647直リン
NGNG0648デフォルトの名無しさん
NGNGc++から使う場合と、
vbやc#から使う場合では、
速度とか変わったりするの?
それとも全然変わらないのですか?
0649デフォルトの名無しさん
NGNGうふふ。自分で測ってみたらどうかしらね。
0650デフォルトの名無しさん
NGNGアマゾンにリンクぐらい貼ってよ
0651デフォルトの名無しさん
NGNGみんなの見解はどうなのかと思ってさ、、、。
0652デフォルトの名無しさん
NGNG釣ったつもりはないんだが(笑)
そういえば632のような文脈でのネタってのは嘘とか冗談という意味合いにはならないな。スマソ
0653デフォルトの名無しさん
NGNGそりゃ、VB や C# より C++ の方がより速いプログラムを組める可能性がある。
また、ランタイム内のコードに依存する割合が大きいアプリほど
言語間の速度差の開きは小さくなる。
実に当たり前なんでマジレスするのも気が引ける。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNGなるほど。
自分はそう言う当たり前のことも
今一分かってない段階なので、
結構参考になりますです。
感謝。
つまりダイレクトxのルーチンの部分は当然何から呼び出しても
同じだと言う訳ですよね。
0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNG新旧というか、どれだけ最適化されたネイティブコードを吐けるかじゃね?
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGCみたいに、*を変数側に付けるってのは、直感的じゃなくていやん。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG具体的にどういう時?
0663デフォルトの名無しさん
NGNG異常なんだろ
0664デフォルトの名無しさん
NGNG曲を変えるたびにIGraphBuilderをReleaseして
CoCreateInstanceし直さないと駄目なんでしょうか?
単純に曲を止めるだけだと、前にRenderFileした曲が残ってます。
また、解放する場合、CoCreateInstanceの直前に
CoInitialize(NULL)を毎回行わないと失敗してしまいます。
これを毎回呼んでも問題ないのでしょうか?
0665デフォルトの名無しさん
NGNG>曲を変えるたびにIGraphBuilderをReleaseして
>CoCreateInstanceし直さないと駄目なんでしょうか?
そのようです。もしくはフィルタを全て削除する。
CoCreateInstance したくなくて、常に同じフォーマットのメディアを再生するなら、
ソースフィルタだけを繋ぎかえることでいけると思います。
詳しくはドキュメントを読んでください。
>CoInitialize(NULL)を毎回行わないと失敗してしまいます。
そんなことは無いはず。どこか他にミスがあるのでは?
例えば、解放処理部分で CoUnInitialize を呼んでいるとか。
>これを毎回呼んでも問題ないのでしょうか?
問題ありませんが、CoUnInitialize を同じだけ呼ばなくてはいけません。
通常、アプリケーション(スレッド)の初期化部分で CoInitialize を、
終了部分で CoUnInitialize を呼びます。
0666デフォルトの名無しさん
NGNGレスありがとうございます。
>通常、アプリケーション(スレッド)の初期化部分で CoInitialize を、
>終了部分で CoUnInitialize を呼びます。
BGM管理を別スレッドで行っていた事が問題だったようです。
スレッド内でCoInitialize を呼んだら正常に動きました。
(スレッドが別の場合はそれぞれで初期化しなければならないのですよね?)
ただ、以前はスレッド外でも動いていたんですよ。
直前に行っていたDirectPlayの初期化処理で、通信を受け取る為の
スレッド作成処理をコメントアウトした為発生したようです。
何故、前は正常に動いていたのか謎なのですが・・・。
0667デフォルトの名無しさん
NGNGDirectX9ではDirectDrawのように1ドットの狂いも無く
画面に描画する機能はあるのでしょうか?
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG意味があるかは知らんが
0670デフォルトの名無しさん
NGNGサンクス。試してみます。
0671デフォルトの名無しさん
NGNGヘルプをちゃんと読む。
0672デフォルトの名無しさん
NGNGドライバ次第ということらしいが普通のドライバなら歪むことはない
0673デフォルトの名無しさん
NGNGBeginSceneとEndSceneの組は、Presentを行うまでに2回以上呼んでも良いらしいのですが、
グラフィックドライバによっては1回のみ可能なものがあるとのこと。
その制限を調べたいのですが、何か方法はありますか?
capsには含まれていない情報のようなので…。
0674デフォルトの名無しさん
NGNGそんなことをする必要性が分からない
0675デフォルトの名無しさん
NGNG色んな都合で一度区切らないといけないことがあるっぽ
テクスチャにレンダリングして、それをすぐに使う場合とか
某所サンプルにそういうのがありました。
0676デフォルトの名無しさん
NGNGVMR-9のアロケータのPresentImageから、非同期で
テクスチャに書き込みをする必要があるからです。
0677デフォルトの名無しさん
NGNGありがとうございます。
そうなのですかー。
SDKのアロケータのサンプルでは、アロケータ自身がIDirect3DDevice9を
持っていて、レンダリングもアロケータが保持しているクラスで非同期に行っているので、
どうしようか考えていたところなのです。
メインの描画自体は描画専用のクラスから行いたいところです。
0678673
NGNGBeginScene() ←スレッドB
..レンダリング諸々 ←スレッドB
EndScene() ←スレッドB
BeginScene() ←スレッドA
..レンダリング諸々 ←スレッドA
EndScene() ←スレッドA
Present() ←スレッドA
それぞれのスレッドのBeginScene〜EndScene間を
クリティカルセクションで保護すれば大丈夫でしょうか?
0679デフォルトの名無しさん
NGNGそれならそのタイミングで、一つのスレッドにまとめられる構造を作った方が安全な気がする
0680デフォルトの名無しさん
NGNG呼べないメソッドがあったような>Direct3D
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNGVRAMにアクセスするってことは最悪処理中はOSまで止まってる事があるわけだから
あまり無茶な作りにしない方が良い
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG2DのTEXTや三角プリミティブが、おかしくなるんですが、
何が悪いんだか。
どうなるかと言うと、プリミティブの色が黒になる。アルファが抜けない。
背景以外のオブジェクトが無いところでは、文字が消える。
背景に使っているキューブを描画しないと、問題は起きない。
3Dオブジェクトには、問題が起きていない。
心当たりある人いる?
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG0687684
NGNG変化ないんですよね。
レンダリングの順番を変えて、背景用のBOXを最初にすると、問題が無くなる。
ライトに付いては、描画毎に使わない物を消してます。
2Dポリゴンの頂点はこれ。
float x, y, z, rhw;
DWORD color;
大きなBOXの中にカメラがあるシーンなんですが、なんとなく 写らないはずの
カメラの後方のBOXの面が影響してるのかな。
0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG現在DirectX8.1aでDirect3Dゲーム作ってるんですが、解像度を変えると、
2Dの文字の描画位置などが変わってきますよね。これってどのように対処
すればいいんでしょうか?視点を動かしたら、動かないし。当たり前といえば
当たり前なんですけど。メッシュのように扱えたら簡単なんですが。
あとLuna3rdというライブラリを使わせてもらってます。
お願いします_(._.)_
0691690
NGNGプレイする人の名前を入れるときに漢字などが入っていると
対処が難しくなるからです・・。
0692デフォルトの名無しさん
NGNG恐らくスクリーン座標で指定していると思うんだが。違う?
0693690
NGNGえーと、そうですが^^;
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG640*480で(630,470)から表示すると文字が右下に表示されるけど、
800*600で(630,470)から表示すると中央から少し右下のあたりに表示されるとか、
そういう問題を言ってるんだよね?
0696690
NGNGそうです。
でも実際のゲーム開発では、そんな面倒なことはしないですよね?
しかも視点を動かすと動かないですよ。
スクリーン座標をワールド座標に変換するんだと思うんですが、Lunaのライブラリで
そんなことができるのかわからな・・
0697690
NGNGほんとにすみません。
視点の行列や透視変換の行列を取得できなかったんで、諦めてました。
0698デフォルトの名無しさん
NGNGゲーム空間に配置するものは解像度が変わってもそう大して変わるもんではない。
スクリーン空間に配置するものは解像度が変われば当然表示位置も変わる。当たり前。
違う解像度でも同じ位置に表示したいと思ったら、それなりのことをしなきゃならん。
対策としては、スクリーンのサイズを仮想的に0〜1と考えて、
描画メソッドの前段階で0〜640等に写像して描画メソッドへ渡す関数を作るとか。
0699690
NGNG>ゲーム空間に配置するものと、スクリーン空間に配置するものを明確化せい。
なるほど...
>対策としては、スクリーンのサイズを仮想的に0〜1と考えて、
>描画メソッドの前段階で0〜640等に写像して描画メソッドへ渡す関数を作るとか。
考えは分かるんですが、2Dと3Dがごちゃごちゃになって意味がわからなくなってます^^;
視点が変わっても同じところに描画する関数を作るのはかなり難しそうですね(汗
0700デフォルトの名無しさん
NGNGスクリーン座標にそのまま掛けないんだったら不便だねぇ。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGD3DCAPS9.TextureCapsのD3DPTEXTURECAPS_NONPOW2CONDITIONALフラグを調べて判断しています。
しかし、D3DPTEXTURECAPS_NONPOW2CONDITIONALフラグがオフ(2の累乗サイズ以外のテクスチャの作成可能)にも関わらず、
2の累乗サイズ以外のテクスチャの作成に失敗していました。
そこで、VGAドライバを最新のものにアップデートして実行すると、D3DPTEXTURECAPS_NONPOW2CONDITIONALフラグがオン
(2の累乗サイズ以外のテクスチャ作成不可能)を正常に検知するようになりました。
質問ですが、「2の累乗サイズ以外のテクスチャの作成」に対応しているかどうかのチェックは、
D3DCAPS9.TextureCapsのD3DPTEXTURECAPS_NONPOW2CONDITIONALフラグを調べるのであっているのでしょうか?
ご存知の方がいれば、教えていただけないでしょうか?
よろしくお願いします。
0703デフォルトの名無しさん
NGNGドライバ最新にしたらそうなったってことは、
単純に古いドライバが悪かったってこととちゃうんかな?
0704702
NGNG>不可能だろうが可能だろうがどっちにしろ2^nで作ってるんで気にもとめなかったが、
Direct3Dで、2D表示でキャラクタのアニメーションを実現する場合、
1.大きな2^nテクスチャーを作成。2.テクスチャにアニメーション用のパターンを描画。3.D3DXSPRITEで転送元範囲指定で最終描画。
の方法が一番安定してそうな気がします。
漏れの場合、最終描画時にパターンの鏡像反転描画をしたかったのでD3DXSPRITEを使わない、
1.複数のテクスチャを作成。2.テクスチャ1枚ごとにアニメーション1パターンを描画。3.DrawPrimitiveUPで最終描画。
の方法を使っています。DrawPrimitiveUPを使用する場合は、転送元範囲指定が出来ない
(テクスチャの回転をしない場合、SetViewportを併用すれば出来るが・・・)ので、1テクスチャ1パターンが基本です。
1テクスチャ1パターンを基本にしている現状で2^nのテクスチャサイズを使用すると、とんでもなく描画が遅くなりそうな気がします。
703さんは、おそらく前者の1,2の方法でやっておられるものかと思われます。
>単純に古いドライバが悪かったってこととちゃうんかな?
漏れも、そう思っているのですが、結構多くの種類のVGAでD3DPTEXTURECAPS_NONPOW2CONDITIONALフラグのオンを
正常に検知してくれない現象があるようです。(っていうことからチェックの方法を疑っています。)
2^nのテクスチャサイズがサポートされてないと動かない問題のプログラム(自作)が、
ここ ttp://www.bekkoame.ne.jp/ro/tn_ws1100/2ch/ にあります。DirectX9完全対応VGA必須で作ってしまったのが鬱です。
早く2の累乗サイズ以外のテクスチャの対応が当たり前の時代が来て欲しいです。
0705デフォルトの名無しさん
NGNG>DrawPrimitiveUPを使用する場合は、転送元範囲指定が出来ない
転送元範囲って uv 座標でしょ?できるじゃん。
0706デフォルトの名無しさん
NGNG「指定されている」と 2^n 以外のサイズのテクスチャを「ある条件下でのみ」作成できる
ことを示す。ちゃんとドキュメント読んでる?
0707703
NGNG・後者の方法はテクスチャの差し替えが処理速度へのペナルティとなっていて遅い。
・DrawPrimitiveUPでもUV座標の指定なんか当たり前にできる。
・2^n以外のテクスチャの対応は将来も実装されないと思われます。対応する必要がない。
0708デフォルトの名無しさん
NGNGワラタ 変なもん作ってるなぁ。
0709704
NGNG>転送元範囲って uv 座標でしょ?できるじゃん。
uvを使用するとテクスチャ内で球面スクロールした状態になってしまいます。
球面スクロールしてきた余計な部分を、描画しないようにSetViewportでクリッピングすれば、完全な転送元範囲指定が出来るけど、
回転を掛けたテクスチャの場合、SetViewportは矩形領域指定なので、D3DXSPRITEと同等の転送元範囲指定はダメぽ。
正直、漏れはuv座標の使い道をよく知りません。
D3DXSPRITEと同等の転送元範囲指定をuv座標で実現できる方法を知っていたら教えて欲しいです。
>>706
>「指定されている」と 2^n 以外のサイズのテクスチャを「ある条件下でのみ」作成できることを示す。
D3DPTEXTURECAPS_NONPOW2CONDITIONALは、関係なかったみたいです。うわーん (´Д⊂ヽ
「2の累乗サイズ以外のテクスチャの作成」が可能かどうか調べる方法を知っていら教えて欲しいです。
「IDirect3DDevice9::CreateTextureの戻り値をチェックする」以外の方法でお願いします。
>>707
>テクスチャの差し替えが処理速度へのペナルティとなっていて遅い。
IDirect3DDevice9::SetTextureを使いまくっています。おそらく、VGAに余計な負荷が思いっきり掛かってそうです。
>DrawPrimitiveUPでもUV座標の指定なんか当たり前にできる。
705さんへのレスのようなことは出来るのでしょうか?よろしくお願いします。
>2^n以外のテクスチャの対応は将来も実装されないと思われます。対応する必要がない。
テクスチャの差し替えのオーバーヘッドを考えると、実装は無駄っぽいです。
教えてくれくれ君状態ですが、よろしくお願いいたします。
0710704
NGNG>変なもん
モナー板で旬のネタを題材にしました。
http://aa.2ch.net/mona/
モナー板面白杉。
0711デフォルトの名無しさん
NGNG>転送範囲と uv 座標
球面スクロールってのがよくわからんが。たぶん絵が潰れてリピートしてるんだろうな。
まず uv 座標が 0〜1 ということは理解してる?
テクスチャの幅が 16 だろうが 256 だろうが、テクスチャ座標は常に 0〜1 になる。
加えて、DirectDraw のようなビットマップ的座標表現とは違う。
ピクセルと整数座標が1対1では対応していない。
座標 0 は最初のピクセルの左端に、座標 1 は最後のピクセルの右端を指す。
詳しくはドキュメントのどっかにある、「テクセルとピクセル間の直接マッピング」を参照のこと。
0712デフォルトの名無しさん
NGNGちょっとまぎらわしいな。
文中の「ピクセル」は「テクセル」に読み替えてください。
0713デフォルトの名無しさん
NGNG>2の累乗サイズ以外のテクスチャ
そのまんま D3DPTEXTURECAPS_POW2 だと思われ。
0714703
NGNGテクスチャ側のuv座標は0〜1なので、
例えば、256*256のビットマップで左上128*128の領域は(0.0,0.0)-(0.5,0.5)だ。
その領域をスクリーンの(100,200)-(228,328)に貼り付けたいのなら、
struct TLVertex {
float x, y, z, w;
float u, v;
};
TLVertex vl[4] = {
{ 100-0.5f, 200-0.5f, 0.0f, 1.0f, 0.0f, 0.0f }, // 左上
{ 100-0.5f, 328-0.5f, 0.0f, 1.0f, 0.0f, 0.5f }, // 左下
{ 228-0.5f, 328-0.5f, 0.0f, 1.0f, 0.5f, 0.5f }, // 右下
{ 228-0.5f, 200-0.5f, 0.0f, 1.0f, 0.5f, 0.0f }, // 右上
};
device->SetTexture( 0, hage );
device->SetFVF( D3DFVF_XYZRHW | D3DFVF_TEX0 );
device->DrawPrimitiveUP( D3DPT_TRIANGLEFAN, 2, vl, sizeof(TLVertex) );
あーもうここまで親切に書いたんだから理解して頂戴。
何故0.5fを引くかは深くは考えるな。
正確にはピクセルサイズが(1.0f,1.0f)なので、
ピクセルの角を合わせるために0.5fずらしてある。
0715デフォルトの名無しさん
NGNG単にテクスチャステートの設定をしていないだけでは?
0716デフォルトの名無しさん
NGNGD3DFVF_TEX0 → D3DFVF_TEX1 でそ。
0718デフォルトの名無しさん
NGNGそのテクスチャをターゲットに書き込んだらどうなるんでしょうか?
0719デフォルトの名無しさん
NGNG0720
NGNG開発言語はVBです。
「へぇ」を多重で鳴らしたいだけなのよ〜
0721デフォルトの名無しさん
NGNGDupicateSoundBuffer
0722山崎 渉
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGどんな物があるんでしょうか?
ちょっと考えた物では、テクスチャに画面全体を描画して、
そのテクスチャをバンプマッピングで表示させればできそうですが、
必須環境の敷居が高くなりますよね・・・。
0727デフォルトの名無しさん
NGNGテクスチャにしているのなら頂点座標をいじるだけで済む
0728デフォルトの名無しさん
NGNGバンプマッピングで実現できそう、且つラスタースクロールという言葉が似合いそうな効果か・・・。
どんなものか非常に気になるな。
0729デフォルトの名無しさん
NGNGあれで似たような効果が出せると思ったんですが、
確かに本当の意味でのラスター毎の変化は無理かな。
0730デフォルトの名無しさん
NGNGやりたいことは、BumpUnderWater 相当のことではなくて、
単純なラスター毎のスクロールなんでしょ?
なら、スクリーンの縦ピクセル数だけ1ライン高さのポリゴンで分割して、
頂点座標やテクスチャ座標をいじるだけで済む。
0731デフォルトの名無しさん
NGNGただ、あれのバンプは水面を表現するために使ってるんで、
UVを動かすこと自体(=726のやりたいこと)とは別の処理なのです。
0732デフォルトの名無しさん
NGNG>>726タンは>>727や>>730が偉そうに書き込んでるようなことは当然理解してんの!
初歩の初歩を恥ずかしげも無く、しかも教えてやってる風に書き込むなんてカコワルーwww
よく>>726を読めよ。「DirectX8以降で」て書いてあるだろ。
より高レベルな手法でのラスタースクロールを726タンは探求してるんだって分かるだろ?
>>731もわけ分からんこと書いてるしな。
BumpUnderWaterはまさしくUVを動かすサンプルだろうが。
0733デフォルトの名無しさん
NGNGここは釣堀なインターネットですね
724 名前:デフォルトの名無しさん[sage] 投稿日:03/08/02 05:46
ここは釣堀なインターネットですね
724 名前:デフォルトの名無しさん[sage] 投稿日:03/08/02 05:46
ここは釣堀なインターネットですね
0734デフォルトの名無しさん
NGNG0735731
NGNGBumpUnderWaterは水面の凹凸により起こる屈折を表現するためにUV座標をずらしてるけど、
UV座標を動かすこと自体はなんでもない手法じゃん。
ラスタスクロールは何かの凹凸を表現したもんではないから
バンプマッピングではないと言いたかった訳ですが。
0736731
NGNGまさにUV座標を動かすサンプルであることには間違いないんだけど。
回りくどくてすまんな。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNGUVくらい誰でも知ってるだろ!
夏は特に強いから気をつけなくっちゃ!
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNG0741デフォルトの名無しさん
NGNGガンダム星からやってきた最強ロボットだー
マッハパンチ!マッハチョップ!最強だぜー
0742709
NGNGありが�d。転送元範囲指定できますた。
球面スクロール -- FM-TOWNSの開発マニュアルに出てきたりします。
ラスタースクロールってこれですか?
ttp://www.bekkoame.ne.jp/ro/tn_ws1100/data/saitama.zip
D3DXSPRITEで1ラインずつ描いています。
0743デフォルトの名無しさん
NGNGクリアしてない様だが
0744デフォルトの名無しさん
NGNG0745742
NGNGuv座標を使っての転送元範囲指定は、漏れのマシン上のプログラムでうまくいきました。
D3DXSPRITEの機能をDrawPrimitiveUPで再現できそうです。
saitama.zipは、何ヶ月か前に作ったものです。(uvは使っていません。)
ちなみに、動作条件はDirectX9以上となっております。
0746742
NGNG【FM-TOWNSの開発マニュアルの一部】
●仮想画面中の移動
画面枠
┌─────────┬──┐
│┌────────┼┐ │ ・仮想画面が画面枠より大きい場合に設定可能です。
││ .││ │ ・円筒スクロール可能の場合、縦方向に仮想画面を越
││ .│→ │ えた設定が可能です。
││ .││ │ ・球面スクロール可能の場合、縦横方向に仮想画面を
││ .││ │ 越えた設定が可能です。
├┼────────┘│ │
│└───↓─────┘ │
└────────────┘
仮想画面
って書いています。
0747デフォルトの名無しさん
NGNGαで白抜きしてるにも関わらず、毎フレームクリアせずにそのまま
重ねて描いてる様に見える。
起動して数秒で黒の固まりになる。
0748デフォルトの名無しさん
NGNG0749745
NGNGグラフィックボードの依存等で見れない場合もあると思いますので、
実行した時の画面をうpしますた。
ttp://www.bekkoame.ne.jp/ro/tn_ws1100/data/saitama.JPG
>>747
色々なVGAで動かしてみたのだけど、その現象には遭遇しませんでした。
>>748
VGA依存の問題かも・・・
0750デフォルトの名無しさん
NGNG>αで白抜きしてるにも関わらず、毎フレームクリアせずにそのまま
>重ねて描いてる様に見える。
とりあえず↑に思い当たる所は無いのね。
0751749
NGNGしてないです。
テクスチャ1 →(ライン転送)→ テクスチャ2(一時的にターゲット) →(丸ごと転送)→ レンダリングターゲット
をD3DXSPRITEで行っています。
DirectX9で作っていること自体が特殊だと思われw
0752デフォルトの名無しさん
NGNGうちの場合、テクスチャをターゲットにすると、ソースのα(αビット・DIFF)
がターゲットテクスチャのαビットに描画される。
やっぱり、白でクリアするか、 →(丸ごと転送) の手前でα切らないと、
うちでは駄目ぽ。 これが通常の動作だと思ってたよ。
0753デフォルトの名無しさん
NGNGうちの GeForce4MX では普通に表示されたよ。
0754デフォルトの名無しさん
NGNGAGP Aperture Memoryがあるから、物理VRAM16MBしか積んでなくても32MB等と示されるわけで。
つまりその場合、我々は32MBのテクスチャを確保しても問題ないということなのかな。
パフォーマンス的にやはり問題あり?
0755デフォルトの名無しさん
NGNGパフォーマンスはやっぱり実測で有効かどうかを試さんと分からんかと。
0756754
NGNGあー、やはりそうですか。マイクロソフトのfaqにも「パフォーマンスを絶えずテストしろ」とか
書いてありますしね。
ちなみにテストとして、現在の空きテクスチャをログに定期的に書き込み続ける
アプリを作ってみました。
で、G450 VRAM16MBの環境(GetAvailableTextureMemだと32MBになるので、
AGP Aperture Memoryは16MB?)の環境で、某メルティブラッドのメモリ使用量を
大雑把にテストしてみた。
どうやらこのソフト、明らかにテクスチャ20MB以上は使用しているようだが、
比較的快適に動いている。物理VRAMは足りないのだが。
Direct3Dとドライバがマネージしてるってことかな?
0757デフォルトの名無しさん
NGNG毎フレーム常に全テクスチャを駆使しない限り、使用頻度の低い
テクスチャはVRAMから弾き出されるみたい。
0758デフォルトの名無しさん
NGNG(・∀・)イイッ
0759デフォルトの名無しさん
NGNG0760デフォルトの名無しさん
NGNGみなさんはDirectXプログラミングは生C || better Cでゴリゴリ書いてるのですか?
C++でクラス化してみようと思ったりするもよーわからん。ラッピング?
ていうか何をクラスにすればいいんだ。要求分析、設計できないんですが。
良質のDirectX C++ サンプルコードが見たいです。
0761デフォルトの名無しさん
NGNGウィザードが吐き出すコードをとりあえず見てみよう。
いやしかし、よくできたスレタイだね。
0762デフォルトの名無しさん
NGNGBCCなので無理です。鬱だ氏のう。
0763デフォルトの名無しさん
NGNGそもそもDirectXはCOMで実装されてるんだから、
薄いラッパークラスなんて要らない。
0764754
NGNG使用していないテクスチャは、物理VRAMから自動的に追い出されることはわかりました。
しかし気になることが。
D3DPOOLはD3DPOOL_DEFAULTじゃないとダメ?D3DPOOL_MANAGEDはどうですか?
0765デフォルトの名無しさん
NGNGD3DPOOL_DEFAULTはビデオカードにとって最適の場所
(おそらくほとんどの場合ビデオメモリ)に優先的にリソースを置く。
D3DPOOL_MANAGEDはシステムメモリにDirect3Dがコピーを持ち、
必要に応じてビデオメモリに転送する。
ということで、むしろD3DPOOL_MANAGEDじゃないとダメなんだと思う。
0766デフォルトの名無しさん
NGNGMANAGEDはシステムメモリとVRAM間じゃないのかね。
0767デフォルトの名無しさん
NGNGなるほど。>>764の言う「追い出し」っていうのはVRAMからAGPメモリへの退避なのか。
しかし、ドキュメントに特別な記載が無いし、
Direct3DはVRAMとAGPメモリとの違いを見てないような気がするけど・・・。
0768
NGNGって話じゃなくて?
0769デフォルトの名無しさん
NGNG全然違う・・・
0770デフォルトの名無しさん
NGNGC#のペイントイベントの中でDirectXの描画を呼び出すと、
一瞬だけ映像が見えてすぐに基本色で上書きされて
しまうのですが、何か方法ないのでしょうか?
C++では、WM_PAINT呼ばれた時に、
Present→ValidateRect(hWnd,NULL);
で、再描画を解除できたのですが・・・。
0771デフォルトの名無しさん
NGNGDirectX、C#のスレが既にありますね。
こちらの質問は撤回させていただきます。失礼しました。
0772754
NGNG自分が言いたいことですがつまり、
物理VRAM16MBの環境で4MB×5枚計20MBのテクスチャを最初に確保した場合、
4MB分現在使っていない(BeginScene-EndScene間で使われていない)
テクスチャがあればそれは自動的にVRAMから破棄される。
必要になったら呼び戻される。
つまり現在使用しているテクスチャが16MB以下であれば、最初に確保したテクスチャの量に関係なく、
レンダリングの結果も問題なし、レンダリングの速度も大幅低下しないのではないか。
ということです。
ドキュメントに明示的に記載されていないので確証は無いのですが。
仮に物理VRAM16MB、AGPメモリ16MB確保されている場合。
D3DPOOL_MANAGED:
物理VRAMで必要なくなったデータは(空きが無くなった場合)破棄される。
必要になったらまたシステムメモリからコピーされてくる。
D3DPOOL_DEFAULT:
物理VRAMで必要なくなったデータは(空きが無くなった場合)AGPメモリに
転送される。必要になったらまた物理VRAMに戻される。
以上でいいのかな?
D3DPOOL_DEFAULTの解釈が怪しいような。指摘プリーズ。
AGPメモリ→VRAMと、システムメモリ→VRAM の速度がほぼ同じなら
D3DPOOL_MANAGEDがいいのかなと思っていますが。
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG不要なテクスチャを破棄するコストと
再度必要になった場合にテクスチャを復帰するコストを合わせて考えると、
AGPアパーチャメモリ→VRAMの転送コストが
システムメモリ→VRAMの転送コストの半分以下でなければ
パフォーマンスは向上しない、ということになる。
で、問題の転送コストだが・・・誰か知ってますか?
0776デフォルトの名無しさん
NGNG× AGPアパーチャメモリ→VRAM
○ AGPアパーチャメモリ←→VRAM
0777デフォルトの名無しさん
NGNGDEFAULTはレンダーターゲット、MANAGEDは要ロックじゃないの。
0778デフォルトの名無しさん
NGNG用途で考えずに、性質で考えなよ。
0779デフォルトの名無しさん
NGNGそこで知りたいのが以下のどの処理の段階で描画が行われるのでしょうか?
・DrawIndexdPrimitive()が呼ばれた直後
・EndScene()の直後
・Present()の直後
個人的にはEndScene()の直後だと重いますが・・・。
この直後にトランスフォームなどをしてやれば高速化できるのだと思います。
ご伝授よろしくお願いします。
0780デフォルトの名無しさん
NGNG0781デフォルトの名無しさん
NGNGD3DXCreateTextureFromFile 関数を使用し画像を読み込み、
読み込んだ画像にたいして SetColorKey を使用し透明色を設定しました
そして、D3DXDrawSpriteTransform 関数を使用し描画したんですが
何故か透明色が働きません。
考えられる原因としては何がありますか?
もし、良ければ教えてください。お願いします。
ちなみに DirectDraw の方の機能の BltFast では透明色が働きました。
追伸
D3dDevice->SetRenderState( D3DRENDERSTATE_COLORKEYENABLE, TRUE ) ;
はすでにおこなってあります
0782デフォルトの名無しさん
NGNG再領布パッケ−ジ、開発者ランタイム、シンボルファイルの3つがありますが
最後のシンボルファイルだけインストーラがついておらず、どのフォルダにいれればよいのか
分かりません・・・。英語の公式サイトページを見ても分かりませんでした。
0783デフォルトの名無しさん
NGNG対応するファイルと同じところじゃネーノ
0784デフォルトの名無しさん
NGNGDXアプリウィザードインスコされてないんですけど・・・
もしかして、仕様?
0785デフォルトの名無しさん
NGNGSDK9.0bっても、ランタイムとか以外は以前のSDKのまま。
だから付属のインストールファイルは.NET2002用。
何度か既出の質問なんで、このスレか1つ前のスレを検索してみれ。
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG時代はC#なんだよ?わからないかな・・・?
0790デフォルトの名無しさん
NGNG人柱がんがれ
0791デフォルトの名無しさん
NGNG金が。
0792デフォルトの名無しさん
NGNG0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGなんでそーなるのか知らんが、ウィザードの事だったら最近の過去ログ探れ。
たしか二箇所の書き換えで.NET2003に入れられる。
0795デフォルトの名無しさん
NGNGDirectX C#スレは過去ログとは言わないと思うYO!
0796デフォルトの名無しさん
NGNGC++での話じゃないの?
0797デフォルトの名無しさん
NGNGプログラムを組むのもどうかと思いますが
PC初心者ですか?
0798デフォルトの名無しさん
NGNGこのスレは色々な所から多重継承されてるされてるから見落としがあるかもしれんが
C++系の鬱氏で該当レスは見あたらんよ
>>2の過去ログにはなかった
過去ログをみろというレスは見かけたんだが・・・
GREPかけてもサパーリヒットしない(DAT落ちスレ除く)
0799デフォルトの名無しさん
NGNG違うだけで、C#と同じ方法で出来るのでは?
0800キリ番ゲッター見習い ◆cEL6a7QKc2
NGNG今だ!800番ゲットォォォォ!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄
=@ =@ ∧_∧
``) ( ´∀`)
`)⌒`) ⊂ ⊂ )
≡≡≡;;;⌒`)≡≡≡〈 〈\ \
;;⌒`)⌒`) (__)(__)
ズザーーーッ
0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGやっぱりDirectXやるなら、COMの事を理解しておいた方が良いでしょうか?
というか、意気込んでCOMスレいったら、通夜ムードで…。
今現在のCOM知識は、ヘルプの該当個所を斜め読みした程度です。
0803デフォルトの名無しさん
NGNGこれがトゥーンシェーディングか、と……。
0804デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNGファーシェーディングでどうやるの?
0807デフォルトの名無しさん
NGNGDirectShowだとQueryInterfaceを使うね。
COMは使い方だけ知ってればいいと思う。自分でDLLでも作ろうと思わん限りは。
0808デフォルトの名無しさん
NGNGDirectX的には、シェーダープログラミングの理解に時間を振り当てた方が良い。
0809デフォルトの名無しさん
NGNGどっかいいサイトor本知りませんか?
0810デフォルトの名無しさん
NGNG腰を据えて、ドキュメントを見ながら
自力でサンプルを読み解いていくのをお勧めしたい。
0811デフォルトの名無しさん
NGNGもう知ってるのかもしれないけど、そのサンプルを読むのに知っておいたほうが
よい情報を教えておきますよ。
ID3DXAnimationControllerのSetTimeメソッドを呼ぶと、D3DXFRAMEの
TransformationMatrixが適切な値に設定される。
俺、これに気づかなくて理解するのにだいぶ時間がかかった。
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG鬱、、、
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG探してはいたんだが、、、
3日くらいがんばればサンプルでも問題ない(と思う)んだが
漏れは一応受験生なんで時間が取れんのよね、、、
とりあえずサンプルをすこしずつ解読していきます。
0816デフォルトの名無しさん
NGNG実装の手本はSDKサンプルで。
0817デフォルトの名無しさん
NGNG個人サイトなので、Google経由
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=DirectX8%E3%81%AE%E3%83%AF%E3%83%B3%E3%82%B9%E3%82%AD%E3%83%B3%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AA%E8%A9%B1
0818デフォルトの名無しさん
NGNGベクトルとか行列とかの数学は結構勉強してるから必要な知識はあると思います。
C#ならわかりやすいコーディングがあったんで今それをCに直しているところです。
>>817
説明をざらっと読んでプロジェクトを落としてソースを眺めたりは
してました。こちらも参考にしてやはりSDKのサンプルをメインに
がんばっていこうと思います。
てか皆さん本当にいろいろとありがとうございます。
アニメーションを出来るか出来ないかは3Dの分かれ目だと思うので
がんばって早めに取得しようと思います。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGそれでもDirectX8時代のSkinnedMeshに比べたら
ものすごく簡単になってるんだよ・・・
DirectX9のアニメーションは楽でいいね、
モーションブレンドとかも実装されててやらなくていいし
0821デフォルトの名無しさん
NGNG後、C#的プログラム手法が嫌だ。
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG文字入力をしたいのですが、(チャットウインドウのような)
誰かご存知のかたいませんか?
0827デフォルトの名無しさん
NGNG640*480===>>1280*1024(上下に黒帯、スムージング無し)
の拡大ドライバって作れないでしょうか?
0828デフォルトの名無しさん
NGNGなぜこのスレに・・・?
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNGスレ違いだったのですか
すみません
>>829
液晶側では受けられない信号なので
GPU側が液晶パネル側の解像度に
スケーリングして出力します。
0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNG今でこそ色んなところで日本語サンプルや解説が転がっていて楽だが
DX8が出た初期のころはアレを理解するのに相当の時間を食った…
0833デフォルトの名無しさん
NGNGネット上に転がってますぞよー。
0834デフォルトの名無しさん
NGNGDirectXの互換ドライバを作るってことなの?
スレタイトルみた?
ま、ドライバスレッドって無いみたいだけど。
0835デフォルトの名無しさん
NGNGラッパ一つで簡単に出来そうだけど、拡大もするのか。
0836デフォルトの名無しさん
NGNGDDRAW(DX7)が扱える最大画像サイズと、どの環境でも動くであろうと
思われる推奨の画像サイズはどんだけでしょうか。
経験上でも結構なので、よろしこ (゚∀゚)
0837デフォルトの名無しさん
NGNG最低動作環境に設定されている640*480
それ以外は保証されない
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNGVB DirectXの超素人質問したいのですが、どこですればいいんでしょうか・・・
初心者スレが見つけられません
0840839
NGNG放置
0841デフォルトの名無しさん
NGNGグシャグシャになってしまう〜。
なんでやねん。ドライバも最新(と言ってもカードが古いが…)入れとるし。
誰か他に動かなかった人いる?
0842デフォルトの名無しさん
NGNGライト視点でレンダーターゲットのテクスチャに
オブジェクトを描画して投影テクスチャを作り、
それをライトからの影として貼り付けたいのですが、
その際のテクスチャトランスフォームの値と
UV値の設定方法が今ひとつ理解できません。
この辺り詳しい方がおられたら御教授お願いします。
0843デフォルトの名無しさん
NGNG0844デフォルトの名無しさん
NGNG2つの射影平面をどうやって合わせるか、っていうほうが問題になってそう。
まず最初にライト視点のz深度画像を書くわけだけど、
この画像は通常視点の射影平面とは別の位置にある。
ライト視点の射影平面にあるわけです。
本描画時の頂点シェーダでは、
通常視点で座標変換した頂点座標をピクセルシェーダに送り、
更にz深度画像を書いたときと同じ座標変換をした頂点座標も送ります。
同じ変換をしているのだから、当然、この変換で得られた同次座標の値は、
ライト視点の射影平面における位置を表しています。
(その同次座標をfloat4 tとすれば、t.xy/t.wが射影平面の座標値になる)
このとき、同次座標のz値と、z深度画像のz値を比較すれば、
光が当たっているか、影の領域なのかが判定できるっちゅうわけです。
それから、z深度画像を参照するときはテクスチャ空間に変換しなきゃならんので、
本描画時の頂点シェーダで、z深度画像を書いたときと同じ座標変換の行列に、
テクスチャ空間に写像する行列もついでに掛けておきます。
もちろんテクセルの中央をサンプリングさせるようにすることも忘れずに。
0845デフォルトの名無しさん
NGNGシェーダ使わないで実装しようとしているなら、やめた方がいいかも。
テクスチャトランスフォームの仕様が明確でないせいで、HALとTnLHALで
(ドライバによって)別の行列を使わないといけなかったり。
0846デフォルトの名無しさん
NGNGどうも勘違いしていたようで、
テクスチャの投影自体は、以下の方法でできました。
D3DMATRIX lightView; //ライトビュー
D3DMATRIX lightProj; //ライトプロジェクション
D3DMATRIX texScale; //x *= 0.5f; y *= -0.5f;
D3DMATRIX texMove; //x += 0.5f; y += 0.5f;
D3DMATRIX InvView; //メインビューの逆行列
D3DMATRIX matrix = InvView * lightView * lightProj * texScale * texMove;
SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS,
D3DTTFF_COUNT3 | D3DTTFF_PROJECTED );
SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_CAMERASPACEPOSITION);
SetTransform(D3DTS_TEXTURE0, &matrix);
>>845
トランスフォームに違いがあるんでしょうか?
Geforce2では可能でしたが・・・。
0847デフォルトの名無しさん
NGNG全ての環境で動くように作るのが無理ってだけで、特定のチップで動くよう
に作るのは可能。
0848デフォルトの名無しさん
NGNGどっかで見切りをつけるしかないよ。
0849デフォルトの名無しさん
NGNG0850デフォルトの名無しさん
NGNGチップセット内蔵グラフィックかなぁ
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG工学社のDirectX9実践プログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4875934610/qid=1060918749/sr=1-1/ref=sr_1_2_1/250-0559328-1750651
に添付のCD-ROMからDX9をインストールし、DirectXGraphicsのサンプルをビルドして
実行したところ、フルスクリーンでは画面が一瞬だけ表示されて落ちる。ウィンドウモードで
はフリーズします。
デバッグしてみたところ、ID3DXSprite::Beginを実行しているところで、
「ハンドルされていない例外はDXGSample01.exeにあります:0xC0000005: Access Violation。」
とメッセージボックスが表示されました。
サンプルには何も手を加えていません。どうか解決策をご指南下さい。
0853デフォルトの名無しさん
NGNG自分のとこでは大丈夫なんだけど。
とりあえずWindowsUpdateしてみるとか・・・。
0854山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0855デフォルトの名無しさん
NGNGnullポインタにアクセスしているんだろうから、
デバッガのヲチウィンドウでチェックしてみれ。
0856デフォルトの名無しさん
NGNG0857852
NGNG普通に走らせると確かにスプライトのインターフェースがnullポインタになっていました。
どうしてVisualC++上でだけ正常に動作して、普通に動作しないんでしょう?
ビルド後のプログラムをアップしてみました。
http://lignel-hp.hp.infoseek.co.jp/DXGSample01.exe
0858デフォルトの名無しさん
NGNG俺の環境でもnullポインタ参照を確認した。
ただexeファイルをアップされても、これくらいしか言えん。
つーか、ウイルスチェックの手間を考えると
俺みたいな暇人じゃないと、実行すらしてもらえんぞ。
0859852
NGNGhttp://lignel-hp.hp.infoseek.co.jp/Sample1.lzh
がプロジェクト本体です。
0860デフォルトの名無しさん
NGNGああ、すまん言い過ぎた。
ソースのアップは著作権関連でヤバそうだから消すべし。
どうやらテクスチャの読み込みに激しく失敗してるようだ。
>DXGSample01.cpp(165): InitDXGraphics D3DXCreateTextureFromFile (hr=D3DXERR_INVALIDDATA (0x88760b59))
0862デフォルトの名無しさん
NGNGテクスチャファイルはどこに置いてる?
0864デフォルトの名無しさん
NGNGしかし、デバッグビルドだと結構詳細なシンボル情報が残ってるもんだね。
0865デフォルトの名無しさん
NGNG現在メインのチップセット内蔵グラフィックボードは何でしょうか?
0866デフォルトの名無しさん
NGNGチップセット内蔵グラフィックボード????????????????????????????????????????????????
0867デフォルトの名無しさん
NGNGきっとマザーボードのことだよ
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNGどうして同列扱いで解説しやがるんだろうな。チンコ!ヽ(・∀・)、
おかげでソースが汚くなったじゃないか・・・。
スキニングあるなしでシェーダ分けるのって馬鹿らしいな(DirectX8)
てか、最近、この辺どうなってんのよ。
DirectX9になってからましになった?
0871デフォルトの名無しさん
NGNGだれもいないし・・・。
0872デフォルトの名無しさん
NGNGヲタの祭典、コミケだと思われ(w
0873デフォルトの名無しさん
NGNGつーか質問ないと成り立たないスレだからなあここ
0874デフォルトの名無しさん
NGNGえ?そうなの?
3Dな人たちもあそこにいってるのかなぁ?
>>873
暇ならなんか質問してみてよ。
難しいのは答えられないけど。(なんじゃそりゃ)
0875デフォルトの名無しさん
NGNGみんないないよー・・・
おかーーーーーちゃーーーーーん!
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNGたいていどちらにも興味があるからだろう。
まず実装方法が来る>>870はライブラリオタ。アプリ作ってますか?
だいたいシェーダなんて、ライトの数その他の条件で分けていったら
数百個行くのなんてあたりまえだろ。管理がうざいってのはみんな思ってる。
0878デフォルトの名無しさん
NGNGじゃあ、やっぱり組むしかないんだ?
おかーーーーちゃーーーーーーん!
0879>>2ちゃんねらーの皆さん
NGNGこれらの御尊像を手に入れて、金運向上等を祈願しましょう。(爆)
http://www.butsuzou.com/jiten/sanmen.html
http://www.butsuzou.com/list1/sanmen2.html
http://www.butsuzou.com/list1/sanmen3.html
http://www.butsuzou.com/keitai/sanmen-kz.html
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNG同意
どこいってもコミケのせいにしてる「自分はヲタじゃない!」って感じのがいる
そこまで影響ねぇだろ! …ないよね?
0882デフォルトの名無しさん
NGNGないかな?
0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNG689 名前:デフォルトの名無しさん 投稿日:03/08/14 06:41
C++って、Cより++(チョメチョメ)な分エロいんですか?
どんなプレイのことをC++(シーチョメチョメ)って呼ぶんですか?
それと昔、棒ランド(某ランド?)っていうヤバい会社もC++してたんですか?
MSのはVisual的にスゴいのか・・・(;´Д`)ハァハァ
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNGムヒョヒョヒョとしてたのですが、いざ使おうと思ったら色々悩みが・・・・。
例えば素手の人に、銃を持たせるにはどうしたらいいかさっぱりでして。
手の子フレームとして、銃付ければいいや、なんて簡単に考えていたのですが、
モーション付けツールとかとの兼ね合いで面倒になってしまいまする。
上手い方はどうやっているのでしょうか。
いっそ銃持つ人と、素手の人を、別モデルとして扱おうかなどと
考えているのですが、やはりメモリの無駄かな・・・・。
0887デフォルトの名無しさん
NGNGどう面倒になってしまうのでしょうか?
めり込むのがどうとかなら多少のポリ割れには目をつぶってみてはどうでしょうか?
指の動きがどうとかなら手首ごと切り取ってみてはどうでしょうか?
銃に限らず道具をもっているときと素手のときとを同じアニメーションで
すまそうとか考えてるデザイナがうザイなら
「あまえんじゃねー!それでプロのつもりかゴラァ!」
とかしばいてみてはどうでしょうか?
・・・なんか私では解決できそうにないですね。
だれか助けてage
0888886
NGNGええっと、今現在、私に出来るのが、一番簡単なモーションデータ付き
Xファイルを出力したり、それを再生する事だけなんです。フレーム階層があって、
それと一対一のアニメーションフレーム階層が、工夫も無くくっついてる様な。
例えるなら・・・
・人のモデルと、そのアニメーションデータ
・銃を持った人のモデルと、そのアニメーションデータ
(人は共通)
このままなら、モーション作る人も私も分かりやすくて幸せなのですが、
実際にはたぶん、下記のデータはバラバラに扱った方が良さそうでして。
・銃のモデル
・人のモデル
・銃を持った人のアニメーションデータ
・素手の人のアニメーションデータ
しかしバラバラに扱い、プログラム側でケース別に対応するのも面d・・・・骨ですし、
モーション作る人も介入しづらいですしで・・・悩んでます。
なんかこう、明快なやり方でもあれば是非。
0890887
NGNG人に銃を持たせるだけのような気がするのですけど。
そうでもないのでしょうか?
うーんと、つまりアレですか?
手の階層がどれかわからない、もしくは、
手の階層がどうにもとりにくい構造になっちゃったということですか?
Xファイルを読み込んだときに各階層の名前も保存しておいて
モデルの階層構造に対して名前で検索をかけて
「手の階層をとってくる」とか出来るようにしておけばいいのではないでしょうか?
それともそういう話ではなにのでしょうか?
0891887
NGNG質問の意味がなんとなくわかったっぽいです。
1つのモデルに対して複数のアニメーションをつけるには
どうしましょうか?
ってことですね。
てっとりばやくやるには
00-10フレームまでは 歩き、
10-20フレームまでは 走り、
20-40フレームまでは 殴り、
40-53フレームまでは 立ち。
とかやると現在の構造を変えずにアニメーションができます。
でも、このやり方って最悪ですね。
上の例で開発中に途中で
走りアニメーションのフレーム数を変えたい。とかなったら
どうするんでしょうね。
Xファイルで複数のアニメーションを
扱うにはどうすればいいかって結構悩みますね。
モデリングツールでAnimationSetを複数吐き出してくれる
ならそれで解決する感じがするようなしないような気がしますね。
それともそういう話でもないですか?
0892887
NGNGあ、訂正。
フレームの長さとアニメーションの並び順で管理すれば結構使えますね。
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNGhttp://www.oakcorp.net/max/cs.shtml
↑こんなの3dsmaxとセットで買えないよー。
Maya考えちゃうな。
0895886
NGNGぐぁぁぁ、大した質問用意できなかったのに、教授の時間取らせてしまった
時の状況みたいだ・・・・に、逃げ出したい!すいません、本当に。
一つのモデルに複数のアニメーションは、なんとかできていて・・・説明不足で申し訳ないです。
>>891での通りAnimationSetを複数、Xファイルに加えています(でも時間フレームで管理の方が便利そうですね)。
ただそのモデルに、もう一つ二つモデルを、くっつけたい時の扱いが・・・・。
デザイナー(そんな大それたものじゃないですが)側は、どこのモデルが
共通とか考えず、別Xファイルとして、ひょいひょいデータを送ってくる状況なんです。
でもそうか・・・こっちで差分取って、まとめるしかないのかな・・・・できるかな・・・・。
D3DXLoad〜系でお手軽にやってるものですから、>>890で指摘頂いた
辺りが面倒で、つい他の方法や、データ側でどうにか出来ないかと甘えてしまいました。
対話型デバッグじゃないですが、なんだかスッキリしてきました。
親身なレス、本当にありがとうございました。
>>893
どうもです!今は無理ですが、いつかの励みにしたいと思います。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG市販品でもその辺できてないのあるし、最初は気にせんでもええと思うよ
何やるにしろ、いつでも剣持ったままのゲームとかあったやろ、あれだ
0898デフォルトの名無しさん
NGNGDX9だとモーションブレンドが出来るし
0899デフォルトの名無しさん
NGNGそりゃもちろんそうでしょう。
それが本当の使い方でしょうし。
0900デフォルトの名無しさん
NGNGクラス固定のRPGって実はごまかしなんだろうか
使用武器固定みたいな
0901デフォルトの名無しさん
NGNG武器を構えていないときは、そのフレームを表示しない。
後から持たせるより、最初から持っているものを表示しない方が
ラクだと思う。
0902デフォルトの名無しさん
NGNGつまり特定のフレームを消すだけでは意味がありません。
0903デフォルトの名無しさん
NGNG今まで見てきたwebサイトでは書いていなかったんですが、先ほど見たwebサイトに
CoInitialize(NULL);
を関数のはじめのほうに呼び出してCOMインターフェースを初期化し、
CoUninitialize();
を関数の終わりに呼び出してインターフェースを閉じる作業をさせていました。
DirectX9を使っていく上で、これらの作業は必要なんでしょうか?
0904>>2ちゃんねらーの皆さん
NGNGこれらの寺院にて諸願成就を祈願しましょう。(爆)
(1-4件目) http://www.z-shoten.or.jp/
http://www.tctv.ne.jp/matuti/
http://www5b.biglobe.ne.jp/~ryumyoin/
http://www1.ocn.ne.jp/~tatsueji/
(5件目)
寺院名 吉祥山唐泉寺
通称 江戸川不動尊
所属宗派 真言宗泉涌寺派
住所 〒133−0051
東京都江戸川区北小岩七丁目10−10
京成電鉄の小岩駅から徒歩約15分
(JR線の小岩駅は、
京成電鉄の小岩駅とはもの凄く離れているので不可。)
電話番号 03−3658−4192
住職 高田正圓
(女住職で、先代住職(高田真快)の奥さんであった模様。)
本尊 不動明王
祈祷日及び祈祷時刻
通常は毎日午前6時より(150分前後かかる模様)
行われるが、毎月28日には(不動明王縁日として)
午前11時にも(2時間ほどかかる模様)行われる。
祈祷料
(普通護摩) 3000円 5000円 10000円
(特別護摩) 30000円(21日間) 100000円(108日間)
300000円(365日間)
0905デフォルトの名無しさん
NGNGモーションは当然、武器の有る無し別に用意する。
当たり前の話だと思うけど?
0906デフォルトの名無しさん
NGNGそれは殴るアニメーションを件所持のときに適用したりしなければすむことでは?
>>901のはフレーム階層構造を一定に維持しようってことでしょ。
0907デフォルトの名無しさん
NGNGここで必要かどうかを答えることは出来ますが、
まずCOMについて勉強されることをお勧めします。
その上でCoInitializeがどうして必要なのか、
誰が呼び出すべきなのかを考えてください。
0908デフォルトの名無しさん
NGNGDirectMusicなどでは必要
0909デフォルトの名無しさん
NGNG同じモーション使うって前提の方がおかしいぞ。
モーションはもちろん別でしょ。
それより他の武器を持たせたい時困りそうだ>フレーム消しで対応
0910デフォルトの名無しさん
NGNGその質問が実行スパンのことであるなら、
関数単位で呼び出すことは無い。
アプリケーション単位でよい。
その質問が呼び出しの必要性であるなら、
CoCreateInstanceを使うDirectShowでは必須。
Direct3DCreate9でDirect3Dを作成する場合は不要。
ドキュメント冒頭の「COMの使い方」を読め。
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG複数の武器を兄弟フレームで持たせて、必要なものだけ表示するようにすればいい。
キャラクターが使う可能性がある武器を、全てモデリング段階で決定して置く
必要があるけど、普通は決まってるよね。
0914デフォルトの名無しさん
NGNG>>908
>>912
勉強になりました。
ありがとうです
0915デフォルトの名無しさん
NGNGDirect3DCreateみたいなヘルパー関数に頼っていると
CoInitializeを使わなくて良いわけです。やってくれるから。
普通にCoCreateInstance使うとD3DでもCoInitializeやらなきゃならん
0916デフォルトの名無しさん
NGNGでもそれって使わない頂点とかモーションとかテクスチャとかも
全部読んどく必要があるんじゃね?
(データが気にならないほど小さいときは別にいいけど)
やっぱりちょっとした部品のカスタム機能ぐらいはつけても
バチはあたらないようなそのほうがいいような。どうよ?
0917デフォルトの名無しさん
NGNG簡単な方法とかって何かありますか?
0918デフォルトの名無しさん
NGNGカラーキー消えたじゃん。
時代は変わったんだよ。
消えたものわざわざ使うと面倒だよ。
ちょっと情報を集めるにもなかなか知っている人がいない。
これからつまづくたびにたくさん走り回って調べなきゃいけない。
0919デフォルトの名無しさん
NGNGカラーキーなんて画像に固有のものなんだから、
テクスチャ読み込んだ後にLockしてアルファチャネルを設定すればいいじゃん。
0920917
NGNGすいません、アルファチャネルをどのように設定すれば白に出来るのでしょうか?
0921デフォルトの名無しさん
NGNGいや、アルファはカラーキーの代わりに設定するだけ。
あなたがやりたいことは2Dアクションとかで
キャラが白く光るような効果でしょ?
それなら、テクスチャステージで、テクスチャ色ではなく
白に設定したディフューズ色とかを選択すればいい。
0922917
NGNG> あなたがやりたいことは2Dアクションとかで
> キャラが白く光るような効果でしょ?
その通りです。
> それなら、テクスチャステージで、テクスチャ色ではなく
> 白に設定したディフューズ色とかを選択すればいい。
僕はSpriteというやつを使って描画をやってるので
テクスチャステージとかディフューズ色というのが
よく解らないんですけど、もしかするとSpriteだと出来ないんでしょうか?
0923デフォルトの名無しさん
NGNG0924デフォルトの名無しさん
NGNGまあスプライト程度、自分で作ればいいってこった。
0925デフォルトの名無しさん
NGNGMODULATE2X使って光度2倍にしてやるとかかな。
D3DXSPRITEは使ったことがないからどういう結果になるかは知らん。
スペキュラなんかスプライトに使う必要なし。
0926デフォルトの名無しさん
NGNG海の良い表現方法無いでしょうか?
ちなみに、現在は一枚の板を半透明で出してるだけ。
海岸にうち寄せる波辺りを表現したい・・・。
0927デフォルトの名無しさん
NGNG海そのものと、打ち寄せる波の2種類に分けてたように見えました。
波はテクスチャを張った板を動かすという感じだったような。
ただ、あまりにもソレが分かってしまう感じで、なかなか萎えれました。
0928デフォルトの名無しさん
NGNG0929デフォルトの名無しさん
NGNG波打ち際の波しぶきはやっぱテクスチャ貼るしかないんだろうか。
0930デフォルトの名無しさん
NGNGこいつにはイベントというのがあるようなのですが
どういう機能なんでしょうか?
具体的に言うと、アニメーションコントローラーに割り当てた
アニメーションセットの再生が終了したときに通知を受けたいわけです。
自前でやっても全然構わないのですが、トラック毎の再生速度も
変更できるようなので、ちょっと面倒ですよね。
そこで、イベントを使えばいけるんじゃないかと。
でもヘルプのID3DXAnimationControllerに関する部分では
「GetMaxNumEvents コントローラでサポート可能なイベントの最大数を取得する。 」
としか書いてなくて、イベントとは何なのか、イベントを割り当てるにはどうすれば
いいのか、などの情報を見つけることが出来ませんでした。
0931デフォルトの名無しさん
NGNGID3DXAnimationControllerは別スレッドで動いてるわけじゃないので
イベントは同期オブジェクトではないと思われます。
0932デフォルトの名無しさん
NGNG波しぶきをテクスチャで貼るとして、
海岸線の抽出や波の向きはどういう処理で可能でしょうか?
単純に上下するだけでも、
変化のあった岸の部分だけ透明度をあげて描画できない物かな・・・。
0933デフォルトの名無しさん
NGNG海岸線は、普通に高さと水面の交線を求めればいいかな…
透明度を上げて描画、ってのは、深さによる濁りみたいなもん?
それならそのまんま深さからα値へ変換すればよさげ。
しかしリアルな波しぶきの表現の画像とかあったら見てみたいもんだなあ
0934デフォルトの名無しさん
NGNG素人があんまり頑張りすぎない方が良いと思うよ
自分なりのアイデアがあるならまだしも
ここで聞いて回ってるようなレベルでは、ね
単なる嫌味にしか聞こえないかもしれんが妥協は大事だ
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNGMSが配布しているXファイルエクスポーターは
行列キー以外のタイプで出力できないのでしょうか?
また、複数のアニメーションセットを出力することは
できないのでしょうか??
0937デフォルトの名無しさん
NGNGどうも全部繋がっちゃうんだけど。
それともD3DPT_TRIANGLELISTでやらないとだめなのかな。
やりたい事は敵キャラの弾を1回で描画なんだが・・・。
ちなみにDX7使ってます。
0938デフォルトの名無しさん
NGNG角の取れた滲んだ拡大が行われてしまいます。
純粋に拡大コピーをするにはどうすればいいのでしょうか?
0939デフォルトの名無しさん
NGNG角の取れたってのがよくわからないが純粋に拡大してくれるよ。
RECTの指定が間違ってるんでないの?それかドライバの(ry
綺麗に拡大させたいのならLockして自前で拡大処理すればよろしい。
0940デフォルトの名無しさん
NGNG謎が多い・・・。
では、ID3DXAnimationControllerに関して、もうひとつ質問いってみようか!!!
これから、ID3DXAnimationSetを取り出して、どこかのID3DXInterpolatorを
取り出します。
LPD3DXKEYFRAMEINTERPOLATOR pd3dInterpolator=NULL;
pd3dAnimationSet->GetInterpolatorByIndex(i, (LPD3DXINTERPOLATOR*)&pd3dInterpolator);
インターポレータから回転のキーをとりだします。
UINT numRotations=m_pd3dInterpolator->GetNumRotationKeys();
D3DXKEY_QUATERNION* pRotationKeys=new D3DXKEY_QUATERNION[numRotations];
pd3dInterpolator->GetRotationKeys(pRotationKeys);
このとき、キーが存在する時間の回転を補間によって取り出してみたときに、
DOUBLE time=pRotationKeys[0].Time / pd3dInterpolator->GetSourceTickPerSecond();
pd3dInterpolator->GetSRT(time, pScale, pRotation, pTranslation);
キーで表されている回転 pRotationKeys[0].Value と
補間で得られる回転 *pRotation が違うのです。
どう違うのかというと、pRotationKeys[0].Value は *pRotation の逆元なのです。
このふたつは等しいはずだと思うんですが・・・。これはなぜなんでしょうか?
0941デフォルトの名無しさん
NGNG012, 345
が頂点の三角形なら
012, 23, 345
の順にindex化すると
見えない三角形ができてストリップを繋げられる。
四角形なら
0123, 334, 4567
でも、Listで描くよりかえって遅くなるけど・・・。
0942デフォルトの名無しさん
NGNGあーほんと出来るけど遅くなる。
スプライトの高速化ってみんなどーやってんだろ。
0943デフォルトの名無しさん
NGNG上の連結も頂点が5つ以上なら多少意味があるのかも・・・。
結局、Listをindexで描画して、
後はできるだけDrawPrimitive回数を減らすくらいしか無いのでは。
(Stateやテクスチャが同じ物をまとめて描画する)
VertexBufferに積んでも
座標がスプライト毎に変わるから余り意味無いし。
0944デフォルトの名無しさん
NGNGバージョンはいくつを使ってはじめるのがお勧め?
OSはXPです。
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGDX9 の Managed DirectXでDirectDrawを使う
0947デフォルトの名無しさん
NGNG0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNGどうせREFで動かしてもまともな速度にならないのに。
設計当時はCPUで何とかなるレベルだと思ってたの?
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGハードウェアが怪しい動作をしているかどうかのチェックが出来るんじゃない?
ソフトウェアレンダラは必ず正しい結果でレンダリングできるから
0952デフォルトの名無しさん
NGNG敵弾くらい小さいものなら
三角形の内接円みたいに敵弾テクスチャを描いて
ポリゴン1枚で済ませるとか。
>>944
個人でやるならDX9にシフトしといたほうが良いと思う。
>>949
その名の通りreference用かと。
比較検証用。
0953デフォルトの名無しさん
NGNGポリゴン数は半減するけど、フィルレートはどんなもんだろ?
0954デフォルトの名無しさん
NGNGあんまり関係無くない?(PCだと)
どっちかっていうとフィルレートの方が問題になる場合多くない?
そんなことない?
0955952
NGNGあんまり深く考えてなかった。
0956_
NGNG0958デフォルトの名無しさん
NGNG画面全体を塗りつぶすだけで結構処理くってるのですが・・・。
0959デフォルトの名無しさん
NGNGできるだけ前から描画するくらいがプログラマにできることでしょう。
0960デフォルトの名無しさん
NGNG…他の処理は済んでる前提だよな?
…フィルレート稼ぐなんてプログラマ以外は出来ないと思うけど…
0961デフォルトの名無しさん
NGNG良いビデオカードに買い換えるってのは無しの方向で。
0962デフォルトの名無しさん
NGNGαテストで完全透明部分を回避、
くらいしかできんからなあ。
0963デフォルトの名無しさん
NGNG0964938
NGNGBltで拡大コピーと行うと、アンチエイリアシングが行われるのですね、
StretchBltではアンチエイリアシングは行われないんです。
BltでStretchBltのようにアンチエイリアシングされないBitのやりかたを
知りたいんです。
Lockしたり、StretchBltすれば同じ結果を得られるとは思うのですが、
出来ればDirectXの機能で行いたいのですよ。
よろしくおねがいします。
0965デフォルトの名無しさん
NGNGアンチエイリアシングじゃなくてバイリニアフィルタリング。
ドライバ側の設定を変えなくちゃいけないんだろうが
DirectDrawはもはや失われたに等しいので詳しくは分からない。
Direct3Dに乗り換えてください。
0966デフォルトの名無しさん
NGNGID3DXAnimationControllerの人柱報告、激しくキボンヌ(切実)
0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969968
NGNG死んできます。
0970デフォルトの名無しさん
NGNGとかいってみる
0971デフォルトの名無しさん
NGNG>>970
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNGはいな!直リン!
http://monsho.hp.infoseek.co.jp/dx/dx54.html
http://if.dynsite.net/t-pot/program/72_HLSL/index.html
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG( ・∀・)もうそんな時期ですか・・・
鬱だ氏のう DirectX (Part 10)
http://pc2.2ch.net/test/read.cgi/tech/1061420660/
0978デフォルトの名無しさん
NGNG>http://www.cc.rim.or.jp/~devilman/
どうにかして見られないものか
0979デフォルトの名無しさん
NGNGそーいうときはコレを使うとやっぱり見つかったりするらしい。
http://web.archive.org/web/20020607052151/http://www.cc.rim.or.jp/~devilman/
レス数が950を超えています。1000を超えると書き込みができなくなります。