[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/11 09:12 / Filesize : 247 KB / Number-of Response : 959
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part17 【C】



1 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:55:56 ]
※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

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

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。

【C++】 DirectX初心者質問スレ Part16 【C】
pc11.2ch.net/test/read.cgi/tech/1202634347/

651 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:29:32 ]
256はわかったから、640はどうなんだよ

652 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 23:49:00 ]
>>650
だから、変更できないってなんだよ…
画面プロパティからは変更できないだろ、XPとか使ってれば。

ここはDirectXスレだっての

653 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:02:15 ]
DirectXのスレで画面プロパティとかアホですか

654 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:37:37 ]
>>652
だから、アプリの方でエラーがでちまって起動できないっての

655 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:30:42 ]
256はわかったから、640はどうなんだよ!

656 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:36:12 ]
>>651,655
うるせー

657 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 07:03:44 ]
どうなんだと聞いている
答えろ

658 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 07:31:58 ]
今日はここに沸いてるのか

659 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 10:06:09 ]
640×480は256色しかサポートしてないってメーカーPCも昔あったな

まぁ結局の所解像度決め打ちにしてるなら動く解像度を動作環境内に書いておけってことだ。
Windowsなんてタダででもいろんな環境がありすぎるんだから全部テストなんて出来ん。
解像度くらいはプロパティから数値が見えるんだから環境限定でいいだろ。
グラボのDXサポート状況に比べればどうと言うことはない



660 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 10:08:28 ]
フルスクリーンじゃなくて窓を開いて640×480の256色モードとかなら
XPもサポートしてるよ

Delphi Graphic Secretsという本を持っているんだがここでいろいろな
画面モードを実験している

661 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:20:22 ]
LPD3DXSPRITE::DrawとLPDIRECT3DDEVICE9::DrawPrimitiveを両方使ってるのですが
前者より手前に後者を描画するにはどうすればいいですか?
描画の順番変えても必ずスプライトが前になってしまいます

662 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 22:23:07 ]
Z

663 名前:661 mailto:sage [2008/05/31(土) 22:59:42 ]
解決しました
位置のZ座標指定してもうまく処理されないと思ったらClearするときにZバッファ指定してなかっただけでした。
スプライトのZ座標は描画順だけらしいので交錯させる等複雑な描画をしたい時は完全にDrawPrimitiveの方に統一するしかないですか?

664 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 15:22:51 ]
SetRenderState( D3DRS_ZENABLE , FALSE );
3DやらないならZバッファ使わんだろ
使ってもいいけど
使わん方が早いだろ
ついでにステンシルバッファも作らなくていいし
クリア時もZ消さなくていいし

665 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:16:47 ]
>>664
Zテストの前から描画って2Dだとそんな効果ねぇっけ?

666 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:18:21 ]
>>665
半透明や加算合成を一切使わず、抜き色で使うアルファ値も
エッジにAA効果を持たせない二値限定のスプライトが前面に多く
描画されると仮定できる状況なら、大幅にフィルレートを稼げるかもね

でなけりゃただの逆効果

667 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:02:57 ]
>>666
α値が0%(不透過)のところだけZバッファだけ書き込んでなんとかならんかったっけ?

668 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:25:36 ]
>>667
だからカラーキー目的で二値しかアルファ値使ってなけりゃ、アルファテストでいけるよ

でもエッジにアンチェリ(段階的なアルファ値の適用)使った時点で駄目だし、
当然アルファブレンドも使えないしで、2Dスプライトの描画において深度バッファで
速度が稼げるってのは結構レアケースだと思うよ

669 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:29:40 ]
>>668
α値が1のときだけ〜って処理いけんかったっけ?
まあ、いけたとしてもそんなに早くないか・・・



670 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 09:54:29 ]
かなり重いピクセルシェーダーを使わない限り深度バッファでの高速化って恩恵ないだろ

671 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:21:37 ]
もしくは、点を打つのが激重なグラボ

672 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 19:07:07 ]
俺のディスプレイ
最低解像度800x600だった
でも、640x480できたお

