POV-Ray : Newsgroups : povray.general : Status of Moray? Server Time
20 Jul 2025 16:34:51 EDT (-0400)
  Status of Moray? (Message 217 to 226 of 466)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: Warp
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 09:22:07
Message: <4700f47f@news.povray.org>
Fa3ien <fab### [at] yourshoesskynetbe> wrote:
> And if the shader language is, in fact, an existing language, like C or Ruby,
> or any smart choice, making use of POV-Ray-specific classes, efficient
> compilation shouldn't be a problem (I think).

  There's a difference between something being inside the core C++ codebase,
and something JIT-compiled at runtime.

  Modern C++ compilers are quite good at optimizing, and it would be quite
hard for the JIT-compiler of any given scripting language to match that
level of optimization.

  Even if some JIT-compiler of some scripting language would achieve the
same speeds, the C++ compiler still has some advantages, such as being
able to inline certain functions for added speed (which naturally cannot
be done with JIT-compiled functions because they are unknown at the core
code compilation stage). Not that this matters a whole lot, but still.

-- 
                                                          - Warp


Post a reply to this message

From: Bruno Cabasson
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 11:05:00
Message: <web.4701055fe7dc7428e8ba46670@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote:
> Fa3ien <fab### [at] yourshoesskynetbe> wrote:
> > And if the shader language is, in fact, an existing language, like C or Ruby,
> > or any smart choice, making use of POV-Ray-specific classes, efficient
> > compilation shouldn't be a problem (I think).
>
>   There's a difference between something being inside the core C++ codebase,
> and something JIT-compiled at runtime.
>
>   Modern C++ compilers are quite good at optimizing, and it would be quite
> hard for the JIT-compiler of any given scripting language to match that
> level of optimization.
>
>   Even if some JIT-compiler of some scripting language would achieve the
> same speeds, the C++ compiler still has some advantages, such as being
> able to inline certain functions for added speed (which naturally cannot
> be done with JIT-compiled functions because they are unknown at the core
> code compilation stage). Not that this matters a whole lot, but still.
>
> --
>                                                           - Warp

I agree with Warp, with the following remarks:

-) We do not need that much speed for parsing, and if this allows us to meet
our requirements (object-orientedness and object-oriented notation, modules,
user-defined classes & methods, addons & new features,  user-definable
stuff, etc ...), we can sacrify some speed for it.

-) We need maximum computation power at render time. What are the quickest
langages for heavy computations? Basically, C++ is quick and very popular
among programmers (hackers or in industry) and benefits a lot of stuff.
FORTRAN (yes, I dared!) is also quick and takes better advantage of
vectorized computations and of processor pipelines, specialized in maths,
still very used in the industry yet much less popular, and benefits also a
lot of stuff.

-) What are the current langages supporting JIT? What are their
performances?

-) What are the langages which are best cross-platform and OS-independent?

Maybe we can make a round and see what we have at our disposal that is
likely to satisfy us for what we want.


    Bruno


Post a reply to this message

From: William Tracy
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 11:38:43
Message: <47011483$1@news.povray.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

nemesis wrote:
> until you realize it's something, like Perl6 itself, that has been in the
> works for about 6 years, without ever managing to get out of beta status.

Ah. Okay, then. :-)

> I was thinking... the next Povray supposedly is going to be GPL.  Would you
> guys find it feasible to ship it together with GCC?  My point is:
> JIT-compilation is still a relatively new area and there aren't sufficient
> open-source implementations out there.  But traditional ahead-of-time
> compilation is easily achieved.  If it was possible for a povray SDL script
> to be compiled before running, performance wouldn't be a problem any more.

I really can't say how SDL would take to being compiled; I can say that
GCC is going to be a little bit of overkill for our needs. ;-)

Writing a new GCC frontend for SDL would be a big project in itself.

That said, GCC already supports a huge set of processor architectures. I
would not look forward to having to support a custom JIT compiler on
every conceivable processor, and I would not like to see POV stop
working on machines that are currently supported, either.

> then, I could even suggest getting a Scheme implementation like chicken to
> be a possible SDL frontend... :)

If you want to get yourself lynched, sure... ;-)

- --
William Tracy
afi### [at] gmailcom -- wtr### [at] calpolyedu

You know you've been raytracing too long when you consider 2D art that
of fools.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHARSDcCmTzQ++ZncRAiN7AJ9P9/tPUU/7LIQiCbxD7bpnKcQ6PgCfR42c
2WRRkq7Yt7pHjl+0qETtokY=
=gdTu
-----END PGP SIGNATURE-----


