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 TAA15366; Thu, 10 Jun 2004 19:56:52 +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 TAA15247 for ; Thu, 10 Jun 2004 19:56:51 +0200 (MET DST) X-SPAM-Warning: Sending machine is listed in blackholes.five-ten-sg.com Received: from postfix3-2.free.fr (postfix3-2.free.fr [213.228.0.169]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i5AHuoEV012405 for ; Thu, 10 Jun 2004 19:56:50 +0200 Received: from warp (chateaudeau-4-82-225-176-25.fbx.proxad.net [82.225.176.25]) by postfix3-2.free.fr (Postfix) with SMTP id 405E6C0BD; Thu, 10 Jun 2004 19:56:48 +0200 (CEST) Message-ID: <001501c44f14$270bee10$19b0e152@warp> From: "Nicolas Cannasse" To: "Brian Hurt" , "caml" Cc: "ExtLib" References: Subject: [Caml-list] Re: [Ocaml-lib-devel] RE: 3D Rendering pipeline Date: Thu, 10 Jun 2004 19:55:42 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-Miltered: at nez-perce with ID 40C8A0E2.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; cannasse:01 warplayer:01 ignoring:01 flamefest:01 pipelines:01 extlib:01 sourceforge:01 iterated:01 tweaks:01 pipelines:01 extlib:01 enums:01 abstraction:01 enums:01 closures:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Ignoring the flamefest for a bit, I actually have a question for people > who do 3D rendering pipelines. Over in Extlib (plug: > http://sourceforge.net/projects/ocaml-lib/) we have "enumerators"- > basically Java or C++ STL Iterators. Except that we have lazy mapping and > filters- basically, as each element is iterated, all the currently > applicable maps and filters are applied to it. > > So my question is: would this be a better paradigm to experiment with a > graphics pipeline in? What other tweaks or features might make it more > usefull? I have been working on 3D rendering pipelines, and I think that ExtLib enums can provide a good way of mixing algorithms together in an efficient way. However, the level of abstraction of enums is quite high (closures), so if runtime is needed and if you're performing on a large set of inputs, you might need additionnal features such as inlining which cannot cross the abstract closure barrier. In conclusion, enums are nice to implement test/rejects clipping algorithms on an object basis (since you have only few hundreds/thousands of objects to test) but are not appropriate to do basic operations such as real time deformation on a vertex basis. Regards, Nicolas Cannasse ------------------- 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