|
|
How about changing main render loop (that goes through each pixel of each
line AFAIK) into some kind of server-client model.
It would give greate possibiliteis of comfortable distributed render as
well other possibilities.
If You are changing i.e. finish of some isosurface You could rerender part
of image. But better solution - to rerender only pixels that "touch" this
isosurface.
User will select exact are to re-render (i.e. in some GUI or other addon)
and this add-on will call PovRay engine.
Engine will parse scene, load all textures (and store them in memory etc).
Then it will recive i.e. commands like
RENDER LINE 76 PIXELS 64-158
RENDER LINE 77 PIXELS 60-140
via some named pipe or other programs communication protocol.
And - importand - if we want to render another part of image (in same
scene) immediately after, we just send info to Pov-Server to render some
more pixels, without waiting for parse/load data.
After all we send some
SCENE DONE
commend to dispose of loaded scene, and then maybe SCENE PARSE c.pov
to load another version of scene.
Second subject - distributed render. We just run several pov-servers, give
them some way of coomunicating with master client (via LAN, via internet,
or even via email for very long renders), master program sends scene files
to each render-server, and assign them parts of image to render. Each
server reports main client when he done it's part so that client-master can
assign new parts to new servers.
Just a qucik thought, but any chance it is worth it?
--
http://www.raf256.com/3d/
Rafal Maj 'Raf256', home page - http://www.raf256.com/me/
Computer Graphics
Post a reply to this message
|
|