VOGONS

Common searches


First post, by Devil Master

User metadata
Rank Newbie
Rank
Newbie

We can do that with Glide games with dgVoodoo, by specifying a resolution in its configuration. Is there a way to do that with old Direct3D games (which typically only support 640*480), to run them at higher resolutions?

Reply 1 of 28, by ninjaplease

User metadata
Rank Newbie
Rank
Newbie

I'm in the process of modifying Pacific General for this very purpose.

The process is VERY complicated with direct X in this game:

http://www.ninjaplease.com/

also see my attempts to do this with a few other 5-star directx based games in the left hand pane of my site.

--ninjaplease

Reply 2 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
ninjaplease wrote:

I'm in the process of modifying Pacific General for this very purpose.

How did you do that, exactly? It seems you modified the game codes instead of tinkering with DirectX, am I correct?

Also, in 3D games, increasing the resolution means scaling up (smoothing up) the resolution, while what you did with those 2D games is more like "zooming out" the game screen; is there any way (probably tinkering with DirectX) to scale up the resolution of 2D games while retaining the original game screen size? You know, something like "software video scaler" or such.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 3 of 28, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

2D games are mostly composed of 2D images. You can't show these at higher resolution unless you'd resample them. But (true) 3D games are composed of dots in space that describe the 3d objects - higher resolution is a matter of math, how you transform the 3d coordinates to the 2d monitor coordinates and how you render the resulting objects.

http://www.si-gamer.net/gulikoza

Reply 4 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
gulikoza wrote:

2D games are mostly composed of 2D images. You can't show these at higher resolution unless you'd resample them.

Exactly what I mean.

Now, correct me if I'm wrong, but after seeing the screenshots, it seems to me that ninjaplease's "higher resolution modding" doesn't resample the game screen --it's more like "zooming out".

My question is: how difficult it is to mod DirectX (or creating a display utility) that can resample all DirectX games to resolution of choice? Imagine playing 2D games like Fallout in higher resolution --not larger map, but true higher resolution where the entire game screen is resampled to higher resolution.

Hardware-wise, how taxing a real-time 2D resampling is?

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 5 of 28, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

Just resampling won't make it look better, depending on the algorithm it might even be worse (blurry, ...). You'd have to apply some advanced image processing, like the scalers dosbox has 😀. I'd say this is pretty much impossible to do with directx, unless it's running in an emulator...

http://www.si-gamer.net/gulikoza

Reply 6 of 28, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

There are Direct3D wrappers, right? Presumably if it is possible to translate the Direct3D APIs into OpenGL or Glide or whatever, it ought to be possible to modify them in the process. Not that I would think it would be easy.

Reply 7 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Jorpho wrote:

There are Direct3D wrappers, right?

There are? What I already knew is MiniGL, which is (IIRC) a wrapper to translate OpenGL into GLide.

But that's interesting; if we can wrap Direct3D --translating it into OpenGL or such, is it possible to wrap 2D DirectX graphic into Direct3D or OpenGL? You know, utilizing the horse power of the GPU to perform real-time 2D scaling.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 8 of 28, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Kreshna Aryaguna Nurzaman wrote:
Jorpho wrote:

There are Direct3D wrappers, right?

There are? What I already knew is MiniGL, which is (IIRC) a wrapper to translate OpenGL into GLide.

I guess they would be a little pointless in a way. Perhaps I only read of them being discussed on a theoretical level.

On the other hand, I think Cedega (WineX) works by translating DirectX calls into OpenGL.

Reply 9 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
Jorpho wrote:

On the other hand, I think Cedega (WineX) works by translating DirectX calls into OpenGL.

Bingo! Then I believe it is (at least theoritically) possible to treat a game's 2D screen as a big rectangular polygon, and then applying texture scaling/filtering to the 2D screen.

Now, if only such thing is possible in Windows. Translating DirectX calls to 3D API, I mean.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 11 of 28, by dh4rm4

User metadata
Rank Oldbie
Rank
Oldbie

Can't see the point. Would be simpler to decompile a D3D game exe to find out what calls it's making to which dlls and then hack them accordingly. Also what you're proposing isn't actually raising resolution per se, it's actually keeping it the same but scaling the pixels/texel plane up, that would produce the Zoom-In effect you're looking for.

