Bliz3D Maximal Resolution / 4K Screen

Blitz3D Forums/Blitz3D Programming/Bliz3D Maximal Resolution / 4K Screen

Osoko(Posted 2014) [#1]
I've read it could be 2048*1536 or 2048*2048 due to DirectX 7.

Should we forget the 4K Screen ?


Osoko(Posted 2015) [#2]
I've found also on the forum :

thats incorrect
DX7 supports anything your card supports. But you won't find any cards until HD series on the ati end that supports more than that.
On the NVIDIA end, GF6+ is 4096 and higher

I'll like to use my Blitz3D soft with the new UHD TV : is it possible or not due to directX 7 limitation ?


Floyd(Posted 2015) [#3]
2048x2048 is probably referring to texture sizes.
I assume you are interested in screen resolution, i.e. does this work

Graphics3D 3840, 2160

I doubt it does, but if you have a 4K screen try listing the resolutions.
; CountGfxModes3D() - manual example slightly modified for readability
; -----------------

Graphics3D 1200,800,0,2

For i=1 To CountGfxModes3D()

	Print     "Mode "+RSet(i,3) + "  " + RSet(GfxModeWidth(i),5) +" x" + RSet(GfxModeHeight(i),5) + " x "+ GfxModeDepth(i)
;	DebugLog  "Mode "+RSet(i,3) + "  " + RSet(GfxModeWidth(i),5) +" x" + RSet(GfxModeHeight(i),5) + " x "+ GfxModeDepth(i)

Next
;Stop

WaitKey()

Here's what I get, from the Debug Log. My monitor is 1920 x 1080.
Mode   1    640 x  480 x 32
Mode   2    720 x  480 x 32
Mode   3    720 x  576 x 32
Mode   4    800 x  600 x 32
Mode   5   1024 x  768 x 32
Mode   6   1152 x  864 x 32
Mode   7   1280 x  720 x 32
Mode   8   1280 x  768 x 32
Mode   9   1280 x  800 x 32
Mode  10   1280 x  960 x 32
Mode  11   1280 x 1024 x 32
Mode  12   1360 x  768 x 32
Mode  13   1366 x  768 x 32
Mode  14   1600 x  900 x 32
Mode  15   1600 x 1024 x 32
Mode  16   1680 x 1050 x 32
Mode  17   1920 x 1080 x 32
Mode  18    640 x  480 x 16
Mode  19    720 x  480 x 16
Mode  20    720 x  576 x 16
Mode  21    800 x  600 x 16
Mode  22   1024 x  768 x 16
Mode  23   1152 x  864 x 16
Mode  24   1280 x  720 x 16
Mode  25   1280 x  768 x 16
Mode  26   1280 x  800 x 16
Mode  27   1280 x  960 x 16
Mode  28   1280 x 1024 x 16
Mode  29   1360 x  768 x 16
Mode  30   1366 x  768 x 16
Mode  31   1600 x  900 x 16
Mode  32   1600 x 1024 x 16
Mode  33   1680 x 1050 x 16
Mode  34   1920 x 1080 x 16
Mode  35   1440 x  900 x 16
Mode  36   1440 x  900 x 32



Rroff(Posted 2015) [#4]
I get "3D scene could not be created" or similar error IIRC trying to go above 2048x1536 :S I believe its a limitation of DX7 though will have a scan of the source.


Osoko(Posted 2015) [#5]
@Roff : So you try with an UHD Panel and can't get above 2048*1536 ?

This question is important at least to prevent the software to crash on UHD TV...


Rroff(Posted 2015) [#6]
I've a 4K panel (AOC u2868pqu - I don't rate it) and a couple of 2560x1440 panels - native res on those kicks out an error about couldn't create 3D scene.

Wonder if its possible to do something funky with borderless window mode to either fake up fullscreen and/or to use the extra estate for something that the 3D scene isn't using.


Axel Wheeler(Posted 2015) [#7]
Some website claims the max resolution of DX7 is 2048x1536, so try that.

Just to add my thoughts on this. I very much doubt Blitz3D was ever tested formally on UHD because B3D hasn't been significantly updated since before UHD was really available for testing. So if you have a UHD monitor, you are the tester.

It's quite possible that it works on some UHD monitors but not others. Post the results of any tests, especially if it works.

At a minimum I would hope a UHD monitor used at a "normal res" like 1280 x 1024 would work. So you could still use the monitor itself at least.

If that works, you might try testing Antialias as well (Fullscreen only, use the command "Antialias Enable"). I've never heard of it working in Blitz3D but DX7 officially supported it. Hey, you never know... And if you're forced to use a lower resolution, the antialias would possibly make it look good enough for your purposes.


Osoko(Posted 2015) [#8]
So the only point left is : Is 2048*1536 the max DX7 resolution ? It seem's to be according to Roff which 2560*1440 screen don't launch.

Personaly, i've made some piece of code for Limiting the resolution to these DX7 capabilities.

First, for having the current desktop resolution, i use api_GetSystemMetrics in user32.dll, see the forum for declaration.

I use CurrentDisplayX And CurrentDisplayY as global, i check the display with this function then launch graphic3D with CurrentDisplayX and CurrentDisplayY values.

The under function limit the resolution according to the display ratio.

But i don't check the monitor itself, i presume that a lower resolution with the correct ratio will be ok for it to display...

Hope i'm correct...





To Axel : using antialias enable is time consomming on old computers, and your apps may not be realtime anymore on those. Got the case with my old one.