From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA14439; Wed, 1 Sep 2004 22:08:49 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id WAA14403 for ; Wed, 1 Sep 2004 22:08:48 +0200 (MET DST) Received: from outbound28-2.lax.untd.com (outbound28-2.lax.untd.com [64.136.28.160]) by nez-perce.inria.fr (8.13.0/8.13.0) with SMTP id i81K8lef020186 for ; Wed, 1 Sep 2004 22:08:47 +0200 Received: from outbound28-2.lax.untd.com (smtp04.lax.untd.com [10.130.24.124]) by smtpout06.lax.untd.com with SMTP id AABAVNMARA64GQ82 for (sender ); Wed, 1 Sep 2004 13:07:43 -0700 (PDT) Received: (qmail 20124 invoked from network); 1 Sep 2004 20:07:05 -0000 Received: from unknown (HELO vangogh) (66.52.246.6) by smtp04.lax.untd.com with SMTP; 1 Sep 2004 20:07:05 -0000 From: "Brandon J. Van Every" To: "caml" Subject: [Caml-list] 3D graphics and games Date: Wed, 1 Sep 2004 13:18:01 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <200409011226.35563.jgoerzen@complete.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Importance: Normal X-ContentStamp: 14:7:2852785000 X-MAIL-INFO: 3239d1e11df99014d0f955d550a1b9345099d1fdf4d434713419947d9d2de4519de5597d85ad804d652901497519a074d99580f0bd39e56149252d7021e9d90c0c69158161f5c125edf554355434b581f5893184a9e1395554b070501d8524c131a1a1913dddb034cd50f434c56dc5e541dd34b97d15d09d55a00c213021b1a920b111b4b411a9a920048931ed5454b595b5093179707979e90c2d000d1d2515f0b1b12104110c353dc484d044449d6d9d648455fd55 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsFsCrOjjLH847cOOkHYi/dCEEh2ogY/qM X-Miltered: at nez-perce with ID 41362C4F.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brandon:99 brandon:99 ludicrous:01 commodity:99 incarnation:01 quake:01 gpl:01 pedagogical:01 demonstrate:01 hooking:01 caml-list:01 bayesian:01 crap:01 crap:01 unboxed:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk John Goerzen wrote: > Brandon Van Every wrote: > > > > I think it would be silly to > > look to UNIX for game or 3D graphics code. > > And your statement is particularly ludicrous regarding 3D > code. OpenGL > was invented by SGI for their Unix operating system IRIX, based on > their earlier 3-D interface, IRIS GL. I suppose I should have said, "It would be silly to look to UNIX *now* for 3D graphics code." It is not the dominant platform for it anymore. Why is this so? Because SGI used to ship very very expensive UNIX boxes, and Microsoft + Intel + a bunch of ex-SGI engineers brought SGI to its knees. Plus a little assistance from DEC Alpha, whom I used to work for in the Commodity Graphics unit. UNIX lost relevance in 3D graphics in the mid-90's. That is one of the very few positive things that Microsoft has done for us, breaking SGI's spine. Too bad they had the simultaneously regressive strategy of dumping OpenGL and creating DirectX. The best open source 3D graphics engine project out there is The Nebula Device. http://nebuladevice.cubik.org It is Windows-centric, although Linux builds are recently being achieved, I think. It is the only open source 3D engine that is both commercially proven in some incarnation and commercially usable. (The old Quake engines are commercially proven, but licensed under the GPL, and are not based on modern 3D stuff. They serve a pedagogical and hobbyist function only.) Unfortunately, only Nebula1 has gotten used in commercial games, and right now we're in this shader-centric no-man's land called Nebula2. I hope somebody ships something this Christmas so we can get past this sticking point of commercial provenness. Nobody can yet demonstrate that Nebula2 actually *does* something, or at least, something worth bothering with. I keep strategizing how to OCaml-ize Nebula2, but there are difficulties. Best left to ocamlgames list. http://groups.yahoo.com/group/ocamlgames/ Would love to discuss; nobody's bitten on that train of thought so far. I'm probably the only guy interested in both OCaml and Nebula2. > Actually, I believe you will > find some of the most high-end 3-D work happening on *nix platforms. > See various stories in Linux Journal about Pixar's operations, for > example. Pixar writes all their own code, and they ain't givin' you their code. Also, render farms aren't terribly interesting. That's about hooking a bunch of computers together and cost of network licenses, not 3D graphics per se. > Games for Unix were popular before even DOS existed. (And > yes, I still like playing some of those.) UNIX has never been relevant to commercial desktop games, and has never been a source of anything for them. Linux became relevant for game servers in the mid-90's, but that's all in-house proprietary development. Cheers, www.indiegamedesign.com Brand*n Van Every S*attle, WA Praise Be to the caml-list Bayesian filter! It blesseth my postings, it is evil crap! evil crap! Bigarray! Unboxed overhead group! Wondering! chant chant chant... Is my technical content showing? // return an array of 100 packed tuples temps int $[tvar0][2*100]; // what the c function needs value $[tvar1]; // one int value $[tvar2]; // one tuple int $[tvar3] // loop control var oncePre eachPre $[cvar0]=&($[tvar0][0]); eachPost $[lvar0] = alloc(2*100, 0 /*NB: zero-tagged block*/ ); for(int $[tvar3]=0;$[tvar3]<100;$[tvar3]++) { $[tvar2] = alloc_tuple(2); $[tvar1] = Val_int($[cvar0][0+2*$[tvar3]]); Store_field($[tvar2],0,$[tvar1]); $[tvar1] = Val_int($[cvar0][1]); Store_field($[tvar2],1,$[tvar1+2*$[tvar3]]); Array_store($[lvar0],$[tvar3],$[tvar0]); } oncePost ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners