[C++]『ゲームプログラミングC++』Chapter05 : 変換行列

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

座標や回転角度が違うスプライトコンポーネント20個を描画させました(P177)。

どうも本のようにはなりません。と言いますか、この辺りの本の説明は手抜きがひどいです。こちらで考えて色々手を入れないと説明だけでは立ち往生します。SDLからOpenGLへの移行という大事なところですから丁寧に説明してもらいたいです。

あまり深入りせず、次のテクスチャマッピングへ進みます。

この本は独学には向かないとつくづく思います。精通した方のアシストがないととても読み進められないでしょう。学校の教材としてはそれなりに使えるのかもしれません。

Matrix4::CreateSimpleViewProj(1024.f, 768.f)では20個のうち7個しか描画できていない
Matrix4::CreateSimpleViewProjのサイズを縦横各4倍にして20個あることを確認

[C++]『ゲームプログラミングC++』 Game::initSpriteVertsの追加

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

前回の続きです。

描画した図形が平行四辺形になっていましたが、長方形になるように修正しました。

ソースコードにGame::initSpriteVertsを追加して、Game::Initializeにも記入します。書籍本文中にこの関数がソースコードに存在するかのように書いていますが、そんなものはありません(P145)。Game::CreateSpriteVertsを参考に自分で作りました。

void Game::initSpriteVerts()
{
	float vertexBuffer[]={
		-0.5f,0.5f,0.0f,  //頂点0
		0.5f,0.5f,0.0f,   //頂点1
		0.5f,-0.5f,0.0f,  //頂点2
		-0.5f,-0.5f,0.0f  //頂点3
	};
	unsigned int indexBuffer[]={
		0,1,2,
		2,3,0
	};

	mSpriteVerts = new VertexArray(vertexBuffer, 4, indexBuffer, 6);
}