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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:06:29 ]
※回答する人も、質問する人も必ず読んでください

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

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

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

【C++】 DirectX初心者質問スレ Part23 【C】
pc12.2ch.net/test/read.cgi/tech/1242977486/

829 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 16:10:27 ]

工エエェェ(´д`)ェェエエ工工


830 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:35:07 ]
あそこが見たいだけじゃないのか?

831 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 23:40:13 ]
>>828
長門さんがこちらを見ています

832 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 07:20:57 ]
脳内変換だ

833 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:11:36 ]
アニメーションコントローラーを使ったアニメーションで
1ループ分のアニメーションの完了を検知したいのですが、

// if(アニメーション時間 >= 1ループかかる時間)
if(AnimationSet(AnimationID)->GetPeriodicPosition( ? ) >=
AnimationSet(AnimationID)->GetPeriod())

このような判定で合っているでしょうか?
合ってる場合、「?」の部分の引数にはなにを指定したらいいのでしょう?

msdnの解説では「アニメーションセットのローカル時間」と書いていますが、
GetPeriodicPosition()の戻り値こそがローカル時間ではないのでしょうか?

834 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:34:13 ]
なんかもう、誰も使ってない、仕様があやふやだし自分で作らない限り無間地獄から抜けられない
という結論が数年前から変わってない。


835 名前:デフォルトの名無しさん [2009/08/14(金) 11:56:07 ]
いやいやDirectX使わないとXBOXやWindowsでゲーム作れないって

836 名前:833 mailto:sage [2009/08/14(金) 12:32:32 ]
自己解決(´・ω・`)
GetPeriodicPosition()はグローバルな時間をローカル時間に変換するメソッドのようで?
参照すべきだったのはトラックの方でした

837 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:41:02 ]
シェーダーで描画してるんですが
固定機能のフォグって同時に使えるんですかね?
やってみたらかからないので、
やはりピクセルシェーダーで自前でかけるんでしょうか?



838 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 21:53:15 ]
ピクセルシェーダを自前で書くのなら、自前でかける

839 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 02:53:20 ]
DirectXのプログラミングを始めようとおもうのですが
これはSDKのチュートリアルにのってる最新のもの?から勉強していって良いのでしょうか?
それとも以前のバージョンから順に勉強していくほうが良いのでしょうか?


840 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 02:55:23 ]
>>839
通常はそんなめんどくさいことはする必要はない。
ただしバージョンごとにできることと動かせる環境に差異があるので、
DirectXのバージョンを比較した記事をいくつか読んで、
自分の作りたいものがバージョンいくつがふさわしいか最初に決めること。

後々でバージョンを変更するのはプログラムを作り直すようなことと等しい。

841 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 02:58:53 ]
directxを更に使いやすくしたライブラリって通称名とかありますか?
また鉄板の物はありますか?

842 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 03:05:53 ]
>>841
山ほどある。
が、結局DirectX自体と直接格闘したほうが得るものが多い。
お勧めのライブラリはほかのヤツらよろしく。

843 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 03:07:37 ]
>>842
なるほど、ありがとうございます
ある程度作れるようになったら、改めて探してみることにします

844 名前:839 mailto:sage [2009/08/16(日) 03:10:57 ]
>>840
なるほど、勉強になりました。
ありがとうございます


845 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 03:53:38 ]
directx自体を理解してないとライブラリの使い方も理解出来ないからライブラリは無駄w

846 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 03:57:10 ]
そうそう、面法線を計算して頂点を共有する面頂点の合計を正規化したものを頂点の法線に設定してみたけど
球体の見た目はかなり綺麗に仕上がる
角度で適用するかどうか判別すれば尖った部分も表現出来るんじゃないか

847 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 07:25:33 ]
>>845
さすがにそれはない。
もしそうならEasyLinkLibraryはあんなに流行らなかった。



848 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:04:06 ]
>>846
モデルデータ制作者の意図のをエスパーのごとく判断するプログラムを作らない限り無理。
だったら普通に法線をデータに含めればいいだけだろ。
いったい何がしたいんだ?

849 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:05:14 ]
大抵のライブラリは自由度を優先しててただのDirectXラッパーで終わってるから意味ないんだよ
例えば視点移動とかエフェクトとかがすべて内包されてて使用者はその中から選ぶだけとか
そこまでやってあるライブラリなら意味があると思うけどないでしょ
仮に誰かが作ったとしても無料では出さないでしょ

850 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:06:43 ]
>>849
それもうライブラリじゃなくてただのツクールだから。

851 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:07:12 ]
>>848
とりあえずただの頂点データだけのメッシュをフォトリアルに表示する方法を模索してる

852 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:09:38 ]
>>851
だからなんで頂点データだけにする必要があるのかを聞いているんだが。

853 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:11:10 ]
>>849
Irrlichtとかがまさにそれじゃないか?

854 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:13:38 ]
>>852
ただのモデルビューアだから、決まったものを表示するわけじゃないので
最終的にはゲームを作りたいけど、とりあえずビューア作って勉強しつつライブラリに包括していってる
ツクールの心臓部分になるかもしれない

855 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:14:47 ]
法線がなかったらライティングしない、
あるならライティングする、が普通のモデルビューアーの挙動だと思うが

856 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:17:19 ]
だから最終目標がツクールレベルだから、法線さえ知らなくても最新ゲーム並みの画像が出せるライブラリを作ってる
自分用にw

857 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:22:21 ]
法線なしで最新ゲームなみの画像とはこれはこれは大したもんだ。
デザイナーだったら3秒で投げ捨てろって言うライブラリだな。



858 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:23:54 ]
自動生成した感じでもかなりリアルだけどな

859 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 08:35:18 ]
エッジの抽出をどうすんだって話じゃねえの

860 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 09:13:15 ]
モデリングソフトで簡単に出力できるものを、わざわざ利用しない理由の答えになっていない。

カラーで出力できるのに、わざわざモノクロ写真からカラー写真にしろと言っているのが理解できているのか?

861 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 09:55:00 ]
モノクロ写真をカラーにする技術は重宝されてるし、画像処理では主流の研究課題ですけど

862 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 10:00:14 ]
頂点法線の取り扱いについて、多少話しが振れてくれれば
得るものもあるが、デザイナとかモデリングソフトとか
得るものが何もない。

>>モデルデータ制作者の意図のをエスパーのごとく判断するプログラムを作らない限り無理。
別にモデルデータ制作者の意図を反映する必要はない。

863 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 10:35:16 ]
>>861
元のツールがカラーで出力できるんだからそれでいいだろって話してんだろ。

864 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 10:36:12 ]
>別にモデルデータ制作者の意図を反映する必要はない。
デザイナーに言ったら殴り飛ばされそうなセリフだな


865 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 10:49:53 ]
何小難しい討論してんだ

正確に描画したいなら法線をつけて出力する。
法線がない時は「とりあえずそれなりに描画する」ってやりたいだけだろ?

別にD3DXにだって、法線の自動生成機能はあるけど、別に批難するやつはいないだろ

866 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:17:19 ]
そもそも法線を自動化することも出来るってだけで法線入れればそっちを優先するだけだがw

867 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 12:48:52 ]
質問です。
DrawTextを使って計算したFPSを表示したいのですが、LPSTR型に変換すると動かなくなります。LPSTR型にうまく変換する方法はありませんか?



868 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 12:58:51 ]
>>867
逆だ。プログラム全体をLPWSTRで統一するんだ。(Unicodeビルドしてるなら)
オレはそれが嫌になってC++でWindowsプログラム書くのをやめた。

869 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:01:04 ]
なんでこのスレにいるの?

870 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 15:45:23 ]
ヒトリデモ オオク ノ ワカモノ ヲ ユニコード ノ ジゴクカラ スクイタイ

871 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 15:47:40 ]
時代に取り残された老人は消えるべきだ

872 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:19:28 ]
SJISがデフォルトのOS上でプロジェクト新規作成したらユニコードデフォルトとか嫌がらせ以外の何者でもない

873 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:36:36 ]
時代に取り残された老人は消えるべきだ

874 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 17:42:06 ]
もはやSJISがデフォルトにはなっていないが、いったいいつの時代の話をしているんだ?

875 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 18:31:50 ]
今時のOSはユニコードが基本ってばっちゃが言ってたけど

876 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:42:12 ]
最近のOSがどうだろうが関係ねえ。
社内のツールがすべてSJIS前提だから選択肢ねーんだよ。
という会社けっこうあるんじゃない。



877 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 19:57:32 ]
オープンソースのぜんぶSJISなのにどうすんの



878 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:00:01 ]
ゲームのパラメータファイルとかは、基本SJISだからなぁ
わざわざユニコで書く奴いるか?

879 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:07:20 ]
ツールが吐き出すXMLもUTF8が使われている時代に何を言ってるんだろう?

880 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 20:18:40 ]
XML厨のプログラマが自己満足で環境を整備しないとSJISでズルズルいくね。
そして、運用する側はタイプ総量とタイプミスが激増して精神病むの。


881 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:18:14 ]
普通XMLはUTF-8で書くだろアホか

882 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:19:58 ]
UTF-8なら何も問題ないんだが、WindowsはUTF-16LEなわけよ。

883 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:28:43 ]
3D空間で人が平面上を動き回れる状態で色々試しています。
人が2m弱として、地面を1000m四方と巨大な板を置いているのですがバンプマップが上手くかかりません。
バンプマップで凹凸を表現するには細分化しないと効果が出ないものなのでしょうか。
テクスチャスクロールだけで地面の上を動いているように見せたかったのに
同じ絵(凹凸)の部分を色んな方向から見ても大して変化せず違和感があります。