673 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:03:27 ]
>>671
なんだその存在価値のなさげなグラボは

674 名前:デフォルトの名無しさん [2008/06/04(水) 00:19:51 ]
自分で定義した頂点情報をDrawPrimitiveで表示するときや、
読み込んだXファイルをDrawSubSet()で表示するときなどにmaterialを設定しても描画に反映されません

D3DXCreateSphere()等で取得したメッシュをDrawSubSet()する場合は反映されます
materialを有効にするにはSetMaterial()以外に何か設定が必要なのでしょうか?

675 名前:674 mailto:sage [2008/06/04(水) 01:53:23 ]
すいません、自己解決しました
D3DRS_DIFFUSEMATERIALSOURCEでマテリアルを参照するよう設定するのを忘れていました

676 名前:デフォルトの名無しさん [2008/06/04(水) 19:25:36 ]
ビルドは上手くいくのに実行するとすぐに終了されてしまいます
DirectX 9.0 SDK Update (Summer 2003)
に変えてからこうなりました
以前はSummer 2004を使っていたのですが不具合が色々あったので変えました

もしかしたらDirectXの設定がおかしいのかもしれませんわかる方いたら教えていただきたく思います

677 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:36:42 ]
ブレークポイントしかけて、ステップ実行してみれば?

678 名前:676 mailto:sage [2008/06/04(水) 19:58:37 ]
すみません
BCC Developerを使っているのですがブレークポイントの設定の仕方がわかりません…

679 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:01:10 ]
>>678
VC(正規OSならタダでダウンロード可能)にしてやってみるか
printfをおきまくれ



680 名前:676 mailto:sage [2008/06/04(水) 20:10:01 ]
VCは以前インストールしようとしたのですが
「サーバとの接続を再度確立します」と表示されてインストールできなかったのでやめました

自分で組んだプログラムではなく、サンプルをダウンロードして実行しようとしただけなのでコードに問題は無いと思います
Summer 2004で実行したときは大丈夫でしたが
Summer 2003に変えてからおかしくなりました

おそらくDirectXの設定を間違えていると思うのですが…


681 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:14:09 ]
なんだバージョンダウンかよ
DX関数に必要なDLLがないんじゃね?

682 名前:676 mailto:sage [2008/06/04(水) 20:29:59 ]
診断ツールではsystem.dlがないとありましたが
調べてみるとそこまで必要なものではないようでした

サンプルがSummer 2003を対称にしているのでDLLが足りないわけでもないと思います

683 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:34:51 ]
>>680
IE7か割れOSだろ?

684 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:35:37 ]
BCCはVCといろいろ違いがあるんで
BCC対応のライブラリを作るなり取ってくるなり手間が必要だったような気がするが

685 名前:676 mailto:sage [2008/06/04(水) 20:38:01 ]
firefoxですがIE6が入ってます
OSはノートの正規品です

もともと古いPCなのでグラボの性能が低いのが原因かもしれませんが
Summer 2004で実行できたので…

686 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:57:38 ]
>>685
いくつか関数の仕様が変わったもんがあったような気がするけどそこは直した?
ビルド通らないと思うけど

687 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:01:17 ]
2004のサンプルを2003で動かそうとしてんだろ?
足りないもんとかあるんじゃね?
変なコントロールまわりなんかやけに9.0初版のときより豪勢になってるし
バージョンダウンで動かそうとするのなんて時間の無駄じゃね?

688 名前:676 mailto:sage [2008/06/04(水) 21:06:24 ]
ビルドは通ります
エラーもありません

サンプルは2003用のです
2004からコンパネでDirectXが設定できなくなっていたので
2003にしました

689 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:21:30 ]
最終奥義「クリーンインストール」



690 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:07:03 ]
実行してすぐに落ちてるんなら普通に戻り値調べたらなんか出てそうだけどな
ちゃんとエラーチェックしてる?w

691 名前:デフォルトの名無しさん [2008/06/05(木) 01:33:17 ]
CとC++ってどう違うの?

