News | Forum | People | FAQ | Links | Search | Register | Log in
Mark V - Release 1.00
http://quakeone.com/markv/

* Nehahra support -- better and deeper link
* Mirror support, "mirror_" textures. video
* Quaddicted install via console (i.e. "install travail")
* Full external texture support DP naming convention
* Enhanced dev tools texturepointer video inspector video
* IPv6 support, enhanced server capabilities
* Enhance co-operative play (excels at this!)
* Software renderer version (WinQuake)
* "Find" information command (ex. type "find sky")

Thanks to the beta testers! NightFright, fifth, spy, gunter, pulsar, johnny law, dwere, qmaster, mfx, icaro, kinn, adib, onetruepurple, railmccoy

And thanks to the other developers who actively provided advice or assistance: Spike (!), mh, ericw, metlslime and the sw guys: mankrip and qbism.

/Mac version is not current yet ...; Linux will happen sometime in 2017
First | Previous | Next | Last
Testure Filtering 
GL_NEAREST_MIPMAP_LINEAR should give the best result. 
 
GL_NEAREST_MIPMAP_LINEAR disables anisotropic filtering. The lack of anisotropic filtering is the main reason for the texture aliasing, since Quake's textures are low res enough to not get grainy when viewed from a perpendicular angle. 
Mankrip 
Is that exclusive to just nearest+linear, or all nearest* modes? Asking because I'm otetty sure that with nearest+nearest, I can see a bug difference between anisotropy 1 and 16 on the far away surfaces (in Fitz/QS). 
I'm Otetty? 
Meant to say "I'm pretty" (duh). 
Well... 
... I´m otetty glad you did the clarification :D 
#2640 
That may be driver-dependent, but I've never seen NEAREST_MIPMAP_LINEAR getting anisotropic filtered.

The _MIPMAP_LINEAR thing, afaik, basically tells the GPU to use linear filtering when generating the mipmaps. So, it influences the quality of the data that's rendered, but not the rendering itself.

If you're noticing a difference when _MIPMAP_LINEAR is turned on, your GPU may be generating anisotropic mipmaps (ripmaps) for the textures. But I'm still skeptical about it using anisotropic filtering per se.

Anisotropic filtering is like a superset of trilinear filtering. While trilinear filtering filters across square mipmap levels (both coordinates at once), anisotropic filtering filters across each texel coordinate individually.

Now, the huge catch is, pretty much all GPUs requires bilinear filtering to be enabled if you want to use trilinear filtering (and anisotropic filtering)... But mathematically, bilinear filtering isn't required. Bilinear filtering only filters across the UV plane, regardless of mipmap level. You can still blend mipmap levels (including anisotropic ones) without blending UV coordinates.

Well, this video doesn't show it, but Retroquad can do trilinear filtering of mipmap levels without doing bilinear filtering of texel coordinates.

I also want to implement anisotropic mipmapping someday, and it won't require bilinear filtering either, but anisotropic filtering may require it. Anisotropic mipmaps can be trilinearly interpolated across mipmap levels with the same width/height aspect, but afaik, to do anisotropic interpolation on them, the blending across mipmap levels must be done in a subtexel scale. Or maybe not. I haven't got to that part yet. 
 
QS supports nearest+anisotropy
for some engines (Nehahra's GLQ, probably GLQ in general) anisotropy can also be forced via drivers, but not for MarkV

a good spot to see the effects of AF is the floor right at the start of WarpSpasm

I think with AF on, NEAREST and NEAREST_MIPMAP_LINEAR behave identically in QS, but I don't know what happens behind the scenes 
 
QS supports nearest+anisotropy

Not in my Intel HD Graphics 3000. So, that's really a driver/GPU issue.

With the amoung of "pixelated 3D" games being released nowadays, support for it may become more common. 
 
the anisotropy extension defines the behaviour only for when using trilinear filtering.
If you try using it anyway then you get undefined results - including glitches. Ultimately it depends on the drivers/hardware as to whether it works or not. 
Texture Filter Modes 
Texture filter modes are kinda funky in OpenGL; there's actually 3 different filters that can be applied:

- Magnification: when a texture is zoomed in.
- Minification: when a texture is zoomed out.
- Mip filter: how the driver selects between different mip levels.

GL_{NEAREST|LINEAR} defines both the magnification and minification filters. If a texture is minified more than 50% it will get aliasing, even with GL_LINEAR.

GL_NEAREST and GL_LINEAR don't use mipmaps. The texture may have miplevels specified for it, but using one of these filters will disable mipmapping and always selects from miplevel 0.

Now, and contrary to what some people believe, software Quake actually did have mipmaps. If you want to replicate the software Quake look, you better use mipmaps.

GL_{NEAREST|LINEAR}_MIPMAP_{NEAREST|LINEAR} filters do use mipmaps, and the filtering mode after the "_MIPMAP_" part specifies how miplevel selection is done. Miplevel selection is not per-vertex in GL, it's per-pixel (per-fragment in more correct GL terminology).

GL_{NEAREST|LINEAR}_MIPMAP_NEAREST just selects the nearest miplevel. This creates a visual artefact where you can quite clearly see the miplevel transition - it's one of those things that might not be immediately obvious but once you do notice it you can't stop seeing it.

GL_{NEAREST|LINEAR}_MIPMAP_LINEAR interpolates between two miplevels and does a good job of hiding miplevel transitions.

Another artefact occurs with surfaces like water and lava: software Quake didn't mipmap those, but if you do, you might notice that the texture shifts between different miplevels as it warps, even though the viewpoint might not otherwise change. The fix to that is to use a shader with the textureGrad instruction, using ddx and ddy from the original unwarped texture coords, and that gives a high quality rock-solid result.

Anisotropic filtering is performed by the hardware, not by software. If your graphics hardware doesn't support anisotropic filtering on GL_NEAREST modes, then it doesn't matter a sweet flying blue damn whether or not the engine provides it as an option: you can't do it.

An alternative is to upscale the original source textures x2 or x4, then run a GL_LINEAR filter; that preserves most of the crunchy pixel look but allows anisotropic filtering. The original textures are so low-res that it won't cause you trouble at all on any reasonably modern hardware. Of course, if you try to do this with a high-res replacement pack your GPU and/or driver might have a heart attack on you.

The other thing to note is that the original low-res textures have a certain pixel-art style that is completely ruined by linear filtering (mag or min, not mip). Look at the details on, say, one of the health pickups and compare the filter modes. The upscaling trick also works well to preserve those details. 
C-C-C-Combo Breaker! 
Sorry, but I had to do this just to see if the thread was being revived because of ads... 
 
I have faith that Baker will return some day. It will be the same day that czg releases honey 2. 
Not A Spam Post 
Latest release of Mark V is still capable of running most maps, except for some extreme cases. *IF* Baker ever returns, he should push all limits beyond anything that's currently the max in all other engines, just to make sure future releases will run properly without requiring another engine update.

I'd still like to see the (returned) issues in Nehahra and NE_Ruins fixed, but I'll remind Baker about it once he resurfaces. *IF* he ever resurfaces. 
It's True 
I will return.

At that point I will likely be a billionaire, just to keep it real that is how it goes down.

So if there aren't Mark V updates right now, I shall leave it you to fill in the blanks, I have other things going on.

People like Shambler who I respect wonder how "it goes down". I never wondered. Perhaps from the perspective of some I only exist to provide chaos.

Don't worry. I will provide that chaos, because I crave it. And if you are a generic peapod, you'll be uncomfortable -- mostly because you have a small "wang" and according to YouTube not everyone can "Wang Chung Tonight".

Ignore my drunk post.

/Cuz like the funny ... against my better discretion I click "Submit'. 
We Love When Baker Is Drunk 
Because he is posting, and when he is sober, he can resume working on his awesome port.

I have been trying QSS lately to see if I can live without Mark V, but then I was missing the different transparency settings for liquids, finetuning for HUD weapon positioning, authentic underwater warp, Nehahra support and so on. Mark V remains number 1 for me and deserves to be perfected to be enjoyed by mankind.

Cheers, mate! 
New Issue Found 
At least the DX9 build has issues with Quoffee/CoffeeQuake.

When trying to load e3m15_kamp "Unholy Underground", you get a crash to console with following message: "Host_Error: AllocBlock: Full". Happens when you try to load the map directly or after leaving e3m14_pinchy1. 
 
honey 2 confirmed 
Mac Version? 
there are a way to get an updated mac build? 
24 posts not shown on this page because they were spam
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2019 John Fitzgibbons. All posts are copyright their respective authors.