Hello and thanks for making GZDoom!
I have searched through the forums and I can't find a suitable answer to my questions. Allow me to apologize beforehand in case of redundancy. My questions are:
1. I understand why some video cards do not support a resolution of 320x200 (original doom) or 320x240 in fullscreen. However, these minimal resolutions should still work in a windowed mode. Why have these resolutions been disabled?
2. The original Doom screen wipe transition in GZDoom looks great! How is this effect achieved? Render scene to a texture then apply GLSL Shader?
3. Does GZDoom support non power of two textures, or does GZDoom scale all textures to power of two sizes?
Thanks in advance!
Technical Multi Question Post
Moderator: Graf Zahl
- Rachael
- Developer
- Posts: 3651
- Joined: Sat May 13, 2006 10:30
1. If you're in Windowed mode try entering the ccmd manually, if that doesn't work, I don't know there probably is no way (for now) to get it to work.
2. You'll have to wait for our resident expert to get a chance to reply to that question, I have no idea how he does it and I never really have had time to look. 
3. GZDoom does something to scale the textures to powers of 2. I don't know what it does now, but it used to just squish or stretch them. Again, you might just have to wait for Graf to see this to reply to it.
Code: Select all
vid_setmode 320 200

3. GZDoom does something to scale the textures to powers of 2. I don't know what it does now, but it used to just squish or stretch them. Again, you might just have to wait for Graf to see this to reply to it.

- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
1) even for windowed mode the resolution menu only shows the available screen resolutions.
2) You are half correct. It first renders the scene to the screen, then gets its contents to a texture and finally renders it in narrow strips. There's no GLSL involved. The effect is simple enough to do it without shader programming.
3) Yes, it does - but only if the extension is supported, of course. I don't assume that GL 2.x means that this feature is implemented. Some ATI cards don't support it in hardware and have to emulated it when reporting GL 2.0. (Trivia: ATI was the only company which opposed integrating NPOT textures into the 2.0 spec - presumably because their hardware wasn't up to it.)
2) You are half correct. It first renders the scene to the screen, then gets its contents to a texture and finally renders it in narrow strips. There's no GLSL involved. The effect is simple enough to do it without shader programming.
3) Yes, it does - but only if the extension is supported, of course. I don't assume that GL 2.x means that this feature is implemented. Some ATI cards don't support it in hardware and have to emulated it when reporting GL 2.0. (Trivia: ATI was the only company which opposed integrating NPOT textures into the 2.0 spec - presumably because their hardware wasn't up to it.)
-
- Posts: 2
- Joined: Sat Jan 31, 2009 1:35
Thank you for answering my questions so quickly and confirming to me that GZDoom is a doom port of the highest quality. Certainly, the doom port of my choice. I intend to bother you as little as possible with the following questions and comments:
I have glanced at your GZDoom screen melt code. Is this the same pixel manipulation transition code used in the original doom?
Thanks again for your time.
Yes, exactly. The video mode menu excludes true pixel aspect doom resolutions even in the case for windowed modes. Also, using the console to manually change the resolution does not work. My hardware, however, is capable of handling these aspect resolutions( be it 320x200 in a window or 640x400 fullscreen). Is there a problem in management of textures at those sizes?1) even for windowed mode the resolution menu only shows the available screen resolutions.
I have glanced at your GZDoom screen melt code. Is this the same pixel manipulation transition code used in the original doom?
Thanks again for your time.
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
The resolution list contains all resolutions the graphics driver reports as supported - with one limitation: They have to be available in 32 bit. Many modern drivers don't report anything below 640x480 anymore and some that do only for lower color resolution. The code is not actively filtering them out.
Regarding the screen melt code, no. There's actually 3 versions of the code:
- one for the software renderer in f_wipe.cpp. I have never taken a closer look at this code but it probably contains original Doom code
- a second one for hardware accelerated 2D rendering in combination with the software renderer (in win32\fb_d3d9_wipe.cpp) which is also taken directly from ZDoom
- the GL version used by the hardware renderer in gl\gl_wipe.cpp. It's mostly a rewrite of the abovementioned D3D code for OpenGL. This is the one used with the hardware renderer.
The one for the software renderer is still based on Doom's original code but the hardware renderer version id
Regarding the screen melt code, no. There's actually 3 versions of the code:
- one for the software renderer in f_wipe.cpp. I have never taken a closer look at this code but it probably contains original Doom code
- a second one for hardware accelerated 2D rendering in combination with the software renderer (in win32\fb_d3d9_wipe.cpp) which is also taken directly from ZDoom
- the GL version used by the hardware renderer in gl\gl_wipe.cpp. It's mostly a rewrite of the abovementioned D3D code for OpenGL. This is the one used with the hardware renderer.
The one for the software renderer is still based on Doom's original code but the hardware renderer version id