<!-- MHonArc v2.4.4 --> <!--X-Subject: 3D engines for MUDs --> <!--X-From-R13: @vxynf Syzdivfg <q97ryzNqgrx.punyzref.fr> --> <!--X-Date: Fri, 20 Mar 1998 11:30:57 +0000 --> <!--X-Message-Id: Pine.SOL.3.96.980320104857.1242C-100000#aporat,dtek.chalmers.se --> <!--X-Content-Type: text/plain --> <!--X-Reference: 7eafal3euq.fsf#zesoi,fer.hr --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, 3D engines for MUDs</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:d97elm#dtek,chalmers.se"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00785.html">Previous</a> | <a href="msg00787.html">Next</a> ] Thread: [ <a href="msg00781.html">Previous</a> | <a href="msg00788.html">Next</a> ] Index: [ <A HREF="author.html#00786">Author</A> | <A HREF="#00786">Date</A> | <A HREF="thread.html#00786">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>3D engines for MUDs</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <A HREF="mailto:mud-dev#null,net">mud-dev#null,net</A></LI> <LI><em>Subject</em>: 3D engines for MUDs</LI> <LI><em>From</em>: Niklas Elmqvist <<A HREF="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</A>></LI> <LI><em>Date</em>: Fri, 20 Mar 1998 12:30:52 +0100 (MET)</LI> <LI><em>Reply-To</em>: Niklas Elmqvist <<A HREF="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</A>></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> On Fri, 20 Mar 1998, Miroslav Silovic wrote: > Michael Hohensee <michael#sparta,mainstream.net> writes: > > > Of course, the POVRAY renderer does take time to work, and wouldn't be > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > This is gross understatement. :) While 2-3 seconds are quite > acceptable for a game, 1-60 minutes are not. If we're talking static-screen-like graphics (like in most adventure games), I agree that 2-3 seconds is quite alright for rendering. However, if we're talking first-person six-degrees-of-freedom (don't really like that term...) 3D graphics, something close to 20-40 fps is a *must* (that is, 1/20 to 1/40 of a second per frame). In addition, if you've seen the output of some of the new 3D accelerators (3Dfx being prominent among these), you probably agree that these images are quite adequate and almost rival simple raytraced images (ok, I'm exaggerating a bit). Perspective-correct texture mapping, RGBA lights, texture blending and whatnot is all in a day's (or, actually, a frame's) work for a good 3D accelerator. > <ShamelessPlug> > Feel free to take the code from my renderer for both zbuffering and > /really/ accelerated raytracing. Gah, now I need to speed up the > bloody thing for scenes with fewer than 1,000 polygons (as raytracing > becomes the low overhead operation in the low-complexity case, when > procedural textures and image pre/postprocessing take over... 320x240 > low-quality previews take 2-3 seconds with 10 objects, 10-20 with > 1000, using raytracing, and with zbuffering everything gets faster. I > solved problems with quality loss with zbuffering and as a result, you > get exactly the same image). I can get splendid performance out of a 3Dfx accelerator running at 640x480x16bit, and I drool to think about the new Voodoo 2 (especially the version with 12 megs VRAM) :) Okay, to get this back on track a bit, let me say this: I am currently investigating and implementing a Magic Carpet rendering engine on my own, and it all looks pretty good. One problem with using a height field is that it is impossible to create sheer, vertical drops, since the grid nature of the height field prevents having two heights for the same x-y position in the map. I've heard that techniques such as TIN (Triangular Irregular Network), where you approximate a regular grid of triangles with larger triangles (more efficient with large, flat spaces), not only solves this somewhat but also significantly reduces the triangle count in a landscape, but this technique has some inherent problems. First of all, although TINs reduce the size of the data structure representing the height field, the "lookup" time during rendering is significantly increased. In addition, since the TIN consists of large triangles, we get problems with texture coordinates and the likes if we want to have the large triangle covered with different textures. As mentioned earlier, polygon height field rendering is ideally suited for visualizing large, outdoor areas. This is perfect for those MUDs where most of the action takes place outdoors. In addition, the height field nature lends itself easily to fractal terrain generation -- maybe it would be possible for the server to merely send a seed to the clients and have them generate the fractal terrain client-side. Has there been any discussion about anything like this earlier? If anyone is interested to learn more about polygon heightfield rendering in game applications, I found a very good whitepaper about this. Download it from <URL:<A HREF="http://www.ndl.com/ndl/download/TerrainPaper.zip">http://www.ndl.com/ndl/download/TerrainPaper.zip</A>> -- as it happens, it is in the pesky Word 6.0 format, though. :( > Miro -- Niklas Elmqvist (d97elm#dtek,chalmers.se) ---------------------- "You can't trample infidels when you're a tortoise. I mean, all you could do is give them a meaningful look." - Terry Pratchett, Small Gods </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00781" HREF="msg00781.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></STRONG> <UL><LI><EM>From:</EM> Miroslav Silovic <silovic#zesoi,fer.hr></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00785.html">Re: [MUD-Dev] (fwd) Functional Security</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00787.html">Dynamic Loading of Modules</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00781.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00788.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00786"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00786"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</STRONG>, <EM>(continued)</EM> <ul compact> <ul compact> <ul compact> <LI><strong><A NAME="00771" HREF="msg00771.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Thu 19 Mar 1998, 23:04 GMT <UL> <LI><strong><A NAME="00772" HREF="msg00772.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Michael Hohensee <a href="mailto:michael#mainstream,net">michael#mainstream,net</a>, Thu 19 Mar 1998, 23:30 GMT </LI> <LI><strong><A NAME="00773" HREF="msg00773.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Thu 19 Mar 1998, 23:42 GMT <UL> <LI><strong><A NAME="00781" HREF="msg00781.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Miroslav Silovic <a href="mailto:silovic#zesoi,fer.hr">silovic#zesoi,fer.hr</a>, Fri 20 Mar 1998, 09:01 GMT <UL> <LI><strong><A NAME="00786" HREF="msg00786.html">3D engines for MUDs</A></strong>, Niklas Elmqvist <a href="mailto:d97elm#dtek,chalmers.se">d97elm#dtek,chalmers.se</a>, Fri 20 Mar 1998, 11:30 GMT </LI> <LI><strong><A NAME="00788" HREF="msg00788.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Michael Hohensee <a href="mailto:michael#mainstream,net">michael#mainstream,net</a>, Fri 20 Mar 1998, 13:26 GMT </LI> <LI><strong><A NAME="00796" HREF="msg00796.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Michael Hohensee <a href="mailto:michael#mainstream,net">michael#mainstream,net</a>, Fri 20 Mar 1998, 21:15 GMT </LI> <LI><strong><A NAME="00798" HREF="msg00798.html">Re: [MUD-Dev] 3D engines for MUDs (was: The MLI Project)</A></strong>, Michael Hohensee <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Fri 20 Mar 1998, 21:47 GMT </LI> </UL> </LI> </UL> </LI> </UL> </LI> </ul> </ul> </ul> </LI> <LI><strong><A NAME="00553" HREF="msg00553.html">Position sorting</A></strong>, Adam Wiggins <a href="mailto:nightfall#user1,inficad.com">nightfall#user1,inficad.com</a>, Sun 22 Feb 1998, 13:17 GMT </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>