Have a look at a rather famous Emulation project for the ORIGIN Ultima VII games, "Exult" - http://exult.sourceforge.net/ - to get a working idea of what I'm explaining. Essentially the original game was made to run @ 320x200 but with Exult you can play the game up to any given res and the pixels will be scaled accordingly yet if you want you can keep the pixels at their native res and even have the viewport displayed upto 1024x768, making much more of the map visible than was possible originally.

Reply 12 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
dh4rm4 wrote:

Can't see the point. Would be simpler to decompile a D3D game exe to find out what calls it's making to which dlls and then hack them accordingly.

Well I think the point is making a (relatively) game-independent solution, instead of decompiling each and every individual game.

dh4rm4 wrote:

Also what you're proposing isn't actually raising resolution per se, it's actually keeping it the same but scaling the pixels/texel plane up,

It is actually raising the resolution --the principle is similar to a line doubler / video scaler.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 13 of 28, by dh4rm4

User metadata
Rank Oldbie
Rank
Oldbie

Actually no. In Windows when you scale resolution up, the fixed size objects made of bitmaps shrink down. This is what you refer to as 'zooming out'. Line Doublers do not increase resolution they just copy scanlines and multiply them across blank spaces in between. http://en.wikipedia.org/wiki/Line_doubler

Video Scalers with 3:2 pulldown, such as is included in many expensive modern progressive TVs and DVD player also do not increase resolution - they interpolate fields so that one progressive field is displayed instead 2 "half frame" fields for one frame of footage.

Maybe I've misunderstood you but your references don't seem to relate to scaling a 2D playfield to a larger screen area but maintaining the same effective resolution.

Also, for 2D games my theory of hacking the DirectX DLLs could apply for those games that use them in the same way. This is essentially what wrappers do - they emulate common functions or "calls" for one layer and reroute them to system specific functions for the target OS/layer.

Reply 14 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
dh4rm4 wrote:

Actually no. In Windows when you scale resolution up, the fixed size objects made of bitmaps shrink down. This is what you refer to as 'zooming out'.

Yes, hence the need of rescaling to keep the size fixed.

dh4rm4 wrote:

Line Doublers do not increase resolution they just copy scanlines and multiply them across blank spaces in between. http://en.wikipedia.org/wiki/Line_doubler

Video Scalers with 3:2 pulldown, such as is included in many expensive modern progressive TVs and DVD player also do not increase resolution - they interpolate fields so that one progressive field is displayed instead 2 "half frame" fields for one frame of footage.

I know, and a video scaler actually does more jobs than increasing the resolution, but I'm talking about the resolution scaling part. Many today's LCD screens include built-in scaler to scale the image to various screen resolutions.

dh4rm4 wrote:

Maybe I've misunderstood you but your references don't seem to relate to scaling a 2D playfield to a larger screen area but maintaining the same effective resolution.

Yup.

dh4rm4 wrote:

Also, for 2D games my theory of hacking the DirectX DLLs could apply for those games that use them in the same way. This is essentially what wrappers do - they emulate common functions or "calls" for one layer and reroute them to system specific functions for the target OS/layer.

I see, although I'm actually thinking about a 'dedicated' wrapper instead of DLL hacks.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.

Reply 15 of 28, by dh4rm4

User metadata
Rank Oldbie
Rank
Oldbie

So why don't you take the source from the DxtoGL wrapper that Dosfreak posted and apply your theory?

Oh and line doublers aren't scalers. Line doublers don't increase resolution they pad out interlace errors.

Reply 16 of 28, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

What does resolution mean?

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 18 of 28, by Kreshna Aryaguna Nurzaman

User metadata
Rank l33t
Rank
l33t
dh4rm4 wrote:

So why don't you take the source from the DxtoGL wrapper that Dosfreak posted and apply your theory?

Because I ain't no programmer --I'm merely discussing the possible mechanisms of scaling up the resolutoin, which happens to be the purpose of this thread.

Never thought this thread would be that long, but now, for something different.....
Kreshna Aryaguna Nurzaman.