Quake1 with stencil shadow volumes & perpixel lighting

Looks like someones doing something interesting with the Q1 source code, attenuated specular and diffuse bumpmapping replaces the lightmaps, and proper shadow volumes add the finishing touch:-
http://users.pandora.be/hollemeersch/blackrose/tenebrae/index.htm

Unfortunately I don’t have Quake1, so I’ll have to make do with the screenshots

you read the opengl.org news? cool…

yeah, its cool. i even have quake1, so i play it currently. but you can get away with the demo/shareware version, it works there as well… i think.

yeah, it looks quite cool, thought the perpixellighing generally sucks on a gf2mx (simple specular on everything, without glossmap it is. and a low exponential, and just addet, so it gets nice white and thats it… bah ).

what scares me is the speed, it doesn’t run smooth on 640x480 when there is some stuff on the screen… and the perpixellighting has less features than the doom3 lighting => it is faster than the doom3 version. AND the geometry is simpler than the doom3 geometry…
i think i will not try doom3 on this pc

the ones that made it made a really cool job, quake looks so cool now. now some subdivision and displacementmapping on the whole geometry, and it would be perfect hehe

have to correct myself, it has colored specular and all in

hehe, its fun to play…

Bugger, no I didn’t read about it on opengl.org news, I haven’t checked that page in a few days. Found it mentioned on some other newsgroup just now.
Sorry if this is old news.
I’m wondering how the bump maps are created - are they converting the existing textures to greyscale height maps and generating normal maps from those? That would seem sensible.
You really should upgrade your card, davep - how can you manage with a gf2mx?

hehe, i’ve played it before the news on opengl.org, so i could have posted this as well

dunno how they generate the bumpmaps, but you could download the source as well to check it

about my lovely card…
in one or two weeks i have
p4 2.8 giga with a radeon9700…

it should run bether then

The guy who wrote the Quake1 mod posts on this board ( under Pentagram ).

Hello

(Here I am. I don’t publicize my stuff on message boards.)

  • The light equatiation is clearly explained in the techical section, it uses glossmaps for specular.
  • Bumpmaps are generated from grayscaling the textures or can be supplied by the user (I made a lot of crappy bumpmaps for the obvious textures like bricks & stuff)
  • Heh the 9700 version wil probably be very slow. It uses the generic (ARB_ & EXT_ only) path that requires 9 passes, but then again on a 2.8 ghz that will not matter anyway.
    -The public version runs at 33fps on my PIII-900 gf4 4200 (my next version already runs at 41fps and I’m not done optimizing yet.)
    -Opengl news was actually some days to late by that time lots of sites already had reported on it.

Has anyone good papers to do trueform-like things as a preprocessing step our something.
My idea was do split all edges in 2 edges ( thus every triangle becomes 4 triangles) and then do something with these verts by extruding them by the normals or something.

Charles

[This message has been edited by Pentagram (edited 08-31-2002).]

Pentagram,

this feature from gamasutra.com is about the math behind N-patches (ATI calls them truform…)
http://www.gamasutra.com/features/20020715/mollerhaines_01.htm

pentagram, yes, you have all the stuff in, its just in the first level, first part, its all so white from the speculars anyways, i have to congratulate you, that stuff is awesome cool…

i currently play it with 320x240 and fsaa4x, it runs smoother than 640x480 that way and looks way bether (as the edges and shadowedges look terrible on both resolutions else…). the 320x240x4 is faster than the 640x480, don’t ever ask me why cass? any fancy optimisations for fsaa on the gf2mx?

i hope you get some sweet r300 version with one pass for the whole lighting (and possibly bether lighting equation as well, as there you could do much more…) i would love to see that

you got me quaking again, thats cool

Looks like dave learned about a new happy face icon! His posts, I’ve noticed, are riddled with them. lol.

Anyway, looks like I’ll have to reinstall Quake 1 again to try this newer version of ‘shadow-volume quake.’

-SirKnight

[This message has been edited by SirKnight (edited 08-31-2002).]

yeah, i moved from to about a month ago, or so… hehe dunno why again… but i think it was because of a girl… hehe

yeah, when dave is happy, dave fills screen with them

yeah, reinstall it, its soooo coooooool

for example in the end of the first level of chapter two, there are two sources shooting rockets against you, that looks so cool as they fly trough a complex grid mesh… i got shocked and run away as i did not understood first the heck is going on my screen then i moved back and have actually seen them, lighening rockets flying towards me, and i ran away again hehe great fun

Has anyone good papers to do trueform-like things as a preprocessing step our something.

If this is a pre-processing step, look into Subdivision Surfaces (especailly for character models. They probably wouldn’t help on the walls). They don’t even need normals to work, and they can be made to work well over creases in the geometry.

@ davepermen

>>Has anyone good papers to do trueform-like things as a preprocessing step our something.
My idea was do split all edges in 2 edges ( thus every triangle becomes 4 triangles) and then do something with these verts by extruding them by the normals or something.<<

no papers but i do something similar when i do displacement mapping. though IIRC u split the edges made from the texture coordinates data.also the division is a bit more flexable that is u can split a line into X number of ie not just split it half way + then split those halfs etc.
search for triangle (surface/polygon) tessleation theres prolly a lot of info about it (though it really is pretty straight forward)

Pentagram:
Tenebrae rocks, good work.

I run it at 320x240x32 @ 41fps - demo1
on my TB1400 GF2MX.
Also, the bumpmapping adds a lot to the overall look (played an earlier version without it), the projected textures, smoke,… ahh, its just great!

Pentagram,

Btw. the “blending problem” on Radeons is caused by glPolygonOffset with factor = 0. This is probably a driver bug. Yesterday, it occured to me that you had probably used the same polygon offset call that Cass used in his demo. His demo had that blending problem on Radeons too. Anyway, using a different glPolygonOffset setup solves the problem ( a temporary solution really ).
PolygonOffset has always been different across implementations but I assume NVIDIA’s is correct ( zero is allowed, right ? )

Oh! It’s Quake I? Damn! I thought I was playing Doom III.

It looks really cool. But is it me or the first level (plus the Zoo map) are the only maps that have been optimized for it?
'cause other maps looks really dark.

Here it’s playable in 640*480, due to the good old GF2U, but the P3-700 is unfortunatly getting too old for it.

PS: Hey! Another Pandora fella, no wonder he’s making good stuff with OpenGL!

Originally posted by Pentagram:
[b]Hello
Has anyone good papers to do trueform-like things as a preprocessing step our something.
My idea was do split all edges in 2 edges ( thus every triangle becomes 4 triangles) and then do something with these verts by extruding them by the normals or something.

Charles

[This message has been edited by Pentagram (edited 08-31-2002).][/b]

Hi,
actually what you describe is called primal triangle subdivision. There are two famous subdivision schemes which work use this method:
Butterfly (Dyn, Levin, Gregory) - interpolates the initial geometry, C1 continuity, no need to project vertices after performing the refinment steps, analytical normals stencils, etc… Cons: weird rules at the boundary, C1 is broken at irregular vertices (degree != 6). look for Modified Butterfly(Zorin).
Loop (Ch. Loop) - aproximates the initial geometry, C2 continuity!, analytical normal stencils, good rules at irregular points(no C2, but still bounded curvature and C1) Cons: must project vertices on the limit surface(one step needed more)

good sites for subidivision: http://multires.caltech.edu http://www.mrl.nyu.edu/ http://www.informatik.rwth-aachen.de/I8/research/research.html

During my master thesis I developed some fast implementations of the above algorithms, and other subdivsion schemes, if you are interested, let me know.

Regards
Martin

  • Yes that radeon problem seems to be a driver bug someone mailed me that with some beta drivers from ATI it works as it should.
  • I will have to dig into the subdivision things I guess, all I know are bezier/nurbs patches.
  • We (I found a decent designer on the net ) are working on a better demo map, what I’ve seen of it is really spectacular. (only 1 room 3 lights!) The guy actually can make bumpmaps that look good.

Charles

hehe. there is yet a map with, is that another demo map to play with?

btw, quake looks quite amazing like that, but, well, its terrible difficult to play, as you have to shoot around to actually see something… i’m somehow scared how doom3 will play…

best is still npr sketch… that looks somehow awesome 3d and is very good playable