caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: eijiro_sumii@anet.ne.jp
To: caml-list@inria.fr
Cc: sumii@yl.is.s.u-tokyo.ac.jp
Subject: Re: Games (Re: [Caml-list] Caml productivity.)
Date: Mon, 29 Jul 2002 19:23:13 +0900	[thread overview]
Message-ID: <20020729192313A.sumii@tuba.is.s.u-tokyo.ac.jp> (raw)
In-Reply-To: <00c701c236b1$22110fd0$a56fc7c8@behemoth>

> > Another is that some 3D graphics people in Hollywood are actually
> > using LISP because (the major part of) 3D graphics is in fact symbolic
> > computation, at which "functional" languages are good.
> 
>     Could you (or someone else) please elaborate more on that ? So far on my
> research on computer graphics I could not see it as being mostly symbolic
> computation. Some specific algorithms and applications yes, but not most of
> it (nor even close).

I'm not a CG expert and don't have at hand specific pointers to
industrial uses (I wrote the previous sentence from my memory), so
this is just personal impressions that I've had in writing several CG
programs (e.g. in ICFP programming contest 2000, where our OCaml
program won over all C/C++ entries - see www.ocaml.org) and chatting
with friends of mine (some of them are CG experts), but anyway:

The numeric part is of course important and consumes most time, but as
_programming_ (rather than mathematics), the symbolic part seems much
tricker, in particular for compound applications like games and
movies.  By "symbolic part", I mean all parts involving more complex
data structures than float arrays, like managing objects of various
shapes, manipulating trees for grouping those objects, or even
interpreting domain specific languages for describing placement and
movement of such objects.  OCaml is very good at such a kind of
programming, you know!

> And I've seen some reports on LISP being used for CG,
> mostly in procedural techniques. Could you please point out where have you
> seen other uses of functional languages on computer graphics ? Thanks.

This is why I quoted the word "functional".:-) I never claimed that
functional programming in the sense of "no side effects" is good for
ray tracing.  There may well be other factors such as inductive data
types, pattern matching, higher-order functions, garbage collection,
module systems, etc.  I just think that _so-called_ functional
languages like LISP and ML are good at symbolic computation thanks to
_all_ of the features above.

--
Eijiro Sumii (http://www.yl.is.s.u-tokyo.ac.jp/~sumii/)
Research Associate, Department of Computer Science, University of Tokyo
-------------------
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


  parent reply	other threads:[~2002-07-29 10:23 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-15 21:22 [Caml-list] Caml productivity Pal-Kristian Engstad
2002-07-20 15:16 ` William Chesters
2002-07-22 18:22   ` Pal-Kristian Engstad
2002-07-22 18:41     ` achrist
2002-07-22 19:23       ` Pal-Kristian Engstad
2002-07-22 21:13         ` [Caml-list] CamlIDL and function pointers Michael Tucker
2002-07-23  8:39           ` Xavier Leroy
2002-07-23 13:11             ` Dmitry Bely
2002-07-24 15:00             ` Michael Tucker
2002-07-25  9:36               ` Xavier Leroy
2002-07-22 21:26     ` Games (Re: [Caml-list] Caml productivity.) Oleg
2002-07-23  2:56       ` Issac Trotts
2002-07-23 11:03         ` eijiro_sumii
2002-07-23 16:17           ` Charles Martin
2002-07-29  3:36           ` Andrei de A. Formiga
2002-07-29  6:32             ` Florian Hars
2002-07-29 10:23             ` eijiro_sumii [this message]
     [not found]               ` <001901c237a7$9e685920$890bfea9@mimbi>
2002-07-30  4:52                 ` eijiro_sumii
2002-07-30 18:13                   ` Jonathan Coupe
2002-07-30  6:16                     ` eijiro_sumii
2002-08-01 15:39                     ` John Max Skaller
2002-08-01 15:59                       ` Markus Mottl
2002-08-01 16:28                       ` Jonathan Coupe
     [not found]                         ` <86vg6ta9o6.fsf@laurelin.dementia.org>
2002-08-02 12:50                           ` Jonathan Coupe
2002-08-02 14:51                         ` John Max Skaller
2002-07-25  3:19       ` Chris Hecker
2002-07-28 13:45         ` Jonathan Coupe
2002-07-29  0:57           ` Michael Vanier
2002-07-22 22:00     ` [Caml-list] Caml productivity Alexander V.Voinov
2002-07-20 15:25 ` Oleg
2002-07-22  6:41 ` Tom
2002-07-22 10:46 ` Nicolas Cannasse
2002-07-22 17:46   ` Pal-Kristian Engstad
2002-07-24  3:20     ` Travis Bemann
2002-07-24  9:45       ` Pal-Kristian Engstad
2002-07-26 21:42         ` Chris Hecker
2002-07-27  4:41           ` Issac Trotts
2002-07-27  5:49             ` Chris Hecker
2002-07-27 14:49               ` John Max Skaller
2002-07-27  9:06           ` Oleg
2002-07-27 18:18             ` Chris Hecker
2002-07-29  8:13         ` Nicolas Cannasse
2002-07-30  4:46           ` Travis Bemann
2002-07-24  8:02     ` Nicolas Cannasse
2002-07-24  8:25       ` Jérôme Marant
2002-07-24 10:00       ` Pal-Kristian Engstad
2002-07-27  9:06         ` Oleg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020729192313A.sumii@tuba.is.s.u-tokyo.ac.jp \
    --to=eijiro_sumii@anet.ne.jp \
    --cc=caml-list@inria.fr \
    --cc=sumii@yl.is.s.u-tokyo.ac.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).