884 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:36:59 ]
>>868
unicodeは使ってないです。あと、LPCWSTRじゃ引き算とかが出来なくて困ります。他に解決方法はありませんか?

885 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:42:55 ]
色んな方向から見て変化させるのは、パララックスマッピングとかでは?
バンプマッピングなら、光源の位置と向きを変化させると、見え方が変わると思います。

886 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:43:32 ]
>>884
というか、MBCSとUTF-16は相互に変換するAPIがあるぞ?
引き算の意味するところは分からんが。

887 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 21:52:26 ]
>>884
fpsをLPSTRに変換するというのは、もしかしてこういうことをやってるとか?
int fps = ..... ;
LPSTR lpstr = (LPSTR) fps;
DrawText( .... );



888 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:13:19 ]
文字コードの変換すら出来ないのはDirectX以前の問題だろ。
基本からやり直せ。

889 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:13:48 ]
>>887
大体そんな感じです。INTのポインタを入れたりしてみましたがダメでした。
漢字とかに変換するのが正解なんですかね?

890 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:18:00 ]
>>889
まずはC言語の入門書から読もうな。
このスレに来るのは3ヶ月くらい早すぎた。

891 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:26:21 ]
>>888
どうか可能か不可能かだけでもご教授を…

892 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:41:28 ]


893 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 22:41:50 ]
これは酷い

894 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 23:56:53 ]
木曽がわかってないのに応用問題を解こうとして話を難しくしてる

895 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:02:15 ]
初心者は死ね
それがこのスレの掟だ

896 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:07:01 ]
それはまた、エラいスレのタイトルと矛盾する掟だな。

897 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:09:14 ]
sprintf発見!確かに論外だ。
DIRECTXは続けるので、また詰まった時はお願いします。



898 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:12:04 ]
流石にCの初心者までは扱いきれんだろw

899 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:15:49 ]
CがダメならC#を使えばいいじゃない

900 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 04:04:17 ]
メッシュコンテナ(D3DXMESHCONTAINER 構造体)から面ごとのマテリアル対応情報を取りだそうとしてるんだけど、
pMesh->GetAttributeTable()メソッドで取り出した、属性テーブル(D3DXATTRIBUTERANGE 構造体)の中の「AttribId」ってのは
pMaterials[i]の添え字(i)に対応してるんでしょうか?

同じ属性テーブル内にある「FaceStart」というのも、インデックスバッファ内の面の構成データの格納順に対応してるのか疑問です・・・

901 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:41:26 ]
プロジェクトの設定をマルチバイト文字を使用するに変更すればいいだけじゃない

902 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:44:49 ]
>>900
出なかったからたぶんマテリアルとは関係ない
メッシュをマトリックスグループみたいに分割することが出来てそのインデックス情報を格納するんじゃないかと
でDraw???って関数でそのインデックスを指定するとその面だけが描画されるという

903 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 05:49:18 ]
ああ、そうか
マテリアルのインデックスを入れといてSetMaterialと連動させて
その面だけを描画すればマテリアルのインデックスという意味にもなるのか
まあ、ただ数字を入れて描画グループを分割出来るだけの代物だよ

904 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 06:36:53 ]
うーん、pMaterials[i]の添え字(i)と頂点番号(もとい、面番号)を関連付けるデータは
メッシュコンテナ内には無いのでしょうか?
メッシュデータ内の全頂点から、あるマテリアルが適用されている頂点を特定したいのですが・・・

905 名前:904 mailto:sage [2009/08/17(月) 08:19:54 ]
多分、自己解決

ボーンコンビネーションテーブル(LPD3DXBONECOMBINATION型)に
サブセット番号からメッシュデータ(最適化後)の頂点インデックスまで全て格納されてたので
そちらを参照することにしました

906 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:04:53 ]
ttp://marupeke296.com/DXGSmp_No26_WorldTransMatrix.html
このサンプルプログラムを使って
tiny.xを読み込んでも何もアニメーションしないのですが
なぜでしょうか?
ヒントだけでもいいので後生ですから教えてください・・><!

907 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:37:41 ]
DirectXで直線を引くにはどうすれば?(´・ω・`)
ポリゴンとかXファイルとかは表示できるのに・・・



908 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 12:50:40 ]
DrawPrimitiveでいけるやないかアホでんねん(´・ω・`)