692 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:33:50 ]
CのインクリメントがC++

693 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:47:21 ]
サンプルは環境によって落ちるものは落ちる、市販のゲームとは違うよ
サンプルの実行に拘る理由がよく分からない

694 名前:デフォルトの名無しさん [2008/06/05(木) 03:34:04 ]
質問です.
MPEG-2を取り扱うアプリケーションを作成したいんですが.
Directshow()で可能だとは思うんですが.
マニュアルはありますか?


695 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 03:38:32 ]
>>693
言ってることも割れ臭いし
目的もなく2003だしで正直胡散臭いよねw

696 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 04:39:25 ]
>>694
英語で良いならWindows SDKのドキュメントにある
日本語ならDirectX9 SDKの古いドキュメントがまだMSからダウンロードできたはず
場所の検索は自分でやってネ

697 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:21:39 ]
DirecctX SDK(Mar 2008)とVS2005を使っています。
使っている参考書は
www.amazon.co.jp/dp/4839912475/
です。
この本ではDirectXのアプリケーションウイザードがVSに追加されているのですが、私の環境では追加されませんでした。
VS→SDKの順にインストールしました。
最近のバージョンだとDiretctXのアプリケーションウイザードは削除されたのでしょうか?

698 名前:676 mailto:sage [2008/06/05(木) 19:38:46 ]
2004 Summerにしたら実行できました
2003にしようと思ったのもコンパネから設定変えたかっただけなのでこのまま2004でいこうと思います

DirectX勉強してるサイトのサンプルだったんで何とか実行したかったんです
原因はわかりませんでしたが色々とありがとうございました

699 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:47:21 ]
>>697
結構前に廃止された
たぶん2004年のどっか

>>698
最近のは確かにコンパネに設定が追加されなくなったが
DirectX UtilitiesのなかにDirectX Control Panelってものがあってだな
昔コンパネから設定できたことと同じことができるんだぜ?



700 名前:676 mailto:sage [2008/06/05(木) 19:55:53 ]
>>699
教えていただきありがとうございます
ただ、2004にはないようです
最新のはPCの性能的に難しそうなのでこのまま我慢することにします

ちなみに5年くらい前のpentiumVです

701 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:15:42 ]
シェーダーを使ってトゥーンシェード(逆引き500に載ってる方法)をやろうとしているのですが、
一部を除き真っ黒になってしまいます。
どういう時にこうなるのでしょうか?

702 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:35:18 ]
ごめんオレエスパーじゃないし

703 名前:デフォルトの名無しさん [2008/06/05(木) 23:45:32 ]
DirectPlayがサポート打ち切られたとかマジですか

704 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:56:33 ]
DirectX SDKドキュメントのなんと1ページ目にDirectPlay is deprecatedの一文がッ!

705 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:00:11 ]
2007年6月あたりのSDKがサポートラスト。
ランタイムは当分のこるだろうけど。

706 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:18:28 ]
9cはもう終わりか?

10の時代なのか?

707 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:55:02 ]
9cの時代のままです

708 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:23:42 ]
10はVISTA限定という暴挙にMSが出たからね
おかげで10の普及は相当に遅れるだろうね

709 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:22:26 ]
XPみたいに皆にブーブー文句言われながら8年後位には普及してるよ



710 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:28:15 ]
そう思っていた時期がMeにもありました

711 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:30:34 ]
細かいバージョンを見れば、MSは失敗作をけっこう出してるよ
そしてすぐに無かったことにしている
SEとかCEとか3.0とかMMCとか、NTとか
Vistaもそんな感じ

712 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:34:44 ]
そりゃXPよりブーブーいうだろ
基本的に全てのアプリはDirectXで組んでくださいっていうスタンスなんだから