Post a reply to this message

From: William Tracy
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 11:46:25
Message: <47011651$1@news.povray.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bruno Cabasson wrote:
> -) What are the current langages supporting JIT? What are their
> performances?

How about the Java runtime? Sun has already opened up the parts that
we'd actually need. (We have no use for the Java class libraries, and
once you strip those out the runtime binaries are only a couple
megabytes in size.)

> -) What are the langages which are best cross-platform and OS-independent?

Some of the existing Open Source JVMs support more processors than Sun's
OpenJDK; at the same time, Sun's implementation seems to be better
optimized on those platforms that are supported.

- --
William Tracy
afi### [at] gmailcom -- wtr### [at] calpolyedu

Penelope20k <pen### [at] caramailfr> wrote:
> > t'es la o boulot ... avec un cle USB?
  Yeah.
    -- Warp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHARZRcCmTzQ++ZncRAipgAJ9fp+WPZOXFYmEJ2eiTRv4zFHsAjQCfTXXi
tcCuvWJh2K84EzHH+SxwWsA=
=jYQu
-----END PGP SIGNATURE-----


Post a reply to this message

From: William Tracy
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 12:02:06
Message: <470119fe@news.povray.org>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jim Henderson wrote:
> Only so far as the features one wants are in the OS that one is using.  
> If you've used any OS other than Windows in the last 10 years, you've 
> come to expect that full functionality may not be available in the OS of 
> your choice.

Yeah. Vista *still* doesn't seem to support sed, or even grep. I don't
know how anyone even gets anything done on Windows. :-D

> Now extend that to features in the language itself - that's a recipe for 
> chaos, because the POVRay you use on *nix may not necessarily have the 
> same functionality as the Windows version, and your scene files won't 
> actually render because of missing functionality.  You end up with an SDL 
> that is *not* portable.  Nonportability is BAD.
...
> That's a bit different than limiting the featureset of POVRay itself for 
> users of some OSes.

I am seeing your point.

In all fairness, there *are* platform-independent uses for this sort of
thing. How about being able to call Python from SDL? You don't want to
just hard-code links to Python in POV...because then the Perl and Ruby
hackers would get mad. ;-)

Anyway, I think we both agree on the fundamental points--cross-plaform
is good, and flexibility is also good. Possibly we're just disagreeing
on how this sort of feature would end up getting used.

In any case, POV bindings to external programs are probably not going to
happen, so this discussion is mostly moot, anyway.

- --
William Tracy
afi### [at] gmailcom -- wtr### [at] calpolyedu

You know you've been raytracing too long when you want to cheat and look
at nature's source code.
    -- Mark Stock
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHARn+cCmTzQ++ZncRAnaJAJsHnJ80MGbPORS49u+t/sZj1uni8QCdE7XX
ORqhZ9bBxFYtHCOhXB2I9+M=
=YT2M
-----END PGP SIGNATURE-----


Post a reply to this message

From: nemesis
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 12:45:00
Message: <web.47012381e7dc7428773c9a3e0@news.povray.org>
William Tracy <wtr### [at] calpolyedu> wrote:
> nemesis wrote:
> > I was thinking... the next Povray supposedly is going to be GPL.  Would you
> > guys find it feasible to ship it together with GCC?  My point is:
> > JIT-compilation is still a relatively new area and there aren't sufficient
> > open-source implementations out there.  But traditional ahead-of-time
> > compilation is easily achieved.  If it was possible for a povray SDL script
> > to be compiled before running, performance wouldn't be a problem any more.
>
> I really can't say how SDL would take to being compiled; I can say that
> GCC is going to be a little bit of overkill for our needs. ;-)
>
> Writing a new GCC frontend for SDL would be a big project in itself.

That's not what I had in mind:  we'd likely ship both GCC (for the backend
compilation) and a front-end language system capable of producing C code
which would in turn get compiled.  Many high level languages today target C
as a lowlevel portable assembly.

I certainly wouldn't like to program SDL in C (nor C++).  My point was to
adapt a particular high-level language to suit the needs of Povray SDL and
program in that subset.  An then, get it compiled to C, which would in turn
get compiled to native code by GCC.  Too much of a trouble?  chicken does it
in a single pass with a high-level script.

> > then, I could even suggest getting a Scheme implementation like chicken to
> > be a possible SDL frontend... :)
>
> If you want to get yourself lynched, sure... ;-)

No need to fear once you get past the parentheses (with proper indentation
and structural editing)...

but then again, perhaps we should stop daydreaming and first help rewrite
all that old C/C++ code...


Post a reply to this message

From: Bruno Cabasson
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 13:00:01
Message: <web.47012662e7dc7428e8ba46670@news.povray.org>
William Tracy <wtr### [at] calpolyedu> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Bruno Cabasson wrote:
> > -) What are the current langages supporting JIT? What are their
> > performances?
>
> How about the Java runtime? Sun has already opened up the parts that
> we'd actually need. (We have no use for the Java class libraries, and
> once you strip those out the runtime binaries are only a couple
> megabytes in size.)
>
> > -) What are the langages which are best cross-platform and OS-independent?
>
> Some of the existing Open Source JVMs support more processors than Sun's
> OpenJDK; at the same time, Sun's implementation seems to be better
> optimized on those platforms that are supported.
>
> - --
> William Tracy
> afi### [at] gmailcom -- wtr### [at] calpolyedu

Java provides many of what has been evocated (OO, modularity, JIT,
platform/OS comptibility, etc ..). But how could we take advantage of it
without ending with something too heavy?

Java cannot be the choice for the rendering engine for obvious performance
reasons, but it might be a good candidate for the language/syntax aspect,
provided we can define some restrictions and rules. But I absolutely don't
know what and how ... Alladin's lamp welcome! (Might be a good name for
something, no? You just polish, and something magic comes out!)

Java provides JNI, an interface for external libraries, with the concern
that was evocated earlier in the thread, but which might be a 'ready-made'
solution.

OTOH, I cannot imagine we can do something new and entirey specific from
scratch. It represents way too much work and maturation.

We can (have to) reuse POV syntax, augment it with the new features, keep
the POV spirit. We can write an efficient and powerful rendering engine,
whatever language it is written in, the pure technical/math part is never
much of a problem. And we have some skilled and genius people here. My
opinion is that the difficulty resdes in between, between the syntax itself
and the rendering engine.

In conclusion, we have the following chain:

Features -> Syntax -> Parse and make features take form -> Rendering engine

And the related questions:

WHAT features? (not answered yet, first thing to do)
WHAT syntax? (not answered yet, in conjuction with features)
HOW linguistic features are implemented? (here resides the core problem and
main choices, possibly needs loop-back with features for compromise)
HOW the rendring engine is implemented? (only technical, not easy at all but
not really blocking)

People here can write some significant pieces of code to illustrate features
they have in mind with the syntax they envision, or to show what they would
have liked to have at least once in their POVer's life, and blocked them
more or less. Can we open a new group for that purpose? Or use rather the
povray.programming group?


    Bruno


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 13:41:46
Message: <4701315a$1@news.povray.org>
William Tracy escribió:
> In all fairness, there *are* platform-independent uses for this sort of
> thing. How about being able to call Python from SDL? You don't want to
> just hard-code links to Python in POV...because then the Perl and Ruby
> hackers would get mad. ;-)

I honestly don't know either of those three languages. What about PHP? :P


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 13:42:57
Message: <470131a1$1@news.povray.org>

> Fa3ien <fab### [at] yourshoesskynetbe> wrote:
>> And if the shader language is, in fact, an existing language, like C or Ruby,
>> or any smart choice, making use of POV-Ray-specific classes, efficient
>> compilation shouldn't be a problem (I think).
> 
>   There's a difference between something being inside the core C++ codebase,
> and something JIT-compiled at runtime.
> 
>   Modern C++ compilers are quite good at optimizing, and it would be quite
> hard for the JIT-compiler of any given scripting language to match that
> level of optimization.
> 
>   Even if some JIT-compiler of some scripting language would achieve the
> same speeds, the C++ compiler still has some advantages, such as being
> able to inline certain functions for added speed (which naturally cannot
> be done with JIT-compiled functions because they are unknown at the core
> code compilation stage). Not that this matters a whole lot, but still.
> 

So why not use a modern C++ compiler for JIT? Have a look at this:

http://www.cip.physik.uni-muenchen.de/~wwieser/render/povray/patches/jitc-patch/


Post a reply to this message

From: nemesis
Subject: Re: New SDL for POVRay
Date: 1 Oct 2007 15:40:00
Message: <web.47014bf4e7dc7428773c9a3e0@news.povray.org>
Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:
> So why not use a modern C++ compiler for JIT? Have a look at this:
>
> http://www.cip.physik.uni-muenchen.de/~wwieser/render/povray/patches/jitc-patch/

really cool!  sad it's last version is from 2004.  That's the kind of thing
I have in mind, though I'm not sure it can be appropriately called a JIT...


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

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