Stylized rendering

ShootMyMonkey said:
That mod appears to do its job via simple texture replacement.

Nope. Obviously, you've never played it. Somehow, he makes it look like someone was rapidly sketching each scene and then throwing it up on your screen. Even if you stand perfectly still, the lines from one frame to the next are unique.

http://www.cs.wisc.edu/graphics/Gallery/NPRQuake/

Here's his description of how he rendered brush strokes:

Creating brush strokes along the edge of walls was a bit tricky. Our main focus was the creation of brushes with varying thicknesses. This would accomodate for both a thinly-sketched pencil all the way to a heavily-stroked paintbrush.

The varying thicknesses were accomplished by creating a seperate polygon stretching between each vertex in space. Texturing this polygon with the desired brush stroke would result in a varying-thickness line between the two points. Sure enough, that's what happened, and the rest of the renderer was npr history.

Why don't you download it and have a look for yourself?
 
Last edited by a moderator:
XIII is cell shaded too and has some fancy comic book fatality scenes.
 
The NPRQuake renderer looks pretty cool, but I bet a pixel shader implementation could make it even better. As is, the renderer traces every polygons edge, so a square ends up looking like two triangles. If the normal vectors of two adjacent polygons are the same, then omit that line. If they're close, then perhaps some sort of shading (not the pixel kind) implementation to make it look like an artist trying to give an object form.

Also, I'm not sure how to do it, but some sort of filter to change the underlying "paper" of the scene would be cool.
 
Obviously, you've never played it.
Fair enough. I got sick of FPSes for good after the very first Quake came out. I haven't looked back, so I wouldn't have been very interested in the first place.

Even if you stand perfectly still, the lines from one frame to the next are unique.
Well, I obviously can't get that from a screensnap, which by itself is 100% achievable through texture replacement. But in general, I'd consider that a bad thing. We were able to get high framerates out of aEmber in a version where frame coherency was disregarded all right (everything done in screen space)... but that would have had little difference from a simple post-process filter, and it meant a severe loss in control over the nature of the scene. Yeah, the final version is slower in general, but coherency of the render across multiple frames is not something worth sacrificing.
 
ShootMyMonkey said:
But in general, I'd consider that a bad thing.

But the goal of the mod was to make it look like someone hand-drew each individual frame, so that would be a good thing in this case.
 
Anybody seen the trailer for A Scanner Darkly? It looks really cool, I wonder if that would be possible in real time.

scannerdarklyposter19nj.jpg
 
Okay, some more thoughts on the matter...

Stylized rendering can be applied in two ways - 3D rendering at the rasterization level, and post processing.

The post processing effects possible can be summed up by PhotoShop plugins. It's clear to see from plugins that from a photo-like rendering, a stylized final output could be created. Here's a couple of quick showcase images.

A sort of Graphic Comic style :

pp2.jpg


Something more water-colour-y :​


pp1.jpg

Use of median filters and the like can turn pics towards a more cartoon, banded shading style akin to Bad_Boy's example, with varying degrees of success. You would likely save on rendering power requirements, using less textures and less detail, if you were to process an image in such a way.​

The limits to 2D post-processing effects comes from the available information. You only have a 2D collection of colours/frequencies. They can also be very demanding. You're usual PhotoShop effect doesn't render anything like realtime.​

3D effects at the rasterization level can use texturing and 3D data. Object outlines don't need to be 'guessed' from 2D image intensities, but you can use the actual objects outlines. Straight away you have the option for cartoony outline rendering as seen in DQVIII and XIII. You can also use other 3D info like z-depth and normals. However, I'm not sure how much can be managed in that area. Short of different lighting models and deliberately angular geometry, how much variety can pixel and vertex shaders add? This is an unknown to me.​

Now of course, it's possible to combine both 2D and 3D. Here's a 3D rendering using 3D data (though the characters are cutouts!) to find object outlines, and then to create rough outlining and paint-effect fills (all procedural)...​

style3.jpg

This adds a great deal of variety over the limts of both 3D and 2D independant processing. You could also render individual objects, process in 2D, and composite into the final scene.​

There's a lot that can be done, but there's two major questions over more artistic rendering in games​

1) Is it viable? Is there enough power?
2) Do we even want to?!

I don't know how current rendering styles are achieved, like DQVIII, and I don't know what advantages in hardware are offered next-gen. From the original thread that spawned this one, an AO-only shaded game would be great, but is there enough horsepower to produces images like this in realtime...​


OA.jpg


Are there new techniques to make the processing power more effective in AO shading? Jawed linked to a very interesting talk that suggests headway could be made.​

It'd be nice to hear from devs or those with experience on the more abstract uses of vertex and pixel shaders how they can effect the rendering style. Pixel shaders are pretty straightforward, but I don't know what VS's can be used for.​

As for question 2, that's something everyone can have an opinion on! Gears of War looks great, and what I've done to it above is a travesty! Would there ever be a situation where you'd want a game to look like a graphic art sketch, or even a washed-out watercolour? I'm not sure there is. I don't know what the limiting values of aesthetics are in the choice of rendering style, but it seems obvious to me that if you could render a tennis game like a graphic-design gouache 2D painting, you wouldn't want to. I feel the whole field is very limited in scope of application. A pencil sketched flight simulatior? All very nice, but why bother?!​

Cartoon shading came about from hand-drawn animation or a need for printable material, and since then the art style has developed it's own feeling. It makes sense to try to emulate cartoon shading in games where you want to capture that vibrance. Most other techniques are confined to fine and graphic arts for static images, and are probably not suited for detailed moving images. I can see how maybe a fantasy RPG might have occassion to switch to an ethereal pencil-sketch type rendering for dream sequences or flashbacks, and user interfaces could benefit from more interesting rendering styles. I'm not sure that there'll ever be much interest in more abstract rendering styles for games though.​
 
Back
Top