713 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:38:04 ]
              __
           ,...-‐:"´:.:.::.:.::.:.``:‐,,、
      ,.-..,、/:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:`、  _
     /:.:.:./:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:';;´::.:.l
    l:.:.:.:.:.l:.:.:.:.:.:.:.:.:.:/|:.:.:.:.:.:.:.:.::l、:.:.:.:.::.:.:.:.:l:.:.:.::|
.    |:.:.:.:.:l:.:.:.:.:.:.:.::.::/ |:.;:.:.:.:.:.:.;l:l l:.::l;:.:.:.:.:.:l:.:.:.:;l,
    |:.:.:.:.:.|:.:.:.:.:.::l:.:/ |:|.l:.:.:::.:.:l|l  |:.:ll:.:.:::.::.ll:.:.:.::|i
.   |:.:.:.:.:l|:.:.:.::.::l.|/` 、|l l:.:::./l _,,.-l:j´l:.:.:.:.:| l:.:.:.:lii
   l:.:.:.::.:l i/l:.:.:l |l‐ェ-ュ,` l:://´ェ--,-,.l:.:.:lヽ l:.:.::.l.ii
.   l:.:.:.:.:;l l (l:.:.:.lヽゝ_ノ  '"  ゝ_ノノ.l:.::l,l l .|;:.:.:.l.ij 
   l:.:.:.::.lij `ゞ::.:l ,、,       ∧/l:.:.l/ j|:.:.:.:l.ii
.  |:.:.:.:.:|.ii   ';:.:l、     '   .  ,l::/   l.l:.:.:.l.i|
.  |:.:.::;.;| ii   ヾl >、.   0   , イl:/、   | |:.:.:.l li
.  |:.:.:.|i| ji,.-ィ'´l `l ` ‐-‐ '´  l  l``l‐-l、|:.:.:.l ij
  |:.:.:.:|i|'´/ l  ヽ `、      /  /  l  .l |:.:.:.| i|
 すとーっぷ。>>712は素早く変な空気を作るねぇ…
 >>709より不安な子を見つけたよ。

714 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:02:40 ]
DX9、C++でのテクスチャに関する質問です。
テクスチャのクラス(CTexture)を作り、コンストラクタに画像ファイルのパスを渡してクラス内でテクスチャ(Texture)を生成しています。
CTextureのデストラクタでTextureを削除するようにし(delete Texture)、メモリの解放を試みているのですが
その状態でCTexture* で作ったオブジェクトを削除すると、ヒープが壊れているというエラーが出ます。
多重deleteでエラーが出ることは調べてわかったのですが、
if(Texture) delete Texture;
としているにも関わらずエラーが出るので困っています。
どのようにしてテクスチャが占有したメモリを解放すればよいのでしょうか?

715 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:18:42 ]
>>714
見事にスレ違いだ。
そして君のやりたいことは多分こうだ。

if (Texture) { delete Texture; Texture = NULL; }

716 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:40:27 ]
>>715
できました、ありがとうございます!!そしてごめんなさいでしたァ!!

717 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 05:40:52 ]
delete Texture;
Texture = NULL;

これでおk
delete NULL;は合法
ま、どのみちスレチ

718 名前:デフォルトの名無しさん [2008/06/07(土) 12:22:05 ]
www.h2.dion.ne.jp/~takusoft/directx8/d3d/chapter1/sec07/d3d_07.html
のサンプルプログラムを参考にお勉強しているのですが
画面の頂点情報を動的に変えるために
頂点バッファを確保する箇所

VOID* pVertices;
if( FAILED( g_pVB->Lock( 0, sizeof(g_Vertices), (BYTE**)&pVertices, 0 ) ) )
return E_FAIL;
memcpy( pVertices, g_Vertices, sizeof(g_Vertices) );
g_pVB->Unlock();

を処理で何回も経由させる場合
以前に確保したメモリはどのように解放してあげれば良いのでしょうか?
よろしくお願い致します。

719 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:33:41 ]
確保も何もそれはロックしてるだけだと思うが・・・。
あと頻繁にロックするならDYNAMICで作ってDISCARDでロックしろ



720 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:53:13 ]
なるほど、メモリのロックという概念をよく分かってませんでした
動的に確保してるわけでは無いんですね
同じところに何度も上書きしてる感じなのかな?
DYNAMIC と DISCARD は調べてみます
ありがとうございました

