POV-Ray : Newsgroups : povray.general : Algorithms for a comic strip : Re: Algorithms for a comic strip Server Time
1 Aug 2024 22:20:12 EDT (-0400)
  Re: Algorithms for a comic strip  
From: Mike Williams
Date: 15 Mar 2005 23:36:54
Message: <xNu$8CAzw6NCFw98@econym.demon.co.uk>
Wasn't it gregjohn who wrote:
>I'm interested in making some web comics with povray.  I've started and the
>part I hate the most involves cutting and pasting and RESIZING images over
>to a presentation or drawing program.   It would be cool if it could be
>done with one povray render.   I don't mind doing a lot of SDL coding if it
>could save me a little bit of mouse work in an image manipulator.
>
>
>Any ideas on how to do this?   Say I want one frame to be an outdoor scene,
>another to be characters in pose 1, another set of characters in pose 2.
>
>These are the ways I can imagine so far:
>
>1) A high-level scene file that arranges previously-rendered bitmaps
>together;
>2) Use of one of those Megapov features where the pigment is the view from a
>camera at place 3, etc.  It could get complicated to have a complete movie
>studio, with one set in the northeast, another in southeast, etc. etc.

The MegaPOV method doesn't have to be very complicated. You just have to
make sure that each of your sets, and the image assembly area, are
closed. For outdoor scenes that means replacing the background or
sky_sphere with a sphere of finite size. You can then build a separate
set for each scene. MegaPOV doesn't care if the camera_views are taken
from positions in rooms that are hundreds of miles apart.

Write the SDL for each panel as if it were the only scene, but allow for
an offset vector to be supplied which moves the entire scene to a
different location, translating all the objects, lights and camera
positions.

You could develop and test each panel separately, and declare a local
value for the offset if the panel SDL is being run directly.
  #ifndef (Offset)
    #local Offset = <0,0,0>;
  #end

The panel SDL would calculate the camera details using the offset and
#declare them globally so that the overall page SDL can use the same
positions for the camera_views.
  #declare Camera_Pos = <0,10,-30> + Offset;
  #declare Camera_Look = <0,5,0> + Offset;
  camera {location Camera_Pos look_at Camera_Look}

The page SDL would then do something like this for each panel:
  #declare Offset = <1000,0,0>;
  #include "panel01.pov"
  box {<-1,-1,0><1,1,0.01>
    pigment {camera_view {location Camera_Pos look_at Camera_Look}}
  }


-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.