#uwadv@irc.freenode.net logs for 21 Oct 2003 (GMT)

Archive Today Yesterday Tomorrow
Underworld Adventures homepage

[00:31:20] <Dragst> hahhah
[00:31:22] <Dragst> what?!
[00:31:26] <Dragst> hardly per pixel lighting
[00:31:33] <Dragst> I can assure you that was precalced :D
[00:31:41] <Dragst> you know
[00:31:44] <Dragst> I'm just concerned
[00:32:01] <Dragst> because many games have just suddendly been tnl only
[00:32:03] <Dragst> which sucked
[00:32:14] <Dragst> do I know anything about it? Hell yeah, I programmed our 3d engine
[00:36:57] <servus> dragst: It was per-pixel lighting.
[00:37:00] <servus> It still is, in fact.
[00:37:12] <Dragst> come on
[00:37:17] <Dragst> they faked everything back then
[00:37:26] <servus> Everything is still 'faked' in all the games you see.
[00:38:02] <Dragst> everything was always dark which was "outside" your light
[00:38:04] <Dragst> so
[00:38:06] <Dragst> I'd say
[00:38:22] <Dragst> the "per-pixel lightning" is some kind of depth-buffer solution shader
[00:38:28] <Dragst> which is already a whole different issue
[00:38:30] <servus> In UW, take your camera and place it parallel to a wall in the dark. You will notice that the wall smoothly fades into darkness. The polygons are incredibly large, yet each pixel has a different overlain luminscence.
[00:38:41] <servus> It *does* use a depth-buffer to do the lighting in UW.
[00:38:49] <Dragst> there you go =)
[00:38:58] <Dragst> and what have you done, reverse-engineered the whole code? =)
[00:39:05] <servus> How do you think it's done nowadays?
[00:39:12] <servus> I made my own.
[00:39:18] <Dragst> hahhah
[00:39:20] <Dragst> mmkay
[00:39:31] <Dragst> so.. er, that's why you're 100% of uw engine's architechture?
[00:39:33] <servus> It's done with a depth buffer nowadays (at least, that's one of the accepted ways of doing it)
[00:39:40] <Dragst> well
[00:39:50] <servus> Dragst: It's per-pixel lighting. A simple playing of the game is all that is needed to realize that.
[00:40:08] <Dragst> all right, whatever
[00:40:43] <servus> Each pixel is a different shade, I can give you a replacement texture file that makes all the textures pure white so you can see, if you'd like.
[00:40:53] <Dragst> heh
[00:41:06] <Dragst> and nothing makes you suspect it's vertex based?
[00:41:25] <servus> On the contrary, several things make me suspect strongly that it isn't vertex based.
[00:41:31] <Dragst> cool
[00:41:47] <servus> 1. The walls and floors were rendered with a generic polygon rasteriser -- polygons had to be conserved, therefore.
[00:41:57] <Dragst> I'd love to see solver for that, working with 386...
[00:42:24] <servus> 2. One can pay close attention to the behaviour of the rendering engine in the original UW and find clues to support these assertions in the texturemapping errors (affine misalignments)
[00:42:25] <Dragst> I'm sure your version of definition per-pixel lightning is different that mine =)
[00:43:16] <Dragst> t=n
[00:44:21] <servus> Each rasterized pixel in the 3D game world is supplied with a different luminescence, based on the distance from the viewport. That's per-pixel. :)
[00:44:34] <Dragst> mmkay
[00:44:34] <Dragst> heh
[00:44:40] <Dragst> hardly the same as mine
[00:44:40] <Dragst> =)
[00:44:54] <servus> Also, keep complex 3D objects such as the beds in mind...
[00:44:58] <Dragst> I'd call that depth-shader more than per-pixel lightning
[00:45:16] <servus> Per-pixel lighting is made possible by depth-shading techniques...
[00:45:23] <Dragst> that works without the actual 3d-data itself, you don't need much else than a 2d depth buffer for that
[00:45:24] <Dragst> for me
[00:46:01] <Dragst> per pixel lightning means all the light sources are processed differently per pixel, enabling effect like specularity, bump and normal mapping to work in high detail
[00:46:07] <Dragst> la suxbox and crap
[00:46:08] <Dragst> doom3
[00:46:10] <Dragst> yadayada
[00:46:27] <servus> Any of these effects can be achieved with great clarity as long as each rasterized pixel contains enough information.
[00:46:37] <Dragst> hah
[00:46:40] <Dragst> like that's ever the problem
[00:46:41] <servus> (From a 2D source image)
[00:46:55] <Dragst> I'd like you to write a hyper-speed solver for it ;)
[00:46:57] <servus> All you need for each rasterized pixel is depth and normal.
[00:47:05] <servus> I've made two...
[00:47:06] <Dragst> magic word, normal
[00:47:08] <Dragst> cool
[00:47:11] <Dragst> where you work at?
[00:47:12] <servus> Sure, they're hacks, but everything is.
[00:47:20] <servus> ...a restaurant. :)
[00:47:23] <Dragst> blahahah
[00:47:24] <Dragst> ok
[00:47:37] <Dragst> states?
[00:47:42] <servus> Yes; California.
[00:47:45] <Dragst> mmkay
[00:48:31] <servus> I'm currently rewriting my fifth generation lighting engine...
[00:48:35] <Dragst> well, add shadow volumes to the list and depth-buffer solution suddendly isn't enough
[00:48:39] <Dragst> software?
[00:48:49] <servus>
[00:49:14] <Dragst> I don't mean this as an insult, but if you're so hc 3d-gfx engineer, why you are writing in the restaurant?
[00:49:16] <Dragst> jeagopiajdigoj
[00:49:19] <Dragst> working, not writing
[00:49:22] <servus> I use shadow volumes with the newest revision... Everything is hardware accelerated (that's why it's all hacks.)
[00:49:31] <Dragst> hw tnl?
[00:49:46] <Dragst> page not found
[00:49:49] <Dragst> can't connect to host :-/
[00:50:32] <servus> Is your IP on a DNS server? :)
[00:51:30] <servus> As for the question... *shrug*
[00:51:37] <servus> I don't like change, I suppose.
[00:51:42] <Dragst> heh
[00:51:46] <Dragst> who old are you?
[00:51:49] <Dragst> how
[00:51:54] <servus> Try the server again,.
[00:52:03] <Dragst> better
[00:52:17] <servus> I don't see why it should matter, but just about 20..
[00:52:30] <Dragst> hehe
[00:52:32] <Dragst> just curious
[00:52:36] <Dragst> no meaning.
[00:52:54] <Dragst> pic is cool, fps and on what card?
[00:53:13] <servus> 75+ FPS, GF4-TI4800
[00:53:58] <Dragst> ok
[00:54:07] <Dragst> does this have anything to do with uw =)
[00:54:25] <servus> Not really. Coren and I exchange ideas on 3D programming, however.
[00:54:29] <Dragst> ok
[00:54:37] <Dragst> just curious, the place just looked a bit like it could
[00:55:36] <servus> All the models you see are models I made for Underworld.
[00:56:05] <Dragst> ok
[14:04:54] --> wjp has joined #uwadv
[14:04:54] --- ChanServ gives channel operator status to wjp
[17:08:17] <-- wjp has left IRC ("bbl")
[17:16:25] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:17:08] --> servus has joined #uwadv
[17:21:23] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:22:33] --> servus has joined #uwadv
[17:29:58] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:31:02] --> servus has joined #uwadv
[17:34:15] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:35:45] --> servus has joined #uwadv
[17:36:23] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:37:12] --> servus has joined #uwadv
[17:40:37] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:42:10] --> servus has joined #uwadv
[17:42:30] <-- servus has left IRC (leguin.freenode.net irc.freenode.net)
[17:42:58] --> servus has joined #uwadv
[18:12:44] --> vividos has joined #uwadv
[18:12:47] --- ChanServ gives channel operator status to vividos
[18:45:05] <-- vividos has left IRC ("got to go")
[20:45:29] --> Dark-Star has joined #uwadv