POV-Ray : Newsgroups : povray.binaries.programming : An updated povr tarball for Unix/Linux. 0883e2b6 Server Time
23 Nov 2024 07:21:40 EST (-0500)
  An updated povr tarball for Unix/Linux. 0883e2b6 (Message 1 to 10 of 10)  
From: William F Pokorny
Subject: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 2 Apr 2023 13:30:42
Message: <6429bbc2@news.povray.org>
Please see the attached tarball and previous announcements in this fora 
and INSTALL.txt for suggestions on compiling and running via wrapper script.

A reminder the povr fork is not POV-Ray. As time passes, it's less 
likely existing POV-Ray scenes will work without modification.

Bill P.

---

--------------------- povr-3.8.0-x.povr_0883e2b6.tar.gz  April 02, 2023
povr R7 v0.6.1.0

Found the povr fork picked up Christoph's late 2018 and early 2019 
text{} block cmap{} keyword code changes intended to enable support of 
more true type font (.ttf) files. The functionality looks useful in 
testing and - though not planned - the povr fork will keep the work. See 
the keyword documentation for more information.

Removed the 'hf_gray_16' and 'hf_grey_16' keywords. These have not 
functioned since v3.6 and they only existed to generate a warning 
message that they no longer worked.  All v3.7 onward gray file output 
control is accomplished with ini keywords or command line flags.

Updated RTR_HACK configuration so it can disabled by setting RTR_HACK to 
0 at build / compilation. Disabling previously required a header file 
edit to comment or remove the definition.

Adding the SDL functions word_is() and word_get(). These access and make 
use of 18 internal arrays of token information relative to the active 
version of POV-Ray(povr). The 18 arrays break down into three sets. 
Namely. Previous tokens (back to through v3.6) which are out (o prefix); 
Tokens included in the current code (i prefix); Lastly, tokens which are 
new (n prefix) compared to the prior major release (v3.8 beta 2). See 
documentation for more detail on use.

In debug compiles the internal function f_boom() now does a hard assert 
rather than a handled throw to enable the creation of core dump files.

Changes to cone / cylinder base==apex error handling. Formerly a throw 
was triggered - which did not generate a core dump file. Updates made so 
in non-debug compiles the parser generates PossibleErrors and continues. 
In debug compiles a hard assert condition is raised. This stops parsing 
and enables the generation a core dump file.

Added configuration option POV_File_Text_INC_DEBUG. Set to 1 to get 
include debug output as files are read. Default is 0.

Restoring v3.7 ifdef, ifndef and defined() ID only behavior.

The ripples and waves patterns largely re-written as they had a 
significant number of issues. Not the least of which was depending upon 
a global_settings{} number_of_waves keyword initialized in each thread 
and not identically.  See documentation and related newsgroup posts. The 
frequency and phase collisions with internal pattern values should be 
considered a part of the ripples and waves re-work and those issues were 
previously fixed with ip_frequency and ip_phase.

Changes to make the height_field image handling more consistent. Indexed 
images which have long produced a very weak height (for historical 
reasons) are now illegal. Color image handling for <=8 and >8 bit depth 
images is now all using the inbuilt, standard color to grey conversion. 
In other words, the special red weighted, red+green gray conversion for 
<=8 bit depths is gone.

Fixed color image_map out of bounds transparency so it no longer sets 
the r,g and b channels to 1.0. Something which led to inconsistent 
channel results depending on how information was accessed both within 
the program and by users.

Allowing average keyword within map declarations alongside blend_map and 
blend_gamma so predefined maps can be declared ahead of time for later 
average pattern use. Without this change it was impossible to create a 
map id for use with average. In other words, previously, everything had 
to be defined within the entity using the average pattern.

