POV-Ray : Newsgroups : povray.binaries.programming : Updated yuqk tarballs for Unix/Linux. a5c25dda Server Time
23 Feb 2025 18:35:28 EST (-0500)
  Updated yuqk tarballs for Unix/Linux. a5c25dda (Message 1 to 10 of 25)  
Goto Latest 10 Messages Next 10 Messages >>>
From: William F Pokorny
Subject: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 7 Feb 2025 00:15:49
Message: <67a59705@news.povray.org>
Please see the attached tarballs, previous announcements in this forum 
and INSTALL.txt for suggestions on compiling and running via wrapper script.

Note. The yuqk_DocAndAid_a5c25dda.tar.gz and 
yuqk_Examples_a5c25dda.tar.gz files will be attached to a response to 
this posting.

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

Note. Those using g++ compiler version 13 or later must add the compiler 
flag -fno-finite-math-only, if using the flag -ffast-math.

Note. Those compiling to the c++20 (or later) standard must currently 
use the -fno-char8_t compiler flag.

Bill P.

---
---------------- povray-3.8.0-x.yuqk_a5c25dda.tar.gz  February 06, 2025
yuqk R18 v0.6.12.0

Removed a dynamic_cast in render time bump_map image value access code, 
which significantly improved performance.

Added the inbuilt function f_lcm() accepting up to six integer values 
plus a use count integer with values 1 thru 6.

Added the inbuilt function f_gcd() accepting up to three integer values 
and a match value. Returns the greatest common denominator found when 
the match value is 0. Otherwise it returns 1 when the gcd is equal to 
the match value and 0.0 otherwise.

Deleted the f_leopard pattern. The leopard pattern itself was recently 
updated so as to be much more flexible making the inbuilt function obsolete.

Moved the minimum C++ compiler standard to c++17 (has long been c++11).

Added the inbuilt function f_round() which itself is a wrap of 
std::lround().

Deleted the f_onion pattern. The onion pattern itself was recently 
updated so as to be much more flexible making the inbuilt function obsolete.

---
Re-worked the image_indexed_textures{} feature so it more reliably works 
with image formats supporting channel depths > 8 bits or channel values 
 >1.0.

- Texture list entry 0 is always the default background / unmapped 
region texture. Further, rather than wrap when palette registers/indexes 
exceed the number of textures in the list, yuqk maps these also to the 0 
texture entry.

- Adding support for color channel depths > 8 bits by specifying texture 
list of longer than 256 entries. (The 0.0..1.0 red channel multiplier 
becomes 65535.0 rather than always 255.0)

- High dynamic range images, which often have .red or .grey values > 1.0 
in typical use, can exploit this support by using the .red or .grey 
values directly as index values into the texture list.

- Removed a dynamic_cast in render time image value access code, which 
significantly improved performance.

- Additional parse time checks for valid map types, etc.

- Added warp{} parsing support missing always since warp{}s added.

- Rather than casting map image float values to integers, yuqk now 
rounds using std::lround() which makes interpolations more usable / stable.

- Negative .red / .grey channel values, which have never been handled 
explicitly, are now treated as equivalent positive index values after 
rounding.

- Fixed bugs in imageutil.cpp's InterpolateBicubic() and Interp() where 
the code by numerical noise was sometimes flipped into an index 
calculated mode.

---

Renamed the material_map{} feature image_indexed_textures{} - which is 
what it always has been. Confusion was created when later support for a 
material{} feature was added. The material{} feature encapsulates 
texture{}s and interior{}s via identifier references.

---

Completed the move of image input modifier keywords to ones with 'ii_' 
prefixes. These are keywords used with the bump_map{}, image_map{}, 
image_pattern{} and material_map{} blocks / features of POV-Ray to 
modify how the image is mapped to surfaces or shapes.

The complete list of 'ii_' prefixed keywords is: ii_all, ii_filter, 
ii_interpolate, ii_map_type, ii_offset, ii_once, ii_repeat, ii_transmit, 
ii_use_alpha, ii_use_color, ii_use_colour and ii_use_index. The 
'ii_offset' and 'ii_repeat' had previously been created where there was 
long existing, but undocumented, image input features called offset and 
repeat in the POV-Ray source code.

The following keywords with respect to the R17 release state have been 
renamed so as to have the 'ii_' prefix: all, interpolate, map_type, 
once, use_color, use_colour and use_index. In other words, un-prefixed 
forms of these keywords no longer exist.

The keywords 'ii_filter' and 'ii_transmit' now exist alongside the 
keywords 'filter' and 'transmit' which are still used with the channel, 
dot access syntax for color vectors and with little used, old style, 
color definitions.

