テクスチャの描画枚数について
furafura 2019/07/16(Tue) 18:25
お世話になっております。
openSiv3D 0.3から移行しましたが、0.4でのウィンドウの手動リサイズの対応ありがとうございました。
特に高DPI対応には感動してしまいました。大変素晴らしいです!
お疲れの所申し訳ないのですが、
https://siv3d.jp/bbs/patio.cgi?read=76
こちらの質問・回答内容を拝見した上で質問させていただきます。
以下のプログラムで、私の環境では画面全てを埋める描画は行われませんでした。
描画テクスチャ数としては、640*180=115,200個となり、
>約 25 万個以上の点や四角は描画できないことになります。
という制限にはかからない気がするのですが、テクスチャは計算が異なるのでしょうか。
void Main()
{
Window::SetStyle(WindowStyle::Sizable);
Scene::SetScaleMode(ScaleMode::ResizeFill);
Window::Resize(5120, 2880);
// Texture tex(U"texture.bmp");
Image fimg(8192, 8192, Color(127, 127, 127));
Texture tex(fimg);
while (System::Update())
{
for (int y = 0; y < 2880; y += 16) {
for (int x = 0; x < 5120; x += 8) {
int tx = x / 8;
int ty = y / 16;
tex(tx * 8, ty * 16, 8, 16).draw(x, y);
}
}
}
}
このプログラムのように、大量のテクスチャを表示させる状況は異常に近いとは思われますが、
配布対象ではない、環境の性能評価等を目的として、
Siv3D の 2D 描画上限
を解除・操作できるとありがたいのですが。