POV-Ray : Newsgroups : povray.binaries.programming : Updated yuqk tarballs for Unix/Linux. a5c25dda : Updated yuqk tarballs for Unix/Linux. a5c25dda Server Time
23 Feb 2025 21:00:30 EST (-0500)
  Updated yuqk tarballs for Unix/Linux. a5c25dda  
From: William F Pokorny
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)

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