721 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:07:06 ]
Direct3DのX-ファイルとテクスチャに関しての質問なんですが。
Xファイルのモデルを作って、それにプログラムでテクスチャ座標を設定して一つのアイテムを作成するのではなく。
モデリングソフトでモデルを作ってる段階で、視覚的にテクスチャを設定して、その情報が入ったXファイルとテクスチャを読みこませて
テクスチャ座標をいちいち設定しなくてもアイテムを表示させたりって出来ないんですかね?

なんだか大体の本はモデルの読み込みと表示は説明してても、モデルの作成からテクスチャの設定部分が余り説明されてないので分かり辛い…
DirectXで使うことを前提とした3Dの本とかってないですかね?

長々と読み辛い文章スマソ。

722 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 15:58:36 ]
メタセコイアとかで普通にやればそうなると思うんだけど

723 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:02:06 ]
>>721
キミが求めている情報を知りたいのならプログラムの本ではなくデザインの本を買うべきだよ。
DirectXだのOpenGLだと自前レンダラーだの関係なくそれはグラフィックデータの話だ。

724 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:28:31 ]
>>721
普通にモデリングソフト触ればわかるだろが

ちなみにXファイルの中にマテリアルってもんがあって
そのなかにたくさんテクスチャ設定できるようになってるじゃん

構造でいうと

Xファイルx1
  メッシュxN
   マテリアルx1
     テクスチャx1
   モデルのUVx1

な感じになってるのか?(バンプ(マルチテクスチャ2枚以上考慮外)とか考えないと)
Xファイル1つにメッシュがたくさんあって
メッシュ1つにつきマテリアルとUVが1つずつあって
マテリアル1つにつきテクスチャが1つあると・・・

だから、Xファイル1つにテクスチャは複数ある構造がいまのXファイルなわけよ

725 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:38:42 ]
メッシュに対するマテリアルの数に制限はないぞ

726 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:45:35 ]
>>725
そうだっけ?
あーでもそうなってる気もするな

でも実用性なくね?
どの頂点がどのマテリアルか決定しなきゃいけないから
読み込むときにマテリアル単位でメッシュわけなきゃいけないな
この辺はモデリングソフト次第って感じ?

727 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:12:08 ]
モデリングの段階でテクスチャやマテリアル毎に
わざわざメッシュを分けて作る方が現実的じゃないだろ。

実際D3DXMeshでも属性テーブルって形式でマテリアル毎に分割して描画するようになってる。


728 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:25:37 ]
XFileに組み込んだマテリアルやテクスチャって1回XFileから読み込んで
デバイスにセットする方法しかないの?

729 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:27:13 ]
デバイスにセットしないでどうやってレンダリングするのかと



730 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:50:41 ]
>>727
メッシュ1つのマテリアル毎にテクスチャが違うって状況か?
あんまり違いがないならメッシュ1つに付きテクスチャ1枚な
俺の経験だとそんなモデルは重過ぎて動かねぇ

まあ、いまソースみたら俺もできるように組んであるけどなw
スキンメッシュでかなり苦労してた記述がみられるw

スキンメッシュのデータはマテリアルごと描画できるデータになってねぇのなw
抜けてんだな>Xファイルの担当者

731 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:00:24 ]
>>730
何を言ってるかわからねえがスキンメッシュだろうなかろうが同じように描画できるが・・・。
顔の表情とかをテクスチャ差し替えでやろうと思ったら顔だけテクスチャ別にするだろjk

732 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:31:24 ]
>>731
ボーンと頂点を結びつけるインデックスがそうはなってないと思ったが

>>731
メッシュで分けちゃってるな俺んとこのデザイナさん
もちろんプログラムではなんでもできるようにしてあるが

733 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:42:08 ]
>>731
インデックスとマテリアルは関係ないじゃろ。
最終的にはポリゴン1つ1つにマテリアルのインデックスが振られているんだから
それを使ってマテリアル毎に分解して再構成するだけ。
っていうかD3DXで読み込めば全部やってくれるけんど。

