DirectX9.0について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
うおおおお!

DirectX9.0について

#1

投稿記事 by うおおおお! » 11年前

私は、現在DirectX9.0の勉強を始めました。そこで、たくさんの構造体や関数が出てきたのですが、名前が長くて覚え切れません。
また、 こういうものを開発したい。 というのはあるのですが、DirectXでどの関数を使えばいいのか分かりません。
それ以外にも、デバイスの初期化や三角形を表示しろと言われても、DxLibと違い、凄く遠回りで良く分からない処理が多かったりどの関数を使えばいいのかも分からなかったり、出来る気がしません。
今回は、皆さんはどうやって覚えられたのか教えて頂きたく質問しました。
稚拙な文章ですが、よろしくお願いします。

box
記事: 2002
登録日時: 13年前

Re: DirectX9.0について

#2

投稿記事 by box » 11年前

うおおおお! さんが書きました:たくさんの構造体や関数が出てきたのですが、名前が長くて覚え切れません。
とりあえず、名前を覚える必要はほとんどないであろう、とだけ申しておきます。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: DirectX9.0について

#3

投稿記事 by softya(ソフト屋) » 11年前

何を作ろうとしているのかは分かりませんが、DirectX Sample Browser でサンプルコードから始めてみてはどうでしょうか?
関数に関しては大体は定番という処理が有るので、基本の部分は定番化して忘れてしまえると思います。 → ライブラリ化する。

それとDXライブラリのソースコードを眺めてみては?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

超絶右留斗羅天才プログラマー
記事: 44
登録日時: 11年前

Re: DirectX9.0について

#4

投稿記事 by 超絶右留斗羅天才プログラマー » 11年前

こちらのサイトをその1からその68まで素直に実装して覚えましたよ(*´▽`*)
http://marupeke296.com/DirectXMain.html

中学生の好きそうな専門用語がたくさん並んでいていワクワクしながら読んでいたのを覚えています。

長い名前のものは意味を考えると覚えやすいと思います。
覚える必要はありませんが、何度も使っていると勝手に頭が覚えてしまうといった、そんな具合です。
LPDIRECT3DDEVICE9→ロングポインタ(LP)のデバイス
D3DXVECTOR2→floatが2つあるやつ
D3DXVECTOR3→floatが3つあるやつ
D3DXVECTOR4→floatが4つあるやつ
などなど。
ただの超絶右留斗羅天才プログラマーです。同人ゲーム制作進捗度:7%

アバター
せんちゃ
記事: 50
登録日時: 13年前
住所: 江別市東野幌町
連絡を取る:

Re: DirectX9.0について

#5

投稿記事 by せんちゃ » 11年前

型の名前を覚えることに意識するのではなく、
そのデータ型がどういう役割を担っていてどういうときに使うものなのかさえわかっていればいいと思います。
たとえば
LPDIRECT3DDEVICE9→「LP」はWindowsでのポインタを意味する DIRECT3DDEVICE9→Direct3D9のデバイス
ポインタであるということはインスタンスの生成及び参照を持つことになります。
インスタンス生成はCreateDeviceで行っていることになりますが、
これを行うにはDirect3D9のインターフェースが必要です。
そのためLPDIRECT3D9というデータ型があります。

D3DPRESENT_PARAMETERSという構造体がありますがPresentとは誕生日プレゼントとかのプレゼントです。
意味は「贈る、贈呈する、捧げる」などもありますが、DirectXではたぶん「描写する、公開する」の意味です。
つまりDirect3D(D3D)の描写(PRESENT)に必要なパラメータ一覧(PARAMETERS)だから
D3DPRESENT_PARAMETERSという名前なのかなぁと

Descriptionとは「説明、解説」という意味で、Surfaceは「面、表面、外面」という意味があります
テクスチャの面情報を見るためにD3D_SURFACE_DESCがある、と考えるのはちょっと強引でしょうか。

といったようにデータ型はあくまでもある役割に必要なパラメータ一覧にすぎず、重要なのは
そのパラメータがなんのためにあるのか、ということです。

なので型名は覚えても仕方ないので「こういう機能が欲しい!」というときに参考書やリファレンスを見たり
google検索していけばいいのかなと思います。
ヽ(*゚д゚)ノ カイバー

naohiro19
記事: 256
登録日時: 13年前
住所: 愛知県

Re: DirectX9.0について

#6

投稿記事 by naohiro19 » 11年前

DirectXの型名はマイクロソフトがtypedefしたものなのです。

閉鎖

“C言語何でも質問掲示板” へ戻る