Added a set of complex functions defined and documented in the include 
file cfunctions.inc. The current list mostly follows that in c++11 on 
and currently includes: cf_abs, cf_acos, cf_acosh, cf_add, cf_asin, 
cf_asinh, cf_atan, cf_atanh, cf_cmplx, cf_conj, cf_cos, cf_cosh, cf_div, 
cf_exp, cf_imag, cf_inv, cf_ln, cf_log, cf_mul, cf_neg, cf_norm, 
cf_phase, cf_polar, cf_pow, cf_proj, cf_real, cf_sin, cf_sinh, cf_sqr, 
cf_sqrt, cf_sub, cf_tan and cf_tanh

Added a new inbuilt scene and function vm keyword in log2 which wraps 
the c++ std::log2. Note c++ log and log10 names are ln and log, 
respectively, with POV-Ray. A reason to make log2 inbuilt is 
performance. Along with floor and ceil, log2 can be reliably used to 
detect numerical values having a power of two encoding.


Post a reply to this message


Attachments:
Download 'povray-3.8.0-x.povr_0883e2b6.tar.gz' (1884 KB)

From: ingo
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 3 Apr 2023 01:40:00
Message: <web.642a667b9493bafc17bac71e8ffb8ce3@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:
> Please see the attached tarball [...]

Thank you.


ingo


Post a reply to this message

From: jr
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 4 Apr 2023 09:05:00
Message: <web.642c1f889493bafc4301edef6cde94f1@news.povray.org>
hi,

William F Pokorny <ano### [at] anonymousorg> wrote:
> ...
> povr R7 v0.6.1.0

my gcc is "elderly", and compilation fails, alas.  excerpt from build:

Script started on Tue 04 Apr 2023 13:46:03 BST
  ...
===============================================================================
POV-Ray (povr) 3.8.0-x.povr_0883e2b6 has been configured.
===============================================================================

Built-in features:
  I/O restrictions:          enabled
  X/SDL Window display:      enabled (sdl not available)
  Supported image formats:   gif tga iff ppm pgm hdr png jpeg tiff openexr
  Unsupported image formats: -

Compilation settings:
  Build architecture:  x86_64-slackware-linux-gnu
  Built/Optimized for: x86_64-slackware-linux-gnu
  Compiler vendor:     gnu
  Compiler version:    g++ 5.5.0

  Preprocessor flags (CPPFLAGS):
    -pthread -I/usr/include/OpenEXR -I/usr/include

  Compiler flags (CXXFLAGS):
    -pipe -w -fno-enforce-eh-specs -std=c++11 -march=native -mtune=haswell
    -ffast-math -O2 -fPIC -pthread

  Linker flags (LDFLAGS):
    -L/usr/lib

  Libraries (LIBS):
    -lXpm -lSM -lICE -lX11 -lIlmImf -lIlmImf -lImath -lHalf -lIex -lIexMath
    -lIlmThread -pthread -lIlmThread -ltiff -ljpeg -lpng -lz -lrt -lm -pthread
    -lpthread

The POV-Ray (povr) components will be installed in the following directories:
  Program (executable):       /home/jr/POVr/bin
  System configuration files: /home/jr/POVr/etc/povray/3.8
  User configuration files:   /home/jr/.povray/3.8 (povr ignoring)
  Standard include files:     /home/jr/POVr/share/povray-3.8/include
  Standard INI files:         /home/jr/POVr/share/povray-3.8/ini
  Standard demo scene files:  /home/jr/POVr/share/povray-3.8/scenes
  Documentation (text, HTML): /home/jr/POVr/share/doc/povray-3.8
  Unix man page:              /home/jr/POVr/man
===============================================================================
  ...

See the file INSTALL.txt for more build options and information.
make  all-recursive
make[1]: Entering directory '/tmp/POV/povray-3.8.0-x.povr_0883e2b6'
Making all in source
make[2]: Entering directory '/tmp/POV/povray-3.8.0-x.povr_0883e2b6/source'
  CXX      base/mathutil.o
  ...
  CXX      povms/povmsutil.o
  CXX      vm/fnintern.o
  CXX      vm/fnpovfpu.o


     static_assert(sizeof(float)  == 4);    // These I think redundant for c++11
  ...