734 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:42:37 ]
>>733
>>731じゃねえ>>732だ。

735 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:14:17 ]
>>733
>それを使ってマテリアル毎に分解して再構成するだけ
この作業が面倒臭いって話だな
インデックスがメッシュごとだから、自前で読み込むときは
1回マテリアルごとに直す必要があるな

736 名前:デフォルトの名無しさん [2008/06/07(土) 22:22:43 ]
DirectX End-User Runtime Web Installer
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&DisplayLang=en
DirectX End-User Runtimes (June 2008)
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=822640ab-0983-4c41-9c70-632f6f42c557&DisplayLang=en
DirectX Software Development Kit
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=519aae99-b701-4ca1-8495-39ddde9d7030&DisplayLang=en


737 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:52:14 ]
>>736
そんなの貼っても割れ厨にはどうせ見れないぞw

738 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:54:40 ]


739 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 22:59:26 ]
ああ、そういう事か。
犯罪者の都合は考慮しないよ。



740 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:07:03 ]
>>738
ランタイムのウェブインストーラーや開発キット、ヘルプなんかは
ウィンドウズの正規OSでないと落とせなくなった
なのでたまにこのスレで「落とせません」とか「見れません」とか
「わかりません」とかいう奴はほぼすべて割れ厨

741 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:11:28 ]
PC買えばOS付いてくるのに割れ厨って意外と多いのな

742 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 04:24:44 ]
オンラインゲームをやってるんですが
directxを前のverに戻したらパフォーマンスって下がりますか?

743 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 04:51:37 ]


744 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 15:05:13 ]
安全に Release メソッドを呼ぶマクロとして
SAFE_RELEASE のようなものを見かけますが、

// safe release
#define RELEASE(p) ( (p) ? ( (p)->Release(), (p)=NULL ) : (0) )

このマクロで何か問題ありますか?
参照を使った関数だと BCC に注意されたので

745 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 16:17:37 ]
>>744
翻訳しないで原文ママのエラーメッセージを。

746 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:35:36 ]
DirectShowを使ってGUIのメディアプレイヤーを作っているのですが、
IMediaSeeking::GetDurationで再生時間を取得すると、
3分33秒より長いファイルはオーバーフローして負の値になってしまいます。
IMediaPosition::get_Durationで取得しようとすると、E_NOTIMPL(実装されていない)が帰ってきます。
3分33秒より長いファイルの再生時間を取得するにはどうすればいいのでしょうか?

開発環境はVisual Studio 2005 Pro、言語はCです。

747 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:37:54 ]
最小のコードくらい出せカス

748 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:38:00 ]
CComPtr使いなさい

749 名前:746 mailto:sage [2008/06/08(日) 17:49:53 ]
>>747
IGraphBuilder *pGraph;
IMediaControl *pMediaControl;
IMediaSeeking *pSeek;
IMediaPosition *pMediaPosition;
REFTIME length;
REFERENCE_TIME TotalTime;

CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
   IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaSeeking, (void **)&pSeek);
pGraph->QueryInterface(IID_IMediaPosition, (void **)&pMediaPosition);

pGraph->RenderFile(FileName, NULL);

pMediaPosition->get_Duration(&length);
pSeek->GetDuration(&TotalTime);

こんな感じです。



750 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 20:43:53 ]
REFERENCE_TIME は普通に使ってる分にはオーバーフローしないが
どこかで int にキャストされてるんじゃね
SetTimeFormat 指定しておいたほうがいいんじゃねえ

751 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 23:34:30 ]
DirectMusicを最近扱っているのですが、
GetGlobalParam(GUID_PerfMasterVolume, reinterpret_cast<void*>(&V), sizeof(V))で
何故かE_INVALIDARGが返ってきて音量の取得ができません。
不正な引数とありますが、どれが不正な引数なのでしょうか?(Vはlong型です)

ちなみに、この処理を行う前にパフォーマンスの作成、パフォーマンスとシンセサイザーの初期化、
ローダーの作成を行っています。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef