![](/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) |
Christopher James Huff wrote:
> I've uploaded the current documentation for my CSDL project at:
> http://homepage.mac.com/chrishuff/csdl.html
>
> As for the interpreter, I'll probably just rewrite it, using what I
> learned the first time to make the new one better. The core will be
> written in platform-independant C++, and the OS X version will have a
> Cocoa GUI interface.
> Any comments/suggestions?
>
Your syntax supports only vectors, but if you are going to support
transformations, then perhaps it would be better to distinguish points,
vectors and normals (as they transform differently)? RenderMan SL
supported in initial versions only points and point transformation
function and this caused quite a lot of problems. Now it has 3 different
data types and separate transformation functions for each one.
If your language will allow 'overridden' functions, then perhaps it
could get away with 1 function (if there is possibility to recognize,
which type was given as actual parameter), but better would be to use 3
different functions, as it improves readability and allows to avoid or
catch errors (IMO).
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 <3C4### [at] comtrade ee>,
Vahur Krouverk <vkr### [at] comtrade ee> wrote:
> Your syntax supports only vectors,
Scalars and vectors, actually. Though currently the expression engine
uses the 3D vector code for both.
> but if you are going to support transformations, then perhaps it
> would be better to distinguish points, vectors and normals (as they
> transform differently)?
Only the math is different. The library will eventually include
functions for point and normal manipulation, as well as transformation
objects.
> If your language will allow 'overridden' functions,
I think you mean "overloaded" functions...this is something I've been
thinking of, but it isn't implemented (yet). Of course, parameters
aren't fully implemented yet either...
> then perhaps it could get away with 1 function (if there is
> possibility to recognize, which type was given as actual parameter),
> but better would be to use 3 different functions, as it improves
> readability and allows to avoid or catch errors (IMO).
There will be separate transformation functions for points, vectors, and
normals.
--
--
Christopher James Huff <chr### [at] mac com>
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) |
I've gotten a rudimentary expression parser, variables, functions, and
the user output stream working. Objects can be declared, but I haven't
written the code for deriving objects from others or for accessing
members, so they aren't very useful yet.
It's not much, but it is enough for a "Hello World" program:
scalar accum = 5;
function run()
{
string Message = "Hello World!\n";
swrite(userout, Message, "pi = ", pi, newln);
swrite(userout, "Calling aFunc():", newln);
aFunc();
swrite(userout, "aFunc() returned.", newln);
};
function aFunc()
{
scalar Count = 5;
swrite(userout, "Inside aFunc():\n");
while(Count)
{
swrite(userout, "while: ", Count, newln);
swrite(userout, "accum = ", accum, newln);
Count = Count - 1;
accum = accum + 1;
};
};
--
--
Christopher James Huff <chr### [at] mac com>
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) |
BTW, does anyone have any recommendations for licensing?
--
--
Christopher James Huff <chr### [at] mac com>
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) |
Christopher James Huff wrote:
>
> BTW, does anyone have any recommendations for licensing?
<URL:http://www.perl.com/pub/a/language/misc/Artistic.html> is, as
usual, my suggestion.
Deaken
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 <3C47A740.A76C59F7@sw-tech.com>, Deaken <dwy### [at] sw-tech com>
wrote:
> <URL:http://www.perl.com/pub/a/language/misc/Artistic.html> is, as
> usual, my suggestion.
Looks interesting, I'll take a look at it. I assume I can change
licenses with later releases if I want...the code is mine, right?
Hopefully I'll be uploading an alpha of CSDL later today...I'll probably
just cook up a "do not redistribute or use this code" statement, at
least until it gets out of alpha/beta stage.
The complete lack of response this got is surprising considering the
past discussion POV-Ray licensing has received...maybe putting
"Licensing" in the subject line will help. ;-)
--
--
Christopher James Huff <chr### [at] mac com>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: Licensing, Was: Re: CSDL Update
Date: 19 Jan 2002 11:48:03
Message: <3C49A342.98185D79@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christopher James Huff wrote:
>
> Looks interesting, I'll take a look at it. I assume I can change
> licenses with later releases if I want...the code is mine, right?
> Hopefully I'll be uploading an alpha of CSDL later today...I'll probably
> just cook up a "do not redistribute or use this code" statement, at
> least until it gets out of alpha/beta stage.
> The complete lack of response this got is surprising considering the
> past discussion POV-Ray licensing has received...maybe putting
> "Licensing" in the subject line will help. ;-)
>
I suppose the main reason for the lack of interest are the problems
understanding what this can be good for, if you release something
including samples for usage i think the interest will be larger (assuming
it's really something useful of course... ;-))
The Perl Artistic License has the advantage that it forces a distinction
of the original version and custom extensions, apart from that it's much
like GPL i think.
Christoph
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
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 <3C49A342.98185D79@gmx.de>,
Christoph Hormann <chr### [at] gmx de> wrote:
> I suppose the main reason for the lack of interest are the problems
> understanding what this can be good for, if you release something
> including samples for usage i think the interest will be larger (assuming
> it's really something useful of course... ;-))
That's somewhat like wondering what C can be good for...
CSDL is a programming language. It is intended to be far easier to learn
than C, and useful for doing any mathematics, simulations, etc. It has a
library that can output POV-Script, manage scene options, and call
POV-Ray, so CSDL can be used to describe scenes. It will also eventually
be able to draw its own graphics with OpenGL, so you could get real-time
visualizations of simulations or previews of scenes.
There are many things that are difficult to do in POV because of the
limitations of its language, or which are just too slow to parse, such
as particle systems, mesh bone animation, other animation methods, etc.
CSDL is intended to make this a lot easier. In addition, it is a kind of
"proof of concept" for some of my ideas for future modifications to the
POV-Script language, to show that the ideas are actually useful.
> The Perl Artistic License has the advantage that it forces a distinction
> of the original version and custom extensions, apart from that it's much
> like GPL i think.
I really know virtually nothing about licensing. Do you know of any web
sites with information for people new to this kind of thing?
--
--
Christopher James Huff <chr### [at] mac com>
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Christoph Hormann
Subject: Re: Licensing, Was: Re: CSDL Update
Date: 19 Jan 2002 13:00:54
Message: <3C49B44C.57404C62@gmx.de>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Christopher James Huff wrote:
>
> That's somewhat like wondering what C can be good for...
> [...]
I know, you already gave quite a lot of description, but that's not the
same as actually seeing a sample simulation.
> In addition, it is a kind of
> "proof of concept" for some of my ideas for future modifications to the
> POV-Script language, to show that the ideas are actually useful.
Having POV-Ray's internal functions available in such a simulation
language (like 'trace' and all the patterns for example) would be very
nice, but i guess this won't happen in the near future.
>
> I really know virtually nothing about licensing. Do you know of any web
> sites with information for people new to this kind of thing?
>
See for example:
http://www.gnu.org/licenses/license-list.html
Christoph
--
Christoph Hormann <chr### [at] gmx de>
IsoWood include, radiosity tutorial, TransSkin and other
things on: http://www.schunter.etc.tu-bs.de/~chris/
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 <3C49B44C.57404C62@gmx.de>,
Christoph Hormann <chr### [at] gmx de> wrote:
> Having POV-Ray's internal functions available in such a simulation
> language (like 'trace' and all the patterns for example) would be very
> nice, but i guess this won't happen in the near future.
Well, part of the math library will include functions for intersecting
rays with shapes, but it won't be related to POV-Ray in any way. It is
limited to generating a scene and telling POV to render it.
CSDL itself is completely separate from POV, it just has a "system()"
function that lets other programs be started.
> See for example:
>
> http://www.gnu.org/licenses/license-list.html
It looks like a list of licenses, similar to:
http://www.opensource.org/licenses/index.html
What I'm currently looking for is information on licensing software, not
on the licenses.
--
--
Christopher James Huff <chr### [at] mac com>
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) |