Describe the bug
Using the Union API, I can't get a screenshot larger than 256x256 pixels, using front buffer copy.
To Reproduce
Create a plugin with the following code:
// Plugin.cpp
void Game_Loop()
{
// when pressing the "0" key
if (zinput->KeyToggled(KEY_0))
{
// create new texture convert manager
zCTextureConvert* texconv = zrenderer->CreateTextureConvert();
// get buffer from screen
zrenderer->Vid_GetFrontBufferCopy(*texconv);
// get source format
zCTextureInfo texInfo = texconv->GetTextureInfo();
// Test on screen resolution 1920x1080 (windowed mode).
// With DX11 Return: 256x256, format = 2.
// Without DX11 Return: 1920x1080, format = 3.
Say::Box(string::Combine("%ix%i, format = %i", texInfo.sizeX, texInfo.sizeY, texInfo.texFormat));
// remove manager
delete texconv;
}
}
Launch the Game in resolution 1920 x 1080 x 32bit
Press key 0.
See message box with results.
Screenshots
Original ZenGin Test:
ZenGin+DX11 Test:
As a result, the buffer contains an image of too low quality, which, when stretched to full screen, looks like this:
Test front buffer texture image (without DX11):
Expected behavior
I expected that the buffer of the convert-manager would receive an image with the same size as the screen resolution.
Expected: 1920x1080, format = 3.
Received: 256x256, format = 2.
Describe the bug Using the Union API, I can't get a screenshot larger than 256x256 pixels, using front buffer copy.
To Reproduce
Screenshots Original ZenGin Test:
ZenGin+DX11 Test:
As a result, the buffer contains an image of too low quality, which, when stretched to full screen, looks like this:
Test front buffer texture image (without DX11):
Expected behavior I expected that the buffer of the convert-manager would receive an image with the same size as the screen resolution. Expected: 1920x1080, format = 3. Received: 256x256, format = 2.
Information:
Other: You may need to look at the functions: