使用中のライブラリで利用方法が分からないところを発見

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
samusu0905
記事: 336
登録日時: 10年前

使用中のライブラリで利用方法が分からないところを発見

#1

投稿記事 by samusu0905 » 10年前

今、自分が使用中のライブラリで利用方法が分からないものがありました。
多分これは構造体だと思いますが、どのように利用すればいいのかわかりません。
コードを載せます。分かる人いたら教えてください。自分も使っているライブライについて
詳しく知らない箇所がいくつかあります。

コード:

///////////////////////////////////////////////////////////////////////
//	gsMesh 型
struct gsMesh
{
	// アニメーションしないメッシュの場合に使用
	LPD3DXMESH		pMesh;				// メッシュ
	D3DMATERIAL9*	pMeshMaterials;		// マテリアル情報
	gsTexture*		pMeshTextures;		// テクスチャ情報
	DWORD			dwNumMaterials;		// マテリアルの数

	// アニメーションするメッシュの場合に使用
	LPD3DXFRAME					pFrameRoot;
	LPD3DXANIMATIONCONTROLLER	pAnimController;

	// コンストラクタ
	gsMesh()
	{
		pMesh			= 0;
		pMeshMaterials	= 0;
		pMeshTextures	= 0;
		dwNumMaterials	= 0;

		pFrameRoot		= 0;
		pAnimController	= 0;
	}
};

// 階層構造のないメッシュで利用する関数
HRESULT	gsLoadX   ( gsMesh *m, char *pXFileName );
void	gsDrawX   ( gsMesh *m, float x, float y, float z, float t );
HRESULT	gsReleaseX( gsMesh* pReleaseMesh );

// 階層構造のあるメッシュで利用する関数
HRESULT	gsLoadXA   ( gsMesh* pMesh, char* pXFileName );
void	gsDrawXA   ( gsMesh *m, float x, float y, float z, float t, double animePastTime );
HRESULT	gsReleaseXA( gsMesh *pReleaseMesh );
これがコードです。
私ではまだ理解できていません。この構造体も利用したことがありません。(利用したことないと言うより、使い方が良くわからないです。利用方法が分かれば一人で出来るんですが。)

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: 使用中のライブラリで利用方法が分からないところを発見

#2

投稿記事 by h2so5 » 10年前

少しは自分で解析してみてください。
名前からいろいろ推測できるはずです。

samusu0905
記事: 336
登録日時: 10年前

Re: 使用中のライブラリで利用方法が分からないところを発見

#3

投稿記事 by samusu0905 » 10年前

わかりました。
ですが、これだけは教えてもらっていいですか?

コード:

 
    // アニメーションするメッシュの場合に使用
    LPD3DXFRAME                 pFrameRoot;
    LPD3DXANIMATIONCONTROLLER   pAnimController;

コード:

// コンストラクタ
    gsMesh()
    {
        pMesh           = 0;
        pMeshMaterials  = 0;
        pMeshTextures   = 0;
        dwNumMaterials  = 0;
 
        pFrameRoot      = 0;
        pAnimController = 0;
    }

この二つがなにを意味するのか教えてください。
私の解析では、上のコード(メッシュ)はキャラクターにアニメーションさせる時に利用するってことかなと考えてます。
ここだけでもいいので、教えてください。

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

Re: 使用中のライブラリで利用方法が分からないところを発見

#4

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

gsはラインセンス的に怪しいので使用中止では無かったのでしょうか?

ちなみにメッシュは3Dプログラミングをするなら理解しなくてはいけない最重要項目の一つです。

【補足】
自分で解析できないなら、わざわざ情報が少ない難しい物を選ぶ理由がないはずです。
情報の多いDXライブラリを使いましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

samusu0905
記事: 336
登録日時: 10年前

Re: 使用中のライブラリで利用方法が分からないところを発見

#5

投稿記事 by samusu0905 » 10年前

softyaさん>>回答有難うございます。
そうですか。メッシュは3Dプログラミングには欠かせない項目なわけですね?
分かりました。教えていただき有難うございます。
つまりメッシュが私の利用しているライブライにあるということは、3Dプログラミングについて勉強すれば3Dゲームが作れるわけですね?
了解しました。
>gsはラインセンス的に怪しいので使用中止では無かったのでしょうか?
いえ、そんな事はありません。使用中止にはしてませんよ。もう少しgsで2Dゲームを作っていこうかと考えてます。
2Dが慣れたら3Dに移る予定です。
解決しました。
分からなかった事を教えてもらったので一応大丈夫です。

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

Re: 使用中のライブラリで利用方法が分からないところを発見

#6

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

> 私:自分で解析できないなら、わざわざ情報が少ない難しい物(gs.hのライブラリ)を選ぶ理由がないはずです。
> samusu0905 さん:2Dが慣れたら3Dに移る予定です。

近いうちにはどうにもならないと思いますよ。
そのぐらいの解析力が有るならわざわざ質問していないと思いますので、近いうちにできるようになるとも思えません。
ずっと何年も先なら出来るかもしれませんが、私にはしなくて良い回り道をしている様に見えます。
資料の少ないものを扱うには人の何倍も実力が必要ですが、時期尚早です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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