我正在爲C++使用DirectXTK,並且正在大量使用sprite批處理函數。DirectxTK SpriteBatch和視口居中
我想開發一個等距渲染引擎。我已經得到了等軸測圖渲染才能正常工作。隨着抵消。但是我遇到了一個主要問題。
我不能爲我的生活找出如何將相機的中心集中到世界的(0,0)或任何其他座標。
和注射()直接從相機生成到SpriteBatch.Begin這個變換矩陣
Matrix Camera::getTransformMatrix() {
Matrix Transform = Transform.CreateTranslation(Vector3(World_Pos.x, World_Pos.y, 0));
Matrix Rotation = Rotation.CreateRotationZ(0);
Matrix Scale = Scale.CreateScale(ZoomFactor, ZoomFactor, 1);
return Transform * Rotation * Scale;
}
一切似乎發生後。這是相機的世界位置設置爲(0,0),精靈的世界位置設置爲(0,0)。
這是由此產生的圖像。
http://i.imgur.com/Bep7l5a.png
我關掉alpha混合,和子畫面的偏移量用於調試的原因。
任何人都可以幫助我嗎?此外,如果任何人都可以告訴我如何翻轉y,那也會很棒。
我沒有使用DirectXTK,但是如何應用'Camera :: getTransformMatrix()'返回的轉換矩陣? –
@Zamrony,按原樣直接輸入到spritebatch.begin的參數中。 – moonshineTheleocat