|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
I have a two questions out of curiosity.
First, I've made a generic macro to create different kinds of roofs for houses
with round edges. Now I get a loads of degenerate triangles messages (please
remove...). Is this a problem? And why does povray simply not render a
degenerate triangle, while a degenerate cylinder causes an error and stop in
rendering altogether?
Secondly I was wondering if there is an option to choose different camera angles
like there is the pull down menu for choosing the resolutions. Now changing
camera angles involves editing the code constantly (adding and removing // in
my case).
Thanks, Joost
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"joost_1972" <joo### [at] hotmailcom> wrote:
> Hi,
ther?
>
> Secondly I was wondering if there is an option to choose different camera angles
> like there is the pull down menu for choosing the resolutions. Now changing
> camera angles involves editing the code constantly (adding and removing // in
> my case).
>
I feel your pain. By the time I've finished constructing a scene, I probably
have ten to fifteen 'test' cameras, that I'm constantly commenting in and out.
As far as camera angles go, I guess the simplest solution would be to #declare
my_angle = **--whatever--* at the start of the scene, then plug my_angle into
your camera(s). You're probably looking for something in a pull-down menu (as
you said), but this would be the second-easiest trick.
You *could* add angle definitions into the 'Insert Menu'--it's just a folder
containing text files. Create a separate text file for each camera-angle you
want--just write a number in each text file, I guess--put those files in a
folder with an appropriate name (and number/letter--open the 'Insert Menu'
folder to see what I mean), then your folder should show up in the Insert Menu
pull-down, where you can choose the camera angle you want, and insert it into
your camera(s). I don't *think* you even have to delete the default camera angle
there; the inserted one (if it comes after the default one) will override it.
BTW, to look at the individual Insert Menu files using POV-Ray, choose *All
Files* from the open dialogue (as opposed to *POV-Ray Files*); otherwise it
looks like there's nothing there (at least on my Windows system) because they
are simple text files (.txt)
Ken W.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Kenneth" <kdw### [at] earthlinknet> wrote in message
news:web.499f887226995c43f50167bc0@news.povray.org...
> "joost_1972" <joo### [at] hotmailcom> wrote:
>>
>> Secondly I was wondering if there is an option to choose different camera
>> angles
>> like there is the pull down menu for choosing the resolutions. Now
>> changing
>> camera angles involves editing the code constantly (adding and removing
>> // in
>> my case).
>>
Another alternative is to name the different camera positions you want to
use in the scene and store the settings for each position (camera settings,
lighting, variable settings etc.) in a little macro/switch statement using
the strcmp function. You could put it in a separate file if you wish to keep
your main scene file tidy. The added advantage of this is that you can set
variables to perform functions in the scene, such as opening/closing doors
or conditionally removing objects from the scene if they would otherwise
block the camera. For example:
#include "myscene_cameras.inc"
MyCamera("Top")
Then "myscene_cameras.inc" would just contain the macro:
#macro MyCamera(CameraAngle)
#switch (0)
#case (strcmp(CameraAngle,"Front"))
camera {location <0,1.8,-2> look_at <0,0,0> angle 110}
light_source {<-10,10,-35>, rgb 1}
#break
#case (strcmp(CameraAngle,"Top"))
camera {location <0,4.8,-0.001> look_at <0,0,0> angle 50}
light_source {<-10,10,-35>, rgb 1}
#break
#case (strcmp(CameraAngle,"Inside"))
camera {location <0,0,0.001> look_at <0,0,0> angle 180}
light_source {<0,0,>, rgb 1}
#break
#else
camera {location <-1,1,0> look_at <0,0.5,0> }
light_source {<10,10,-35>, rgb 1}
#end
#end
When you set up a new scene it's a quick job to copy the file and adjust the
settings for that new scene.
Regards,
Chris B.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"joost_1972" <joo### [at] hotmailcom> wrote in message
news:web.499eaafe5952c0ab2a36ae330@news.povray.org...
>
> First, I've made a generic macro to create different kinds of roofs for
> houses
> with round edges. Now I get a loads of degenerate triangles messages
> (please
> remove...). Is this a problem? And why does povray simply not render a
> degenerate triangle, while a degenerate cylinder causes an error and stop
> in
> rendering altogether?
>
This simply means that two or more points on those triangles are in the same
place (or very close together). If you're generating the triangles, then you
could add logic into your macro to avoid or suppress degenerate triangles,
but I don't think they're a serious problem, so you could just live with the
messages. I think it's just warning messages and that POV-Ray simply renders
the scene without those 'invisible' triangles.
I'm only guessing why the behaviour is different for degenerate triangles
and cylinders, but:
Maybe the logic behind causing degenerate cylinders to stop the render is
because it could be difficult to determine what to show in the scene.
Degenerate triangles are invisible points or lines. If the end points of a
cylinder are the same, but it has a non-zero radius, would you show two
coincident disks or nothing at all? Alternatively, maybe the logic is that
degenerate cylinders are usually easy to find and fix, whereas, oftentimes
triangular meshes are generated by other programs and the problem can be
embedded in amongst masses of data, making it very much more difficult to
find and fix.
Regards,
Chris B.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thanks for the quick reply's and advices. I've made a macro with all my camera's
(of course using only one letter to assign a camera, I wouldn't want to be
caught typing more than necessary ;-). It is indeed easier than having to
search for the right camera in my own list and then commenting it in and
another out. Having a pull-down menu next to resolutions is probably a step to
far (maybe for a next version of POV-ray, if it ever sees the light of day....)
Regarding the degenerate triangles, I can follow your reasoning. I also left the
messages for what they were at the moment, because using "if" with every
triangle that had a possibility of becoming degenerate, would cost me a load of
work.
Thanks again, Joost
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"joost_1972" <joo### [at] hotmailcom> wrote:
> And why does povray simply not render a
> degenerate triangle, while a degenerate cylinder causes an error and stop in
> rendering altogether?
The cylindrical axis is required to orient the discs that cap the cylinder. The
axis, in turn, requires 2 distinct end points. With a zero-length cylinder, the
discs cannot be oriented, leaving no way to know what to render. My guess is
that the POV Team decided it improper to proceed under that circumstance.
Degenerate triangles do not have this problem.
> Secondly I was wondering if there is an option to choose different camera angles
> like there is the pull down menu for choosing the resolutions. Now changing
> camera angles involves editing the code constantly (adding and removing // in
> my case).
I use command-line arguments. For your specific question, using it straight as
the camera angle will suffice. In the scene file, set:
#ifndef (Cam) #define Cam = 60; #end
camera
{ angle Cam
}
Then on the command line, use (for example):
declare=Cam=25
For a more general solution (which is what I invariably need), use something
like:
#ifndef (Cam) #define Cam = 0; #end
camera
{ switch (Cam)
#case (1) /*camera settings*/ #break
#case (2) /*camera settings*/ #break
#case (3) /*camera settings*/ #break
...
#else /*camera settings*/ #break
#end
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Cousin Ricky" <ric### [at] yahoocom> wrote:
> The cylindrical axis is required to orient the discs that cap the cylinder. The
> axis, in turn, requires 2 distinct end points. With a zero-length cylinder, the
> discs cannot be oriented, leaving no way to know what to render. My guess is
> that the POV Team decided it improper to proceed under that circumstance.
> Degenerate triangles do not have this problem.
Yes, the reason is probably that a degenerate triangle *unambiguously* collapses
to a single infinitely thin line (or even a single point) which cannot be seen
from *any* angle, and therefore just ignoring it a perfect way to handle it.
The warning is just there to make the user aware, in case it was *not* intendet
that way.
A degenerate cylinder with non-zero radius, however, *should* be an infinitely
thin disk, which *should* be visible unless viewed edge-on, but cannot be
defined unambiguously using the define-by-endpoint approach of POV SDL.
The bottom line is that it is clear how a degenerate triangle should look like,
but not so for a degeenrate cylinder.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|