• 締切済み

DirectXのテクスチャについて

DirectXを始めて2週間もたたないレベルの初心者です。 下記サイトを見ながら勉強しているのですが、1つわからないことがあります。 テクスチャをポリゴンに貼り付けるという作業のなかで 貼り付け先のポリゴンを選択するという部分がどれだかわらないのです。 普通に考えて、ポリゴンが複数ある場合テクスチャを作成してもどこに貼り付けるかわからなくなってしまいます。 どういう仕組みで貼り付け先のポリゴンを選択しているのか教えてください。 できれば、初心者の私にもわかりやすようにお願いします><。 開発環境 VisualStudio2008(C++) 参考サイト http://marupeke296.com/DXGSmp_No3_CreateTexture.html

みんなの回答

回答No.1

以下のコード部分で、ポリゴンを1つ描画する前に、g_pD3DDev->SetTexture(0, pTex[i]);でテクスチャをセットしています。 それを3回繰り返し、3つのポリゴンを描画しています・・・・・・という説明であなたの期待に応えていますか? for(i=0; i<3; i++){ g_pD3DDev->SetTexture(0, pTex[i]); // 頂点バッファに頂点を書き込みできた時にだけ描画 if(SetPos(pVertex, (10+width)*i+10+width/2, 20+height, width, height)){ // 描画 g_pD3DDev->SetStreamSource(0, pVertex, 0, sizeof(CUSTOMVERTEX)); g_pD3DDev->SetFVF(FVF_CUSTOM); g_pD3DDev->DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); } }

関連するQ&A

  • DirectX テクスチャの拡大

    こんばんは。最近DirectXを始めたばかりの初心者です。 開発環境はWindows XP + Visual Studio 2005です。 テクスチャを読み込んでスプライトで表示しているのですが、 拡大・縮小をする場合に指定した位置に行かずずれて表示されてしまいます。 色々なサンプルを見てもよくわかりません。 方法をご回答頂けると嬉しいです。

  • Directxで一度に描画する方法

    DirectXで複数枚のポリゴンを描画しているのですが、それぞれ頂点変換行列やテクスチャが違うのでDrawPrimitiveをポリゴン毎に呼び出さなければいけなくなっています。 上記のような状態で一度に描画する方法はありますでしょうか?

  • DirectX9 の学習法

    すごい初心者です。 私は今現在 C++でDirectX9b を使ってのゲームプログラミングの学習を 行っています。ですが、デバイスやテクスチャーなど いきなり難しい単語が並んでわかりずらくて、 苦戦しています。 とにかく、今のところはゲームを作るのではなくDirectXに 慣れるためいろいろ試しているんですが、 どこから手をつけていいのかわからなくて、 とても効率が悪いんです。 どなたか、わかりやすいサイトや本など 紹介していただけませんか。 ご投稿よろしくお願いします。

  • PIXIAでテクスチャ変形

    お世話になります。 PIXIA(ver.4.7)でテクスチャ変形(表現があっているか不明)は可能でしょうか? 領域を選択後、コピー → 貼り付けにて、四角形の4隅と前後左右での変形は出来たのですが、 任意のポイントをつまんで、指定先までの変形方法がわかりません。 御教示宜しくお願い致します。

  • DirectX 入門書

    こんにちは。 私は今までC++、WinAPIと学んできて、そろそろDirectXを使ってゲームを作りたいな、と思っています。 今まで色々なサイトを回ってきましたが、あまりしっくりくる物が無かったり、サンプルがコンパイル出来なかったりなので、何か入門書を買おうと思いました。 しかし、入門書と言ってもどれがわかりやすいのか、初心者向けなのか、という事がわからず迷いましたのでここに書き込ませていただきました。 今までに見てよさそうだな、と思った本は、 「書籍版 DirectX9実践プログラミング」 「DirectX9 DirectX Graphics」 「サンプルで学ぶDirectX9プログラミングテクニック」 の3つです。 これはいい、これは買わないほうがいい、また別にいい本がある、というご意見をお願いいたします。 もちろん「いいページがあるから本は買わなくてよい」や、「サンプルで理解せよ」等の意見もあればお願いします。 開発はVisal C++ 2005 Express Editionなので、注意点があれば教えていただけると嬉しいです。

  • Dynamic Texture??

    エクスパンドラリーという3Dレースゲームを購入し、インストールも正常に行いました。 しかし、ゲーム内でのプレイヤー登録をし、その名前を選択し【OK】をクリックすると、 [Dynamic Texture] No render target format というダイアログが出て終了せざるを得なくなってしまいます。 「立体物描画ソフトが的確ではない」という解釈であっているのでしょうか? 3DゲームにCeleronは向いていないということは調べてわかったんですけど・・・ 対処法がわかる方居ましたら教えていただけるとありがたいです。 ちなみにこのゲームの日本語サイトは閉鎖してしまったようです>< このゲームの最低限必要な動作環境 OS:Win98/ME/XP CPU:Pentiumⅲ/AMD Athlon 1.3Ghz以上 メモリ:256MB以上 ビデオカード:メモリ64MB搭載、DirectX8.0対応(GeForce 3、ATI Radeon9200) サウンドカード:DirectX8.0対応 ハードディスク空き容量:1GB以上の空き容量 その他:DirectX9.0b、CD-ROMドライブ 自分のPCの環境です CPU = Intel(R) Celeron(R) CPU 1.70GHz CPU速度 = 1696 MHz CPUの数 = 1 OS = Microsoft Windows XP Service Pack 1 Ver 5.01.2600 DirectXのバージョン = DirectX 9.0c メインメモリー = 容量: 223MB : 空き領域: 91MB ドライブ [C:\] = ローカルディスク 空き領域: 57.90 GB (容量: 67.01 GB ) ドライブ [D:\] = ローカルディスク 空き領域: 501.05 MB (容量: 2.01 GB ) グラフィックカード = SiS 651 チップの種類 = UnKnown Video Chip ビデオドライバー = SiSGRV.dll VRAM = 32.0MB AvailableVidMem = 18.4MB AvailableTextureMem = 68.0MB サウンドカード = YAMAHA AC-XG WDM Audio メモリ増設なのかな・・・

  • リアルタイムで多数の3角形ポリゴン(2D)を描画したい

    リアルタイムでテクスチャを貼った多数の3角形ポリゴン(2D)をアルファブレンドを加味して描画したいのですが、OpenGL,DirectX等は使わずに自前のコードで実装したいのです。参考になるアルゴリズムを紹介したサイト、ソースコードなどを掲載しているサイトなどありましたら教えてください。検索のヒントになるワードでも結構です。お願いします。

  • SAIペイントツールのテクスチャ問題

    SAIペイントツール、テクスチャについて質問です。 (説明が下手かもしれないです、申し訳ありません。) SAI初心者です・・・少し前に夫がSAIを買ってくれました。 少し慣れてきて、もっと新しい筆やテクスチャが欲しい!という欲が出てきました。 とりあえず手動で何度か導入を頑張ってみる。 チュートリアル等(主にSAI WIKI)を検索して、頑張ってみる。 にもかかわらず上手くテクスチャをSAIに導入する事がかなわず 最終的にはSAI Conf Editの力を借りる事にしました。 (こちらから頂いてきました>http://www6.atpages.jp/~gurimiso/confdl.html) これでテクスチャを導入する事は出来ました。 その後にSAIを使用した時に生じた問題についての質問です。 ↓とりあえず今までの過程です。 1)SAIペイントツールフォルダを開ける>blotmapフォルダを開ける>bmpを入れる 2)SAI Conf Editを開ける>ファイル>開く>にじみ・筆形状ファイル 3)テクスチャbmpをクリック>使うをクリック>ファイル>保存>設定をSAIに適用する 4)SAIを起動>新規作成>テクスチャbmpが入っている事を確認! 5)筆設定の中で、テクスチャbmpを選択>試し描き  ←今ここ 画像添付にもあるような画像が出来上がりました。 タイルのようなテクスチャbmpが使えるようになって嬉しいと思った矢先に問題発生。 タイルの間に、筆線が残ってる・・・! 他のテクスチャbmpでも同じでした。全く違うファイルなのに・・・ 線を消しゴムで消す事は出来ます。気の遠くなるような緻密な作業ですが(汗 出来るのは出来ても、無駄な作業な気がしてなりません。 何故こんな事が起こるのでしょう? タイルだけを描く方法、あるいはこの線を簡単に消す方法はあるのでしょうか? どなたかご存知でしたら、是非教えて下さい。 長文失礼しました。 質問を読んでいただき、ありがとうございます。

  • DirectXによるpmdファイルの読み込み

    質問なのですが、現在DirectXでpmdファイルを読み込むプログラムを作成しているのですが サンプルプログラムで使用されていたpmdファイルを読み込むことには成功したのですが、 自分が使いたいLat式ミクを表示しようとするとフォルダの中に存在しているテクスチャが 見つからないと表示されアクセス違反が発生してしまいます。 なぜか指定されたデータは存在するのにプログラム側で「指定されたテクスチャファイルが見つかりません。」 と表示されるのか原因がわからず困っております。 読み込みのプログラムはこちらのサイトのpmdモデルの表示を参考にしました。 http://www2.ocn.ne.jp/~mhage/PIC_Trap/ データはソースコードが置いてある場所にモデル用のフォルダを作成しその中にすべて データを入れてあります。 パスの指定の方法は"関数の引数に("フォルダ名/モデル名.pmd")で指定しております。 ちなみにフォルダ内のデータをすべてソースコードが置いてるフォルダ直下に移した場合は表示されております . 環境 Windows7 VisualStudio2008 DirectXSDK November2007を使用しております

  • ズバリマイホームでインストールエラー(DirectXがない)

    ズバリマイホームでインストーラを起動すると 「ダイレクトX 7.0a以上がインストールされていません。先にインストールを済ませておく必要があります」というポップアップがでて、処理が進みません。 ダイレクトXがインストールされていないのが問題と思い、MS社のサイトからDirectXの9.0cをダウンロード&インストールしたのですが、状況は変わりません。 ズバリマイホームのSUPPORTディレクトリにあるdxsetup.exeを起動して、「再インストール」を選択すると「DirectXのセットアップが完了しました」と表示されるので、Directxは導入済だと思うのですが。。。 この状況でどうしたら先に進めるのか、アドバイスいただける方、いらっしゃいますでしょうか。

専門家に質問してみよう