POV-Ray : Newsgroups : povray.beta-test.binaries : v3.8 Isosurface artefacts test case. Windows/OSX confirmation? : Re: v3.8 Isosurface artefacts test case. Windows/OSX confirmation? Server Time
8 Oct 2024 04:28:32 EDT (-0400)
  Re: v3.8 Isosurface artefacts test case. Windows/OSX confirmation?  
From: William F Pokorny
Date: 15 Oct 2019 08:23:34
Message: <5da5ba46@news.povray.org>
On 10/13/19 5:14 PM, jr wrote:
> 
> in a way I'm surprised that POV-Ray does not contain its own low-level maths
> library, I'd have thought that an advantage.  

If I'm following your meaning. There is some. Some even in the shipped 
SDL includes.

> so, I wonder (not knowing the code
> base + off the top of my head) whether collecting various low-level routines
> into a "convenience" library included with POV-Ray would not help with platform
> independence/"implementation differences". 

Again improvement possible in this vein though I don't expect it to help 
much with platform issues - if we have many.

Truth is POV-Ray is really good at compiling and running the same way on 
any platform with a standards compliant C++ compiler. The core 
developers have worked hard at to make this so.

I was speaking of a few concerns - those mostly given recent past 
vector.h behavior in not getting the C++ standard include for abs. It 
just happened the code involved here touches on those 'concerns.' Had 
OSX and Windows users tested, it was as much to confirm no differences 
as anything. I think we 'might' have a soft spot - but maybe not, it's a 
worry.

> libraries like the GSL (see
> attached) are highly optimised and easily wrapped/"plundered".
> 

Yeah, such suggestions always sound good - to me too on first glance. 
The devils are in the details...

In looking at the solvers I've looked on and off at gsl, eigen, Intel's 
embree(sp?) package and others. I borrowed ideas for updates to our 
common quadratic solver from a CERN math package. The julia language 
itself is interesting in that it might eventually be a path to an llvm 
jit implementation POV-Ray could use - but I think it too unstable to 
consider seriously at this point. Julia is in the shiny, new, gazillion 
commits a day phase. Aside: I see julia as an implementation of try this 
math on the fly ideas CERN has been doing themselves for a long time by 
hacking C or C++. So many languages, packages, and papers out there... 
One just drowns in the noise.

I'm looking again at eigen's nD vector support of late as an alternative 
to vector.h which - it appears - is tangled in a negative performance 
impact 3.7 to 3.8. But more interested due my immediate solver work 
needs for flexibility with respect to the 'n' part of nD. I'd like our 
vector.h to be just what I need and it isn't. :-)

Anyway. What can I say somewhat quickly. With my solver work one aim has 
been moving my code in a direction which makes plugging in a common 
library more doable. Still, lots of details would hang us up. Just 
trying to plug in standard solvers where it could be done technically 
(you'd get roots) is iffy because ours are often ray tracer tweaked 
solvers. A lot of the code you find, in sage for example, has the 
solvers set up for more than direct on floating point hardware reals too 
- meaning the code is often built upon largish software packages 
themselves - which makes extracting just what we want harder.

Making parts and pieces of gsl et al available as functions in the 
POV-Ray VM could be interesting. There, not be being tangled in the 
larger POV-Ray code base might make it easier to do.

Bill P.


Post a reply to this message

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