![](/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) |
Chris Huff wrote in message ...
>In article <3a025559$1@news.povray.org>, "Mark Wagner"
><mar### [at] gte net> wrote:
>
>> >I am going to make a post_process filter which uses a spline to adjust
>> >color values...is this what you are talking about?
>> Yes.
>
>I will send you the code as soon as it is tested.
Thanks!
>> >I would suggest using one of the spline patches...less duplicate code,
>> >more standardized, etc...
>>
>> This is going to be an improvement on the spline{} syntax.
>
>Oh...
>Ok, what improvements are you thinking of? More spline types, the
>ability to choose what kind of spline to use at evaluation time?
>
>By the second, I mean something like this:
>#declare Spline = spline {...the usual spline stuff...}
I'm going to be removing the limit on the number of points in a spline, and
making it possible to use the points from one spline as the basis for
another spline, like:
#declare Spline2 = spline{ Spline 1,<2,2,2> etc.}
Right now you can't do that.
--
Mark
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) |
Margus Ramst wrote in message <3A03A18D.FDFBCBF0@peak.edu.ee>...
>"Mr. Art" wrote:
>>
>> I tried to use the link provided but geocities said
>> that page was not available. I tried .../rengaw03/download/
>> and HAL invited me to go back.
>>
>
>Ditto
How odd. I just downloaded it successfully from that address. Was it
giving you a "file not found" error, or some other error message?
Mark
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) |
Try the links from my POV-Ray downloads page to see if they work for you.
http://www.geocities.com/rengaw03/povray.html
--
Mark
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) |
Mark Wagner wrote:
>
> Try the links from my POV-Ray downloads page to see if they work for you.
>
Got it.
As far as I know Geocities doesn't like direct download links originating from
non-geocities addresses. Since your home page is also at Geocities, a link from
there will work.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
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) |
In article <3a03ab54$1@news.povray.org>, "Mark Wagner"
<mar### [at] gte net> wrote:
> >I will send you the code as soon as it is tested.
> Thanks!
I'm having a hard time getting it to work though...I suspect the problem
is in my parsing code, though I'm not sure why it is misbehaving.
Anyway, this is the syntax I am planning to use(I am currently working
on the first form):
curves {rgb RED_SPLINE, GREEN_SPLINE, BLUE_SPLINE}
curves {red RED_SPLINE}
curves {green GREEN_SPLINE}
curves {blue BLUE_SPLINE}
curves {gray GRAY_SPLINE}
(got a better name for the last one? "all"?)
When I add color space conversion filters, you will be able to adjust
other types with these filters(convert to another color space, modify
the correct channel, convert back to rgb).
> I'm going to be removing the limit on the number of points in a spline,
There is a limit? I hadn't noticed...
> and making it possible to use the points from one spline as the basis
> for another spline, like:
> #declare Spline2 = spline{ Spline 1,<2,2,2> etc.}
> Right now you can't do that.
I noticed the Parse_Spline() function had the ability to take an
identifier to create a copy of the spline, but also had a bug which made
that useless when no new points were defined. I think it was intended to
work the way you describe, allowing new points to be inserted.
Also, it would be useful if you could access the control points, with
functions that behave similar to the array functions and an array-like
syntax.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
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) |
In article <chrishuff-DDBC53.06140904112000@news.povray.org>, Chris
Huff <chr### [at] mac com> wrote:
> I'm having a hard time getting it to work though...I suspect the problem
> is in my parsing code, though I'm not sure why it is misbehaving.
I found the problem, a rather nasty bug in Copy_Spline(). It allocates
room for the spline data, but doesn't copy the old data to the new
spline. I have no idea how this wasn't noticed before...the fixed
version is below(all that was needed was the addition of one line, the
call to memcpy()). I am still not sure it is right, I have never used
memcpy() before, but it works. :-)
SPLINE2 * Copy_Spline(SPLINE2 * se)
{
SPLINE2 * New;
New = (SPLINE2 *)POV_MALLOC(sizeof(SPLINE2), "spline");
New->SplineEntries =
POV_MALLOC(se->Number_Of_Entries*sizeof(SPLINE_ENTRY), "spline entry");
memcpy(New->SplineEntries, se->SplineEntries,
se->Number_Of_Entries*sizeof(SPLINE_ENTRY));
New->Number_Of_Entries = se->Number_Of_Entries;
New->Type = se->Type;
return New;
}
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
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) |
Chris Huff wrote in message ...
>I found the problem, a rather nasty bug in Copy_Spline(). It allocates
>room for the spline data, but doesn't copy the old data to the new
>spline. I have no idea how this wasn't noticed before...the fixed
>version is below(all that was needed was the addition of one line, the
>call to memcpy()). I am still not sure it is right, I have never used
>memcpy() before, but it works. :-)
Thanks!
--
Mark
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) |
Chris Huff wrote in message ...
>In article <3a03ab54$1@news.povray.org>, "Mark Wagner"
><mar### [at] gte net> wrote:
>
>(got a better name for the last one? "all"?)
"all" makes more sense than "grey".
>
>> I'm going to be removing the limit on the number of points in a spline,
>
>There is a limit? I hadn't noticed...
The limit is 256 points -- enough for most uses, but why have a limit when
there doesn't need to be one?
>Also, it would be useful if you could access the control points, with
>functions that behave similar to the array functions and an array-like
>syntax.
This might be very difficult to implement -- there are enough problems with
the spline syntax as it is.
--
Mark
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) |
That worked much better. Thanks for the assist.
Mark Wagner wrote:
>
> Try the links from my POV-Ray downloads page to see if they work for you.
>
> http://www.geocities.com/rengaw03/povray.html
>
> --
> Mark
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) |
In article <3a04ed21@news.povray.org>, "Mark Wagner"
<mar### [at] gte net> wrote:
> "all" makes more sense than "grey".
That is what I finally implemented it as. It took me a while to figure
out how to allow rgb, red, green, and blue to be used, though.
> The limit is 256 points -- enough for most uses, but why have a limit
> when there doesn't need to be one?
It looks to me like that was just a stopgap measure...it looks like you
could implement it mostly by adding code to the Insert_Spline_Entry()
function.
I don't have any experience with growing dynamically allocated
arrays...I tend to use linked lists for everything.
> >Also, it would be useful if you could access the control points, with
> >functions that behave similar to the array functions and an array-like
> >syntax.
> This might be very difficult to implement -- there are enough
> problems with the spline syntax as it is.
I think could get it working with functions, but I have no idea how to
do the array like syntax...
INT spline_points(SPLINE_IDENT) Retrieves the number of points in the
spline.
EXPRESS get_spline_point(INT_INDEX) Returns the corresponding point on
the spline.
BTW, I implemented the SPLINE_IDENT(T, TYPE) syntax. You can now do
something like this:
#declare Spl = spline {linear_spline ...}
#declare Val1 = Spl(T);
#declare Val2 = Spl(T, cubic_spline);
#declare Val3 = Spl(T, quadratic_spline);
I will send you the code soon.
--
Christopher James Huff
Personal: chr### [at] mac com, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tag povray org, http://tag.povray.org/
<><
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |