QZDoom - ZDoom with True-Color (Version 1.3.0 released!)

Game Engines like EDGE, LZDoom, QZDoom, ECWolf, and others, go in this forum
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49183
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Graf Zahl »

Nash wrote:So maybe they might go "wtf this game looks like Doom why do I need the latest OpenGL" and they'll expect to be able to play it using the software renderer with their old computers...
Here's one piece of advice: When making a mod, never EVER let yourself be influenced by second-guessing your potential customers. This will inevitably result in a compromised product. Make the thing as good as you can with the hardware and software requirements YOU deem necessary.
User avatar
ZZYZX
 
 
Posts: 1384
Joined: Sun Oct 14, 2012 1:43 am
Location: Ukraine

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by ZZYZX »

Nash wrote:"wtf this game looks like Doom why do I need the latest OpenGL" and they'll expect to be able to play it using the software renderer with their old computers...
Btw, yes, this is actually more of a joke that GZDoom requires a 2017 computer to run 1993 wads. Everyone understands why does it have higher requirements.
(although I personally don't understand what's so amazing about GZDoom's GL3 shaders that they can't be used with GL2..
but then again, I haven't tried using these shaders with GL2 and I don't remember OpenGL programming well enough, but remember that sometimes in older shader versions even for cycles are restricted to 4 iterations or so, so whatever.)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49183
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Graf Zahl »

ZZYZX wrote:(although I personally don't understand what's so amazing about GZDoom's GL3 shaders that they can't be used with GL2..
Porting the shaders to GL2 is no issue at all for most. I already did that and had it tested. They will perform slightly worse because some features are not supported inGLSL 1.2 but that's minor.

The problem is the hardware. Every hardware with good shader performance supports OpenGL 3.x, which leaves the GL 2 render path to hardware which would suffer from massive performance losses if shaders were used. And to avoid that, the legacy render path uses fixed function features only.

And it doesn't make any sense to run modern hardware on OpenGL 2.x.
For once, on macOS you won't get ANY advanced features when running a legacy context, and for other platforms it offers no advantage unless you really need the fallback features.
To get the modern path on macOS it was necessary to run in Core profile, and since that's working it will be used everywhere when available.
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

Nash wrote:I'm worried if I go full voxels, then suddenly QZDoom's software renderer gets a MODELDEF drawer, then I'd have to undo all my voxel work... =D
Softpoly has really not fared well because it became more of a problematic project than originally anticipated. But I do expect one thing will survive from it, going forward: The triangle drawer.

With it, the following 3 things become much easier:
1) Drawing models to a voxel buffer
2) Drawing GL-style sky-cubes
3) Faking angled pitch translation as well as tilt if using multiple buffers

These aren't promises of these features occuring, but they still COULD occur sometime in the future due to Softpoly's drawers. But as for your immediate concern, I really don't see that happening very quickly right now.

Going forward I would consider the conversion program ZZYZX suggested - keep things as easy as you possibly can on yourself right now. You don't have to really "support" the software renderer other than to say "it's there and it works - somewhat". (UT2004 had this very idea) Let people who do have proper hardware run it with real models.
dpJudas
 
 
Posts: 3134
Joined: Sat May 28, 2016 1:01 pm

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by dpJudas »

There was a special change in GPU hardware when the NV 8800 was released: compute shaders. Before that the hardware in GPU's were roughly specialized into vertex and fragment shaders with distinctive units doing each with limited capabilities. While you can do GLSL on hardware before that, the performance characteristics are entirely different and the older it gets the worse any custom GLSL runs.

While GZDoom doesn't use compute shaders directly, the stuff the post processing does relies on the features unlocked in that time period: any texture format, any frame buffer format, true for loops and switches in GLSL, reading and writing to buffers that aren't always classical vertex buffers or a texture.

Comparing modern GZDoom to 1993 Doom is so silly anyway. All those people conveniently forget you have to run Doom in 320x200 to get a frame rate remotely playable. And this was with all limits in place - it is not like Carmack didn't know how to remove the limits. The computers of that age weren't powerful enough to allow him to do it. Now for some reason they find that this should logically mean you can run a full limit removing, true color, ten times more complex levels, etc etc at 4K with a computer decades old. Because you could run a primitive version of Doom at 320x200 in 1993. Did I mention you can render 320x200 about 124 times for a single frame of 4K? ;)

@Nash: Model support might arrive in the swrenderer one day - you never know. If nothing else, then as a model2vox built-in. If GZDoom can convert a voxel model to triangles, then the swrenderer could do the same way the other way around. :)

@Rachael: I think it might be better to convert a mesh to a voxel than draw it with the triangle drawer. Mostly because the CPU is really poor at drawing tons of triangles while the GPU laughs and then literally draws tens of millions of them.
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

Most models that get passed in GZDoom's model drawer these days are low-poly enough that they won't affect the softpoly renderer that much. Converting them to voxels you would lose a lot of quality, plus the ability to interpolate them, and doing it "live" so to speak would probably be more costly on the CPU than just straight rasterizing the models themselves to a 2D buffer. A setup conversion might be viable if there are models with >~1000 tris though, depending on the CPU that will be rendering them, as well as the resolution of the target screen.
User avatar
Nash
 
 
Posts: 17465
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Nash »

Alright, thanks for all the advice. I simply won't concern myself with the software renderer for the time being... making models and developing for the OpenGL is far, far far more fun and fast to get results with.

(never really liked how voxels look anyway... they were okay back then when you played Shadow Warrior or Blood in 320x200, that blocky stuff somehow blended well, but voxels in HD/4k just kinda looks meh to me :P)
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

You can scale voxels for higher quality but then you quickly run into the issue with them getting too big (exponents are a real killer!). A 126x126x126 voxel would end up consuming 2 megabytes of memory just for the slab data alone, and that's the max that some voxel editors can handle.

AFAIK the voxel format itself can go up to 256^3, and that ends up being 16 megs - and then you're right at the limit. Doing that for about ~20 or so frames would consume 320-ish megs of memory just for a single actor.

And then the real problem comes into focus, because drawing voxels is a time intensive task, and there's no possible way a modern CPU of today can cache that much data. A screenful of HD voxel actors would slow framerates to a crawl.
User avatar
Nash
 
 
Posts: 17465
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Nash »

Exactly... doesn't sound too economical and the results don't even look good. I saw someone posted some high res voxels in ZDoom, using a custom poly2vox.exe that can build voxels up to 1024^3. But even with the added resolution, they don't look that hot.
MrDowntempo
Posts: 41
Joined: Wed Mar 01, 2017 1:58 pm

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by MrDowntempo »

I just want to throw my voice in here briefly. I use QZDOOM, because for the short-term future, Im' on a laptop with horrible and old integrated graphics. The software renderer runs much quicker, especially on more complex levels. Still, I'm itching to play things like Blades of Agony. I have to wait until I either rebuild my desktop and can run the GL renderer, or wait until QZDOOM supports models, one way or another.
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

MrDowntempo wrote:I just want to throw my voice in here briefly. I use QZDOOM, because for the short-term future, Im' on a laptop with horrible and old integrated graphics. The software renderer runs much quicker, especially on more complex levels. Still, I'm itching to play things like Blades of Agony. I have to wait until I either rebuild my desktop and can run the GL renderer, or wait until QZDOOM supports models, one way or another.
I'd like to think that this project is helpful in such a way. :)

By the way I've gone and split the shadowmaps stuff here - I didn't think it'd turn into a full fledged discussion.
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

For those of you watching my Git -

I renamed "master" to "maint-1.3" in preparation for the 1.3.0 release.

The new "master" branch now is pulled from Graf's 3.0_work branch for GZDoom.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49183
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Graf Zahl »

I'll do the same thing later. But this will require an announcement.
One question: What's the difference between GZDoom and QZDoom then?
User avatar
Rachael
Posts: 13793
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by Rachael »

QZDoom will start to experiment with more risky features. Like this one - plus netcode changes, if I get anywhere with that. (I don't know if I'll have anything as robust as Carnevil's system for Skulltag but it should hopefully be at least as usable - but time will tell for that)
User avatar
ibm5155
Posts: 1268
Joined: Wed Jul 20, 2011 4:24 pm

Re: QZDoom - ZDoom with True-Color (Version 1.2.2 released!)

Post by ibm5155 »

Don't even think about transforming voxels into a bunch of polygonal cubes...
I once did that and it was really bad, neither the use of threads helped, you may waste like 10 minutes converting the voxels into a 1x1 scale, and also waste ehm, more than 2GB of VRAM, and if the vram fits, It'll not run with more than 0 fps if you may see some complex voxels on screen...

Until now the best method that I found to convert "voxels" into polygons is using the marching cubes method.

Rofl I still remember that my system gave up with a 256x256x8 model, if I remember it was using like 800mb of ram and it took like 10 minutes to load it, and ehm, 5 minutes to rotate :evil:

EDIT: BUT, it may be the framework that I was using that sucks to interact with more than 1 million of polygonal cubes (In the case I was manipulating 3D medical images, where in most cases it was a 256x256x64 or even 512x512x2048 images...

EDIT2: Idk how that worked, but can't gpus render voxels as voxels with raycasting?
Last edited by ibm5155 on Sun Mar 12, 2017 5:53 pm, edited 1 time in total.

Return to “Game Engines”