The keyword 'ii_use_alpha' now exist alongside the keyword 'use_alpha' 
used within the finish{} block.

---


Post a reply to this message


Attachments:
Download 'povray-3.8.0-x.yuqk_a5c25dda.tar.gz' (1702 KB)

From: William F Pokorny
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 7 Feb 2025 00:18:16
Message: <67a59798@news.povray.org>
On 2/7/25 00:15, William F Pokorny wrote:
> Note. The yuqk_DocAndAid_a5c25dda.tar.gz and 
> yuqk_Examples_a5c25dda.tar.gz files will be attached to a response to 
> this posting.

Bill P.


Post a reply to this message


Attachments:
Download 'yuqk_docandaid_a5c25dda.tar.gz' (694 KB) Download 'yuqk_examples_a5c25dda.tar.gz' (462 KB)

From: Bald Eagle
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 8 Feb 2025 13:25:00
Message: <web.67a7a08f9eb80dd1f9dae3025979125@news.povray.org>
Installing on fairly fresh MINT install.
Looks like I need to install certain libraries first.

===============================================================================
Configure POV-Ray (yuqk) version 3.8.0-x.yuqk_a5c25dda
===============================================================================

---------------
  Environment
---------------

------------
  Programs
------------

-------------------------------------------
  Attempt dump of compiler built-in specs
-------------------------------------------

-------------
  Libraries
-------------
configure: error: cannot find a suitable PNG library


Post a reply to this message

From: Bald Eagle
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 8 Feb 2025 17:45:00
Message: <web.67a7dd999eb80dd1f9dae3025979125@news.povray.org>
installed a bunch of packages.

Needed to hammer on the libpng-dev thing

sudo apt install build-essential zlib1g-dev
cd
mkdir src
cd src
wget
https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu/pool/main/libp/libpng/libpng_1.2.54.orig.tar.xz
tar Jxfv libpng_1.2.54.orig.tar.xz
cd libpng-1.2.54
../configure
make
sudo make install
sudo ln -s /usr/local/lib/libpng12.so.0.54.0 /usr/lib/libpng12.so
sudo ln -s /usr/local/lib/libpng12.so.0.54.0 /usr/lib/libpng12.so.0

Then I installed libtiff-dev
and then everything was fine




===============================================================================
Configure POV-Ray (yuqk) version 3.8.0-x.yuqk_a5c25dda
===============================================================================

---------------
  Environment
---------------

------------
  Programs
------------

-------------------------------------------
  Attempt dump of compiler built-in specs
-------------------------------------------

-------------
  Libraries
-------------

-----------------------
  Language constructs
-----------------------

----------------------
  Language functions
----------------------

---------------------
  Compiling options
---------------------

---------------------------
  Floating Point Features
---------------------------

-------------
  Makefiles
-------------

--------------------------------------------------------
  Definitions setting POV-Ray (yuqk) run time messages
--------------------------------------------------------

===============================================================================
POV-Ray (yuqk) 3.8.0-x.yuqk_a5c25dda has been configured.
===============================================================================

See the file config.log for more detail.
See the file INSTALL.txt for more build options and information.


Post a reply to this message

From: Bald Eagle
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 8 Feb 2025 22:45:00
Message: <web.67a8241e9eb80dd1f9dae3025979125@news.povray.org>
doing make, and I get a lot of:

/usr/bin/ld: disp_x11.cpp:(.text+0x2085): undefined reference to
`XGetVisualInfo'
/usr/bin/ld: disp_x11.cpp:(.text+0x2096): undefined reference to `XFree'
/usr/bin/ld: disp_x11.cpp:(.text+0x20b3): undefined reference to
`XCreateColormap'
/usr/bin/ld: disp_x11.cpp:(.text+0x2126): undefined reference to `XCreateWindow'
/usr/bin/ld: disp_x11.cpp:(.text+0x218b): undefined reference to
`XSetWMNormalHints'
/usr/bin/ld: disp_x11.cpp:(.text+0x21c5): undefined reference to `XSetClassHint'
/usr/bin/ld: disp_x11.cpp:(.text+0x21e7): undefined reference to
`XCreateBitmapFromData'
/usr/bin/ld: disp_x11.cpp:(.text+0x220c): undefined reference to
`XCreateBitmapFromData'
/usr/bin/ld: disp_x11.cpp:(.text+0x224a): undefined reference to `XSetWMHints'
/usr/bin/ld: disp_x11.cpp:(.text+0x2261): undefined reference to `XSetIconName'
/usr/bin/ld: disp_x11.cpp:(.text+0x2287): undefined reference to `XCreateGC'
/usr/bin/ld: disp_x11.cpp:(.text+0x22a0): undefined reference to `XSelectInput'
/usr/bin/ld: disp_x11.cpp:(.text+0x22b0): undefined reference to `XMapWindow'
/usr/bin/ld: disp_x11.cpp:(.text+0x22da): undefined reference to `XCreateImage'
/usr/bin/ld: disp_x11.cpp:(.text+0x2302): undefined reference to `XInitImage'
/usr/bin/ld: disp_x11.cpp:(.text+0x2410): undefined reference to `XPutImage'
/usr/bin/ld: disp_x11.cpp:(.text+0x2420): undefined reference to `XFlush'
/usr/bin/ld: disp_x11.cpp:(.text+0x2583): undefined reference to `XPutImage'

