Slashdot Mirror


An Animation Language for Renderman?

cameloid asks: "I'm currently putting together a series of corporate movies, 6-12 minutes each, that each require quite a bit of computer generated animation. Like many others, I quickly found that 3D is the way to go and began using POV-Ray, mainly because it's free and uses a Scene Description Language (SDL) to describe scenes and animations. However, I also quickly found that raytracing can be a bit...slow for doing movie production. After a bit more research, I quickly discovered Renderman. At first glance Renderman can also be programmed from scratch, but doesn't have in-built support for animation. Each scene is complete description which cannot be parameterized using Renderman, alone. Does anyone know of a cross-platform, Renderman-compliant SDL implementation that can connect to any Renderman renderer and supply functionality similar to POV-Ray's SDL?"

"I've found that a couple of things are required: a rendering engine (I think that Aqsis covers everything I need in this regard); and a modeller (I'm currently evaluating K3D as a low cost option, although it has some important limitations at present). However, I've also been looking for something that does for Renderman what POV-Ray's SDL does for POV-Ray. I've found something called, surprisingly enough, 'Animation Language' which seems to do this, however it doesn't seem to be under continuing development. What's important is that the SDL supports general programming language features such as data structures, flow control, re-usable libraries (logos, 3D objects) etc, as well as something like POV-Ray's 'clock' variable for animation."

5 of 24 comments (clear)

  1. Why not renderman? by Naikrovek · · Score: 2, Insightful

    sure the functionality isn't there to have ONE scene file and create multiple frames (not that I know of anyway) but is having multiple scene files REALLY that bad?

    I've used renderman and I've used pov-ray and renderman is where i spend all of my time now. Its just so much better, unless you really need ray tracing, and prman 11 includes raytracing and global illumination, so even then the only reason to use pov-ray is a financial one.

    ask yourself if a single scene file is really more important than the speed an quality of your rendered images...

    1. Re:Why not renderman? by EnglishTim · · Score: 2, Insightful

      Actually, the capability *is* there. You can produce a Renderman file that will produce multiple frames quite easily:

      RiFrameBegin(0) ...
      RiFrameEnd()
      RiFrameBegin(1)
      RiFrameEnd()

      If the meshes you're using are not morphing at all, just moving you don't need to write out the new mesh data every frame, just use a RiFrameArchive to define the frame once and then reference it from then on.

      I'm not sure what kind of thing you're creating here, but the fact that you're not using something like Maya, MAX or XSI to do your animation suggests to me that you're doing flying logos and the like, in which case I can't help thinking that renderman might exceed your needs (Which Renderman renderer are you using? You could by a copy of pretty much any animation/modelling package for less than the cost of a single PRMan license..). Something you could do is use something like OpenSceneGraph and render all your frames in OpenGL. If you render them at the highest resolution you can and them scale them down, you should be able to get some pretty good antialiasing, and it should be very quick to render.

  2. Renderman modelling by Thornae · · Score: 4, Informative

    Have you seen Ayam? It's a neat little Renderman modeller that ties into Aqsis or (the now defunct) BMRT.

    Actually, if you're really wanting a good fast 3d animation workflow, I'd recommend Blender. The learning curve is steep, but once you're into it, you can work fast and smooth. There's lot of support around, and the documentation can get you up and animating within half an hour.

    --
    |>
    Here be Dragons
  3. Re:If you have 2k by Pseudonym · · Score: 2, Informative

    Don't waste money on MTOR. If you want Maya, get Liquid. Production-proven and open source. What more could you ask for?

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  4. *sigh* by Pseudonym · · Score: 4, Informative

    RenderMan is a language to get modellers talking to renderers, just like PostScript is a language to get typesetters talking to printers. You're not supposed to work in raw RenderMan any more than you're supposed to work in raw PostScript.

    Having said that, probably the closest system to what you're looking for is Steve May's AL. If you can get it to work, it will probably do exactly what you want.

    Remember, though, that RenderMan is primarily an API. The bytestream version came later. It was originally a C API, but there are now bindings for many languages including Java, Perl, Python and ML. Why don't you pick one and use that?

    None of this should dissuade you from using a real animation system, though. If you have some money to spend, it's well worth it, particularly if you're planning to do this a lot.

    Good luck.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});