![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thomas de Groot schrieb:
> Impressive and interesting. Nice texture too. I am curious to see how long
> you will be able to sustain the CSG construction before render times become
> unmanageable...
I guess that will not happen at all.
I actually found that the detail stuff isn't so much of a problem - it
was the big holes punched into the main struts that bogged down render
times for some reason I didn't fully grasp. I'm using a different
approach for them now, which is much more render-time-friendly:
Previously, I had defined those holes separately from the struts' basic
outline, each of these being a complex compound based on a prism shape.
Changing this to use just one multi-loop prism made quite some difference.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Thomas de Groot schrieb:
>
>> Impressive and interesting. Nice texture too. I am curious to see how
>> long you will be able to sustain the CSG construction before render
>> times become unmanageable...
>
> I guess that will not happen at all.
>
> I actually found that the detail stuff isn't so much of a problem - it
> was the big holes punched into the main struts that bogged down render
> times for some reason I didn't fully grasp. I'm using a different
> approach for them now, which is much more render-time-friendly:
> Previously, I had defined those holes separately from the struts' basic
> outline, each of these being a complex compound based on a prism shape.
> Changing this to use just one multi-loop prism made quite some difference.
A prism is not the more effecient primitive: It's relatively hard to
optimize a "free form" object.
Punching holes in any object result in bounding inefeciency, that
increases the render time.
Each and every ray that encounter the bounding box of one of the struts
needs to be tested against the strut AND every object used to make the
holes.
With the complexe prism, you now only need to test that object.
Alain
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Just to show off the hardest single part so far.
The locomotive has 6 of these - plus 2 more that are similar, but a
little less complex.
Still all pure CSG.
Post a reply to this message
Attachments:
Download 'steam.jpg' (63 KB)
Preview of image 'steam.jpg'
![steam.jpg](/povray.binaries.images/attachment/%3C4ab90267%40news.povray.org%3E/steam.jpg?preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Alain schrieb:
> Punching holes in any object result in bounding inefeciency, that
> increases the render time.
I know that, but...
> Each and every ray that encounter the bounding box of one of the struts
> needs to be tested against the strut AND every object used to make the
> holes.
... for some reason the many, many small cylinders I'm cutting away to
round off inward edges don't seem to matter that much.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Alain schrieb:
>
>> Punching holes in any object result in bounding inefeciency, that
>> increases the render time.
>
> I know that, but...
>
>> Each and every ray that encounter the bounding box of one of the
>> struts needs to be tested against the strut AND every object used to
>> make the holes.
>
> ... for some reason the many, many small cylinders I'm cutting away to
> round off inward edges don't seem to matter that much.
A cylinder is much more effecient than a prism to cut holes.
If you cut ceveral holes using prisms, you need to evaluate each prism
for every rays.
Use two prisms, one for the faces and another for the edges, and add
small cylinders to do the beveling between the faces and the edges.
You'll get an union with no or very few differences or intersections.
Do you use a prism and 3 cylinders to punch those rounded triangular
holes. If you use a besier spline, you can have straight and round
parts, and do away with a good part, even all, of the cylinders. Even if
the prism takes slightly longer to render after that, you'll gain more
by no longer having that difference.
Alain
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Alain schrieb:
> A cylinder is much more effecient than a prism to cut holes.
Um... yes sir, but how would you cut /straight/ lines with a cylinder?
> If you cut ceveral holes using prisms, you need to evaluate each prism
> for every rays.
>
> Use two prisms, one for the faces and another for the edges, and add
> small cylinders to do the beveling between the faces and the edges.
> You'll get an union with no or very few differences or intersections.
'Scuse me, but you're not telling me anything new. I didn't want to go
into that much detail, but that's exactly how I've been doing it right
from the start, except that I didn't make use of multi-loop polygons.
(You're forgetting the spheres and tori, btw... you can't properly bevel
in 3 dimensions without those.)
> If you use a besier spline, you can have straight and round
> parts, and do away with a good part, even all, of the cylinders. Even if
> the prism takes slightly longer to render after that, you'll gain more
> by no longer having that difference.
While this may be so, splines are (a) more cumbersome to work with than
the approach I'm using, as they are not so straightforward, to control;
(b) very difficult to smoothly interface to standard box-&-cylinder
geometry, and (c) I'd be lost with the math required to displace the
spline for the beveling job on the outline (if you know what I mean).
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"clipka" <ano### [at] anonymous org> schreef in bericht
news:4ab90267@news.povray.org...
> Just to show off the hardest single part so far.
>
> The locomotive has 6 of these - plus 2 more that are similar, but a
> little less complex.
>
> Still all pure CSG.
>
>
wow
Thomas
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thomas de Groot schrieb:
>> Still all pure CSG.
>
> wow
Absolutely positively possible (at least for me) only due to a
"rounded-off corners thingumajig" framework.
There's absolutely /no way/ I would go through all the pain of computing
and hacking in the parameters for every individual torus, cylinder and
prism in there :-P
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |