私は、現在DirectX9.0の勉強を始めました。そこで、たくさんの構造体や関数が出てきたのですが、名前が長くて覚え切れません。
また、 こういうものを開発したい。 というのはあるのですが、DirectXでどの関数を使えばいいのか分かりません。
それ以外にも、デバイスの初期化や三角形を表示しろと言われても、DxLibと違い、凄く遠回りで良く分からない処理が多かったりどの関数を使えばいいのかも分からなかったり、出来る気がしません。
今回は、皆さんはどうやって覚えられたのか教えて頂きたく質問しました。
稚拙な文章ですが、よろしくお願いします。
DirectX9.0について
Re: DirectX9.0について
とりあえず、名前を覚える必要はほとんどないであろう、とだけ申しておきます。うおおおお! さんが書きました:たくさんの構造体や関数が出てきたのですが、名前が長くて覚え切れません。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: DirectX9.0について
何を作ろうとしているのかは分かりませんが、DirectX Sample Browser でサンプルコードから始めてみてはどうでしょうか?
関数に関しては大体は定番という処理が有るので、基本の部分は定番化して忘れてしまえると思います。 → ライブラリ化する。
それとDXライブラリのソースコードを眺めてみては?
関数に関しては大体は定番という処理が有るので、基本の部分は定番化して忘れてしまえると思います。 → ライブラリ化する。
それとDXライブラリのソースコードを眺めてみては?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
- 記事: 44
- 登録日時: 11年前
Re: DirectX9.0について
こちらのサイトをその1からその68まで素直に実装して覚えましたよ(*´▽`*)
http://marupeke296.com/DirectXMain.html
中学生の好きそうな専門用語がたくさん並んでいていワクワクしながら読んでいたのを覚えています。
長い名前のものは意味を考えると覚えやすいと思います。
覚える必要はありませんが、何度も使っていると勝手に頭が覚えてしまうといった、そんな具合です。
LPDIRECT3DDEVICE9→ロングポインタ(LP)のデバイス
D3DXVECTOR2→floatが2つあるやつ
D3DXVECTOR3→floatが3つあるやつ
D3DXVECTOR4→floatが4つあるやつ
などなど。
http://marupeke296.com/DirectXMain.html
中学生の好きそうな専門用語がたくさん並んでいていワクワクしながら読んでいたのを覚えています。
長い名前のものは意味を考えると覚えやすいと思います。
覚える必要はありませんが、何度も使っていると勝手に頭が覚えてしまうといった、そんな具合です。
LPDIRECT3DDEVICE9→ロングポインタ(LP)のデバイス
D3DXVECTOR2→floatが2つあるやつ
D3DXVECTOR3→floatが3つあるやつ
D3DXVECTOR4→floatが4つあるやつ
などなど。
ただの超絶右留斗羅天才プログラマーです。同人ゲーム制作進捗度:7%
Re: DirectX9.0について
型の名前を覚えることに意識するのではなく、
そのデータ型がどういう役割を担っていてどういうときに使うものなのかさえわかっていればいいと思います。
たとえば
LPDIRECT3DDEVICE9→「LP」はWindowsでのポインタを意味する DIRECT3DDEVICE9→Direct3D9のデバイス
ポインタであるということはインスタンスの生成及び参照を持つことになります。
インスタンス生成はCreateDeviceで行っていることになりますが、
これを行うにはDirect3D9のインターフェースが必要です。
そのためLPDIRECT3D9というデータ型があります。
D3DPRESENT_PARAMETERSという構造体がありますがPresentとは誕生日プレゼントとかのプレゼントです。
意味は「贈る、贈呈する、捧げる」などもありますが、DirectXではたぶん「描写する、公開する」の意味です。
つまりDirect3D(D3D)の描写(PRESENT)に必要なパラメータ一覧(PARAMETERS)だから
D3DPRESENT_PARAMETERSという名前なのかなぁと
Descriptionとは「説明、解説」という意味で、Surfaceは「面、表面、外面」という意味があります
テクスチャの面情報を見るためにD3D_SURFACE_DESCがある、と考えるのはちょっと強引でしょうか。
といったようにデータ型はあくまでもある役割に必要なパラメータ一覧にすぎず、重要なのは
そのパラメータがなんのためにあるのか、ということです。
なので型名は覚えても仕方ないので「こういう機能が欲しい!」というときに参考書やリファレンスを見たり
google検索していけばいいのかなと思います。
そのデータ型がどういう役割を担っていてどういうときに使うものなのかさえわかっていればいいと思います。
たとえば
LPDIRECT3DDEVICE9→「LP」はWindowsでのポインタを意味する DIRECT3DDEVICE9→Direct3D9のデバイス
ポインタであるということはインスタンスの生成及び参照を持つことになります。
インスタンス生成はCreateDeviceで行っていることになりますが、
これを行うにはDirect3D9のインターフェースが必要です。
そのためLPDIRECT3D9というデータ型があります。
D3DPRESENT_PARAMETERSという構造体がありますがPresentとは誕生日プレゼントとかのプレゼントです。
意味は「贈る、贈呈する、捧げる」などもありますが、DirectXではたぶん「描写する、公開する」の意味です。
つまりDirect3D(D3D)の描写(PRESENT)に必要なパラメータ一覧(PARAMETERS)だから
D3DPRESENT_PARAMETERSという名前なのかなぁと
Descriptionとは「説明、解説」という意味で、Surfaceは「面、表面、外面」という意味があります
テクスチャの面情報を見るためにD3D_SURFACE_DESCがある、と考えるのはちょっと強引でしょうか。
といったようにデータ型はあくまでもある役割に必要なパラメータ一覧にすぎず、重要なのは
そのパラメータがなんのためにあるのか、ということです。
なので型名は覚えても仕方ないので「こういう機能が欲しい!」というときに参考書やリファレンスを見たり
google検索していけばいいのかなと思います。
ヽ(*゚д゚)ノ カイバー