POV-Ray : Newsgroups : povray.general : Mushroom cloud using DF3 : Re: Mushroom cloud using DF3 Server Time
12 Aug 2024 07:26:22 EDT (-0400)
  Re: Mushroom cloud using DF3  
From: Peter Popov
Date: 18 Apr 1999 04:39:44
Message: <37198508.174861@news.povray.org>
On Fri, 16 Apr 1999 13:21:07 -0500, Bob Hughes <inv### [at] aolcom>
wrote:

>I couldn't help but notice the "CSG-able" word said. I wanted a DF3 of a
>complex model once and came up with mixed results. Basically it didn't
>work in other words (although it almost did it seemed), and I repeatedly
>got a "patch object not allowed" during parse as I tried in vain to get
>the model sliced up right.
>So I guess this is impossible? No work-arounds? Well, I'm not giving up.

As I understand it your complex model was made up of patches, most
probably using moray or spatch. You are using windoze 95 (at least for
newsreading) so here's a windoze-only workaround: from spatch, export
your model to some polygon format (ex. vrml). Then, convert that to a
pov mesh. Then use uvpov to slice up the mesh since it treats meshes
as csg-able.

There is another problem with this method and I have not yet found an
universal solution. Since the plane (or box or whatever) used for
chopping gives the resulting surface its own texture, the result is
either a monochrome .df3 or a black .df3 :) (if no texture is given to
the plane). Suppose you've modelled a nice blob with separate element
textures, and you want to see the inside of it. No way, Jose. Sorry.
That's the reason I went a little off topic and gave up trying to
model a mushroom cloud density with blobs (the original poster's
question). Modelling is easy, but making the .df3 out of it is a pain.

There's a method that works for csg unions, though. Instead of slicing
the union with the plane, slice each part of it separately and texture
it afterwards. This may be quite a tedious work, but a macro might
help, like:

// suppose your cutting plane is caused sliceObj

#macro Object ( myObj )
  intersection
  {
    SliceObj
    myObj
#

Invoke it like this:

Object ( niceCSGableObj ) texture { coolObjectGuts } }

This will save... um, some time ... at least.

Man, this *is* an ugly macro, I know, but it should work.

Now, I summon all gurus: gather around and try to make up a way to
show the cross-section of a blob keeping its internal textures intact.
Here are some suggestions to try out:

Use a bounding (not clipping!) object that incorrectly bounds the
blob.

Use a weird orthographic camera setting (some combination of location,
look_at and direction which is beyond my skills) so that the screen
plane is *inside* the object. Will this work?

// object fits the unit sphere

camera
{
  location -4*z
  look_at 0
  direction 4*z
  orhographic
}

One last question: how about slicing objects with media and getting
correct results?

I've asked these questions before, but now 1) I am narrowing them down
2) there are more povers around and 3) pov skills increase with time

I can't test the stuff right now as there's already a line waiting at
the computer (I hope dad doesn't notice the slowdown... I put POV in
the  system tray and then intentionally hung explorer, so the tray now
only holds a clock and a volume control :) ). 
---------
Peter Popov
ICQ: 15002700


Post a reply to this message

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