any ideas?


Post a reply to this message

From: jr
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 9 Feb 2025 00:50:00
Message: <web.67a840f99eb80ddc342f2ec6cde94f1@news.povray.org>
hi,

"Bald Eagle" <cre### [at] netscapenet> wrote:
> doing make, and I get a lot of:
>
> /usr/bin/ld: disp_x11.cpp:(.text+0x2085): undefined reference to
> `XGetVisualInfo'
> ...
> any ideas?

guessing the header files for the various X libraries are not installed ?

also, see inbox.


regards, jr.


Post a reply to this message

From: Bald Eagle
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 9 Feb 2025 09:55:00
Message: <web.67a8c1379eb80dd1f9dae3025979125@news.povray.org>
So, I noticed in the installation instructions there is the command:

../configure -q COMPILED_BY="name" CXXFLAGS="-O2" --prefix=/tmp/yuqk_427af17e

when in fact the package I was trying to compile/install was
povray-3.8.0-x.yuqk_a5c25dda

Once yuqk gets installed, I guess the program is still called povray, since the
make check runs the following:

../unix/povray +i./scenes/biscuit.pov -f +d -p +v +w320 +h240 +a0.3 +L./include

I'm guessing that for routine rendering, I can use alias to make something like
"yuqk biscuit.pov"
use the full path to yuqk povray and &1 to render whatever .pov file I throw at
it.


Post a reply to this message

From: William F Pokorny
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 10 Feb 2025 05:10:35
Message: <67a9d09b$1@news.povray.org>
On 2/9/25 09:52, Bald Eagle wrote:

Hi,

First - first, thanks for attempting to build the new yuqk fork release.

---

First, I think what jr suggested about missing headers is a probable 
cause. IIRC (probably not), someone else was missing usual x-windows 
libraries too somewhat recently, on trying to build and saw a similar issue.

Except my 'first' reaction is how did this invalid build state slip past 
the x-windows configure (autotools) code...

Do you still have your config.log file? Near the bottom do you see the 
lines:

#define HAVE_LIBSDL2 1

#define BUILTIN_XWIN_DISPLAY "enabled"

Have you otherwise sorted out the cause yourself?

I'm, vaguely aware the underlying x-windows (Xorg) system is slowly 
being changed to something called Wayland. When I next can, I'll spend 
some time digging around. Last I knew there were no linux distributions 
shipped with Wayland as the default (user have to switch to do it 
themselves), but maybe that has changed and with it something about the 
'effective' windowing build support with linux distributions.

As a near term fix, you can install the sdl2 development libraries (if 
you have not) and it should be if you can use '--without-x' when you 
configure and build with the SDL2 preview window support instead. The 
yuqk default is to build and run with X windows, but it will always 
enable the newest SDL* windowing library too as part of the build, if it 
is available (and the user hasn't set a configuration option to disable it).

You can also build and run with no preview window capability at all by 
disabling both X and SDL previews.

> So, I noticed in the installation instructions there is the command:
> 
> ../configure -q COMPILED_BY="name" CXXFLAGS="-O2" --prefix=/tmp/yuqk_427af17e
> 
> when in fact the package I was trying to compile/install was
> povray-3.8.0-x.yuqk_a5c25dda
> 

Yeah, that's a bit confusing. Let me go clean it up for the next 
release. Ah, it's pervasive. I'll put it on the list to add something to 
yuqk's 'make dist' process to update it to the current commit string for 
each release.

> Once yuqk gets installed, I guess the program is still called povray, since the
> make check runs the following:
> 
> ../unix/povray +i./scenes/biscuit.pov -f +d -p +v +w320 +h240 +a0.3 +L./include
> 
> I'm guessing that for routine rendering, I can use alias to make something like
> "yuqk biscuit.pov"
> use the full path to yuqk povray and &1 to render whatever .pov file I throw at
> it.
> 

The expectation is that yuqk's 'povray' executable will be run using a 
wrapper script. There is an example script in the root directory of the 
unpacked source code called 'yuqk'. The internals of which are updated 
to point to your install location for the release prior to copying the 
script to you $HOME/bin directory, for example. You can also update that 
'yuqk' script in place as a way to quickly run without doing a 'make 
install'.

(Yep, I see too this another place where I should automatically update 
to the current release's commit string)

The yuqk fork is changing significantly release to release. The 
expectation is those using the yuqk fork will end up having many yuqk 
scripts in there $HOME/bin directory each pointing to a small install 
location of about 5MB.

I myself have: yuqk_3317dfc0, yuqk_9871ed6e and yuqk_a5c25dda wrapping 
builds / installs of the last three yuqk fork releases. I also have 
several development wrapper scripts pointing to different build 
configurations of development code at any given time (Something 
autotools supports well) - FWIW.

I hope my rambling of some help.

Bill P.


Post a reply to this message

From: kurtz le pirate
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 10 Feb 2025 10:12:39
Message: <67aa1767$1@news.povray.org>
On 07/02/2025 06:15, William F Pokorny wrote:
> Please see the attached tarballs, previous announcements in this forum 
> and INSTALL.txt for suggestions on compiling and running via wrapper 
> script.
> 
> Note. The yuqk_DocAndAid_a5c25dda.tar.gz and 
> yuqk_Examples_a5c25dda.tar.gz files will be attached to a response to 
> this posting.
> 
> A reminder the yuqk fork is not POV-Ray. As time passes, it's less 
> likely existing POV-Ray scenes will work without modification.
> 
> Note. Those using g++ compiler version 13 or later must add the compiler 
> flag -fno-finite-math-only, if using the flag -ffast-math.
> 
> Note. Those compiling to the c++20 (or later) standard must currently 
> use the -fno-char8_t compiler flag.
> 
> Bill P.

I'm also trying to install this latest version on my
ubuntu 22.04 LTS'vm.

With ./configure, the compilation goes well but I get this message at 
the end:
--------------------
configure: WARNING: All program feature using the OpenEXR library are 
disabled



However, the OpenEXR package is (seems) installed. I don't know if I can 
continue if I can continue with the rest of the installation.


One idea ?
Thanks





ps: don't forget that I'm a great linux beginner.




-- 
kurtz le pirate
compagnie de la banquise


Post a reply to this message

From: Bald Eagle
Subject: Re: Updated yuqk tarballs for Unix/Linux. a5c25dda
Date: 10 Feb 2025 10:35:00
Message: <web.67aa1bde9eb80dd25b4de9225979125@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:

> Have you otherwise sorted out the cause yourself?

Yes.  It was a direct result of trying to use the wrong commit string.

> > ../configure -q COMPILED_BY="name" CXXFLAGS="-O2" --prefix=/tmp/yuqk_427af17e
> >
> > when in fact the package I was trying to compile/install was
> > povray-3.8.0-x.yuqk_a5c25dda


> > it.
> >
>
> The expectation is that yuqk's 'povray' executable will be run using a
> wrapper script. There is an example script in the root directory of the
> unpacked source code called 'yuqk'.

Maybe some text could be sent to standard output stating that before your make
script exits?


> I hope my rambling of some help.

It gives me a better idea of how to follow along.
I still need to get back into the linux mindset, and have some sort of mental
picture regarding where things are stored, how to access them, etc.

There's a lot of chown, chmod, ./filename, unfamiliar select/copy/paste
touchpad/keystroke combos, etc. that I have to familiarize myself with to adopt
a better workflow.


While working on the glory feature that CR posted, it (re)occurred to me that
having some sort of "flag" to jimmy function / color map behaviour would be a
useful thing.

I need to absolutely exclude certain inputs to my texture / color_map, and with
pov-ray's value-wrapping, and real-valued function results, I find myself
spending a lot of time trying to do clever things to use values to signify that
I want to do things "off to the side" of what the main function is doing.
Because I'm stuck using a mathematical function, not a macro or algorithm -
which some languages refer to as "functions".

What I'm wondering is if there's a (future) way to set the result of a function
like select () to NAN, i, or some other "orthogonal placeholder" that a
color_map would just "ignore" and maybe set to something like rgbft1.


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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