提示コードですが正射投影行列を使って2Dオブジェクトを配置したいのですがこの場合glm::ortho()関数を使って画面の左上に0,0として画面に等倍で100,100の大きさで表示させたいのですがこれをするには値をどのように設定すればいいのでしょうか?提示画像は100,100の大きさの割には小さいので間違てていると思います。
提示サイトより下部の2Dゲームの説明部のように画面の中央に表示させる方法で実装を試しましたが表示される形異様に小さいです。
状態
スクリーンサイズ(800,x600)
オブジェクトのサイズ100,100
オブジェクト座標0,0
参考サイト(公式リファレンス): https://glm.g-truc.net/0.9.2/api/a00245.html
参考サイト: https://gamedev.stackexchange.com/questions/195129/orthographic-projection-not-showing-a-triangle
// ##################################### 透視投影行列 ##################################### glm::mat4 FrameWork::Camera::getViewPerspective() { return glm::perspective(glm::radians(90.0f), FrameWork::GetAspect(), 0.1f, 1000.0f) * view; } // ##################################### 正射投影行列 ##################################### glm::mat4 FrameWork::Camera::getViewOrthographic() { //return glm::ortho(0.0f, (float)windowContext->getSize().x, (float)windowContext->getSize().y, 0.0f, 0.1f, 1000.0f) * view; //return glm::ortho(0.0f, (float)windowContext->getSize().x, (float)windowContext->getSize().y, 0.0f, -0.1f, 1000.0f); //return glm::ortho(0.0f, 1.0f, 0.0f, 1.0f, 0.1f, 100.0f) * view; return glm::ortho(-((float)windowContext->getSize().x / 4) * FrameWork::GetAspect() , +((float)windowContext->getSize().x / 4) * FrameWork::GetAspect(), -((float)windowContext->getSize().y / 4) * FrameWork::GetAspect(), +((float)windowContext->getSize().y / 4) * FrameWork::GetAspect(), 0.1f, 1000.0f) * view; }
あなたの回答
tips
プレビュー