56 comments

[ 2.0 ms ] story [ 87.3 ms ] thread
no screenshots?
There are couple hidden in subpages on the submission (look for "sketchy/blueprint/brushshroke NPR links" in the sidebar), + some in the paper here: http://research.cs.wisc.edu/graphics/Gallery/HijackGL/.
Thanks for linking HijackGL - I was trying to find that a few months back, but was searching for "GLHijack" to no avail.

I used to play the Jedi Knight games with a pencil-drawn shader, was feeling nostalgic

Heh, did whitewalls + wireframes ages ago for Half-Life based games with the same method - just an opengl32.dll

http://i68.tinypic.com/m93pj7.png

Had to dig it out from my project graveyard, but still seems to work :)

I don't know why everyone's saying there are no screenshots. There's one here: https://research.cs.wisc.edu/graphics/Gallery/NPRQuake/sketc...
It's because that's the initial pull of the project: "Cool, so what does it look like?"

And then you click in to the homepage yet have to dig around to find one.

There isn't any navlink titled "Screenshots" nor "Gallery", so you click through them all until you find "Sketchy NPR" which has a screenshot, most people probably bailing before then.

This type of project would best serve visitors and itself if it had screenshots on the homepage.

Man, I took one look at the sidebar and gave up, came back here to search through the comments for links instead. That site is insufferable. Too much focus on being clever instead of functional.
This reminds me of using neural style transfer on the surfaces of 3D models.

https://twitter.com/nobelchoco/status/909417583954317312

Here's a video of all the shaders:

https://www.youtube.com/watch?v=PMpx3pupMKg

My reaction was, that is really cute, seriously. Let me feel happy to see this:)

(comment deleted)
This is refereed to as Stylized Rendering is well supported by modern engines quite easily. Usually you just drop in plugin and you get stylized version of the game:

https://docs.unrealengine.com/en-us/Resources/Showcases/Styl...

It really depends on what style you want to achieve but it can get quite hairy pretty fast.

Non-photorealistic rendering is actually a whole (fascinating) academic field in itself.

Since you have conflicting goals (temporal coherence, spatial coherence, "flatness", relatively constant stroke/feature size, ...) it's full of interesting tradeoffs and techniques.

Even simple things like beautiful real-time stylized outlining can be really hard if you are picky about the result.

For anime style you'll need a little more than just a few shaders. The models themselves need to be distortable and perspective-dependent.
I know very little about this field - why would a model need to be distorted to give an anime look? (Also, what does perspective-dependent mean in this context?)
Re: perspective-dependence: I'm assuming they meant that in actually hand-drawn anime, things like hairstyles or eyes are not realistic because they switch shapes and locations depending on the perspective (like, both eyes always visible even when almost-sideways, or hair spikes switching from left to right when the character turns, etc).
Good, and incredible impressive, examples are recent entries into the Guilty Gear series, such as Guilty Gear Xrd: Revelator:

https://www.youtube.com/watch?v=tY1RpK1vbTo https://www.youtube.com/watch?v=5z5-97rfHEg https://www.youtube.com/watch?v=tHp3fmDypg0

One early example in the first video is the shell casing, which is replaced with a model that has some motion blur-like extensions.

(comment deleted)
you could make a nice story driven game with that shader
or some 3d storyboarding, but then you don't need quake, it could be a shader for blender for example
That's pretty awesome, and I like that there are people still doing interesting stuff with Quake.

Years ago I used to love ttyquake. Even played a couple of (fun) deathmatches in it. With the xterm font-size turned way down and res way up of course...

> still doing interesting stuff with Quake

I like it too, but NPRQuake was a spring 2000 class project and was widely available in 2001. I remember making a version which intercepted calls with GL_TRIANGLE to instead call glutSolidTeapot. The framerate was… degraded.

Ha! Didn't spot that this article was from 2002 :)
One of my favorite parts of writing emulators is getting to mess with the internals of the console to change the way the games look or feel. Widescreen hacks, palette swaps, visual enhancements and/or deterioration.

Here are a few random examples I've collected while experimenting:

Playstation upscaling: https://svkt.org/~simias/mednafen/ffix-1xvs2x.gif

OpenGL debugging gone wild that turned Spyro into LSD dream emulator mode: https://svkt.org/~simias/mednafen/disco.webm

Metal Gear Solid without textures: https://svkt.org/~simias/mednafen/RetroArch-0131-170156.png

Crash Bandicoot in Wireframe: https://svkt.org/~simias/rustation/crash-wf.png

Metroid II "widescreen" hack: https://svkt.org/~simias/metroid-ws.webm

Super Mario Land with fixed background (and terrible audio): https://svkt.org/~simias/mario-warp.ogv

The possibilities are endless and it sometimes lets you discover some clever tricks the devs used to work around the limitations of the time, such as Spyro's skybox being made entirely out of non-textured polygons: https://svkt.org/~simias/rustation/spyro-moon-bg.png https://svkt.org/~simias/rustation/spyro-moon-bg-wf.png

A similar trick is used in Crash Team Racing and the Homeworld PC game (or was it Homeworld 2? I don't remember).

A related, interesting rabbit hole I wandered through the other day (prompted by a thread on Mastodon), was that the early Sierra games included stronger art than the systems they were developed for supported. The thread started by wondering if there were smart ways to upscale some of the games because Sierra often used a lot of vector art, though the conclusion there is the vector/raster mix is too brittle in most of their games, because it is almost always a pixel-specific mix in the end result.

That lead to the interesting bit that SCI0 games from Sierra in the EGA era had artwork drawn at higher color palettes than EGA supported at the time (or more specifically, the artwork individually follows EGA restrictions of 16 color palettes, but a larger mix of different colors palettes for different artwork mixed in the same scenes/games than EGA can quickly cycle through and than other EGA games would have done in the same time frame), and included that detail in the games with the SCI0 engine dithering the results at runtime, rather than standardizing palettes at dev time. Sierra at the time was quite proud of their dithering tech because it gave the artists greater freedom and looked good enough at the time. Arguably, too they knew the technology would get less restrictive eventually and they could support that when that happened, though that was before the era of easy game patches so who knows if they ever thought to act on that for "easy" VGA upgrades.

The interesting part of that to me is that ScummVM reimplemented the dithering, then eventually turned it off by default. If you play a SCI0 game in ScummVM today you get the wider color mix of the original artwork. You can turn the dithering back on if you wish, but the artwork really does look better with modern color support rather than emulated dithering.

> The thread started by wondering if there were smart ways to upscale some of the games because Sierra often used a lot of vector art, though the conclusion there is the vector/raster mix is too brittle in most of their games, because it is almost always a pixel-specific mix in the end result.

IIRC "Out of this World" (aka "Another World") was relatively pure wrt vector art. This is probably why it was straightforward to port to a modern re-release. I don't know that they targeted a higher resolution, though.

The PlayStation upscaling image is related to an observation I made upon playing the FF7 and FF9 re-releases on PS4: the polygonal models look pretty good! But the static backgrounds don't, and the juxtaposition is sometimes jarring. In their original form, the polygonal models looked well integrated with the static background, but not any longer.

I find it interesting how, for these games, upscaling helps only part of the graphics. I understand why, of course, but I was surprised how well the polygonal models have aged.

A game called Valkiria Chronicles uses a hand drawn style similar to this: https://youtu.be/p-0RY4TTNwE
I had a ton of fun with Valkyria Chronicles back in the day, and I’m not sure anything’s pulled of that sketched style in quite the same way. The brushstroke renderer also reminded me a lot of Okami[1], one of my favourite games from the PS2 era. It had a very distinctive style based on Japanese ink brush art.

[1]: https://youtu.be/G6NPoX7_ehc

Quake was never anything close to photorealistic, so it is an absolute crime that this is called "Non-Photorealistic Quake" and not "Quake On Me."
Perfect! Next we need a Bakshi-style rotoscoped Quake.
(comment deleted)
I love the look of the still images, but I don’t like how everything is shaky because things get stylised differently from one frame to the next. Has there been work on this sort of thing that maintains consistency between frames?
The jitteryness is an artistic choice (no tech limitation).
It wasn't ever photo-realistic. Why bother with realism at all? This looks awesome btw http://www.quelsolaar.com/love/screen_shots.html? There was also a gory black and white and RED game that I can't find right now.
Madworld? https://en.wikipedia.org/wiki/MadWorld

While no-one would argue that Quake was truly photorealistic, it was as realistic as the hardware of the day would allow at a videogame framerate (30+fps).

I used to own Flight Simulator ‘98. Which proudly stated “photorealistic graphics” on the box. Technically they were correct... all the textures were photos!
Though I never played madworld I continue to wonder if the game play is more exciting because the graphics invite your mind to fill in missing details.