909 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:10:51 ]
>>906
公式ならともかく、そこのページは管理人がちゃんと質問掲示板開いてるじゃないか
そっちで質問しる・;(`ε()゙

910 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:41:09 ]
なんなんだ・・・
釣りなのか本気なのか・・・

911 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 18:35:49 ]
残念ながら、釣りではありません。

912 名前:883 mailto:sage [2009/08/17(月) 19:09:07 ]
>>885
ありがとうございます。
基本的にはカメラを固定した状態でも動き回るものはバンプ、
それ以外はパララックスという使い方が良さそうですね。
もちろん場合に寄りますけど。


913 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 20:17:35 ]
>>907
ttp://homepage2.nifty.com/natupaji/DxLib/dxfunc.html

914 名前:デフォルトの名無しさん [2009/08/17(月) 21:41:59 ]
現在DirectXを使ってゲームを作っているのですが、
ボタンが後ろに隠れてしまっています。
なので、ボタンがある位置にスプライトを使ってボタン用の画像を
表示しているのですが、時差が出来たりしてうまく機能しません。
どうすれば、ボタンそのものを前面に表示出るのでしょうか?

915 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:45:23 ]
DirectXにボタンなど無い
DirectXにスプライトなど無い

916 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:07:50 ]
「Direct3Dで作っているゲームのキャラと地形のことで質問ですが…」
「Direct3Dにキャラや地形などない」

917 名前:デフォルトの名無しさん [2009/08/17(月) 22:09:25 ]
>>915
ボタンはウィンドウズの標準のもので、
スプライトはID3DXSpriteです。



918 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:21:26 ]
ID3DXSpriteを使ってボタンの画像を描画しているのなら、
そもそも標準コントロールを使う必要性がない。

919 名前:デフォルトの名無しさん [2009/08/17(月) 22:51:14 ]
>>918
それもそうですね。
DirectXのサンプルに使われているボタンは
標準コントロールを基にしてるのかと思ってましたが
今調べてみたら違いますね。
ご迷惑をおかけしました。

920 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:53:43 ]
まぁ、ツールを作る際にDirectXで描画されたものとWindosのコントロール併用することがあるから
色々試しても無駄にはならないことだけどね。


921 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:52:08 ]
Vistaか7ならどっちでも同じことだが

922 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:20:52 ]
同じじゃねえよ。
どれだけ馬鹿なんだ?

923 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:36:24 ]
D3DXLoadMeshHierarchyFromX
の必要な
LPD3DXALLOCATEHIERARCHY pAlloc,がインターフェイスのポインタと
なっているのですが
COMインターフェイスってなんでしょうか?
調べてもプログラムの再利用としか出てこないので全くわかりません。

924 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:42:21 ]
COMインターフェイスで検索しろ


925 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 09:54:49 ]
Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
あたりのサンプル実装がMSから出たぞ。
code.msdn.microsoft.com/WindowsAPICodePack

926 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 10:52:08 ]
>>923
そのあたりは、とにかくまずはサンプルコピペして、動きを見て、内容を理解し、自分で改良するしかない。
マジ。
理解しないままゲームとか作ると、あと後絶対苦労するから

927 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:48:21 ]
1000に近づいてますが、質問させてください。
2D板ポリゴンの描画についてなのですが、DrawPrimitive系は重いので
1回で複数枚の板を表示するようにしてみました。

D3DXVECTOR4 vPos;
D3DCOLOR color;
D3DXVECTOR2 vTex;
上のようなメンバーを持った頂点オブジェクトの配列Vertexを作り、
for(int i = 0; i < Max; i++){
Vertex[i*4].vTex=D3DXVECTOR2(0.0f, 0.0f);
Vertex[i*4+1].vTex=D3DXVECTOR2(1.0f, 0.0f);
Vertex[i*4+2].vTex=D3DXVECTOR2(0.0, 1.0f);
Vertex[i*4+3].vTex=D3DXVECTOR2(1.0f, 1.0f);
}
とu, vを初期化。そして、描画処理が入った数だけ
Vertex[Cnt*4].vPos = D3DXVECTOR4(left, top, 0.0f, 1.0f);
Vertex[Cnt*4+1].vPos = D3DXVECTOR4(right, top, 0.0f, 1.0f);
Vertex[Cnt*4+2].vPos = D3DXVECTOR4(left, bottom, 0.0f, 1.0f);
Vertex[Cnt*4+3].vPos = D3DXVECTOR4(right, bottom, 0.0f, 1.0f);
※color省略
Cnt++;
とし、SetTextureして
DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, Cnt*2, Vertex, sizeof(VERTEX);
としたらテクスチャがあらぬ方向に伸びました。何故か正しく表示できてるものもあるのですが・・・。
どこか根本的に勘違いしてるのでしょうか?ご指摘いただけませんか・・・。



928 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:51:04 ]
TRIANGLESTRIPがどういうものか調べてくるといい

929 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 15:56:02 ]
>>928
さっそくのご指摘ありがとうございます。
全部プリミティブが繋がってると言うことでしょうか?
他の部分は問題ないものとしてTRIANGLELISTで実装してみます。






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

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

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