Makefile:1311: recipe for target 'vm/fnintern.o' failed
make[2]: *** [vm/fnintern.o] Error 1
  ...

(btw, is there an option to turn on _all_ compiler warnings ?)


regards, jr.


Post a reply to this message

From: jr
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 4 Apr 2023 09:15:00
Message: <web.642c22c29493bafc4301edef6cde94f1@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:

looks like the web ui didn't like the apostrophes supplied by compiler, trying
again:

> ...>   CXX      vm/fnintern.o
>   CXX      vm/fnpovfpu.o

vm/fnintern.cpp: In function 'double pov::fnEnc2x_f32(double, double)':
vm/fnintern.cpp:153:38:error: expected ',' before ')' token

>      static_assert(sizeof(float)  == 4);    // These I think redundant for c++11


regards, jr.


Post a reply to this message

From: yesbird
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 4 Apr 2023 10:08:37
Message: <108632c0-fb21-ce0d-fa22-a3e70f8d5d30@gmail.com>
On 04/04/2023 16:00, jr wrote:
> (btw, is there an option to turn on _all_ compiler warnings ?)
I'm using following set:
-pedantic -Wall -Wextra
--
YB


Post a reply to this message

From: jr
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 4 Apr 2023 11:55:00
Message: <web.642c481d9493bafc4301edef6cde94f1@news.povray.org>
hi,

yesbird <sya### [at] gmailcom> wrote:
> On 04/04/2023 16:00, jr wrote:
> > (btw, is there an option to turn on _all_ compiler warnings ?)
> I'm using following set:
> -pedantic -Wall -Wextra

thanks, yes those too.  there are (for gcc) various -Wxyz switches, I tend to
ask for shadow, format-security, strict-overflow, conversion, undef, and such.
(would have liked a single config option, rather than editing the build script
:-))

btw, every reply you post here is also sent to my inbox.  Thunderbird "at work",
huh ?!  ;-)


regards, jr.


Post a reply to this message

From: yesbird
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 4 Apr 2023 12:34:21
Message: <642c518d$1@news.povray.org>
On 04/04/2023 18:54, jr wrote:
> btw, every reply you post here is also sent to my inbox.  Thunderbird "at work",
> huh ?!  ;-)
Sorry, it was default TB behaviour, I've turned it off.
--
YB


Post a reply to this message

From: William F Pokorny
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 5 Apr 2023 04:53:05
Message: <642d36f1$1@news.povray.org>
On 4/4/23 09:00, jr wrote:
> my gcc is "elderly", and compilation fails, alas.  excerpt from build:

Yep. I think having a compiler not compliant to c++11 is the only way 
you can get that fail. I have in my head the configure program should 
kick out a warning if it cannot do certain c++11 things - those might 
not include the compile time asserts though.

Aside: All v3.8 releases, technically, require a c++11 compliant 
compiler - but there is fuzziness to be had for sure.

There is a configure script flag called: --enable-compile-warn which 
turns on a set of warnings (and turns off -w).

You can of course add more -wall -wextra come to mind as ones I run when 
just trying to clean up things a little - but I cannot find those notes 
at the moment...

Bill P.


Post a reply to this message

From: jr
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 6 Apr 2023 01:05:00
Message: <web.642e523f9493bafc4301edef6cde94f1@news.povray.org>
hi,

William F Pokorny <ano### [at] anonymousorg> wrote:
> On 4/4/23 09:00, jr wrote:
> > my gcc is "elderly", and compilation fails, alas. ...
> Yep. I think having a compiler not compliant to c++11 is the only way
> you can get that fail.

ok, thanks.  built it on the VM, gcc 10, all good.


regards, jr.


Post a reply to this message

From: William F Pokorny
Subject: Re: An updated povr tarball for Unix/Linux. 0883e2b6
Date: 6 Apr 2023 01:56:33
Message: <642e5f11$1@news.povray.org>
On 4/6/23 01:01, jr wrote:
> ok, thanks.  built it on the VM, gcc 10, all good.

Good to hear - thanks.

Bill P.


Post a reply to this message

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