|
|
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_9871ed6e.tar.gz and
yuqk_Examples_9871ed6e.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_9871ed6e.tar.gz December 16, 2024
yuqk R17 v0.6.11.0
Added potential{} value pattern support to the polygon object.
Revised the potential{} pattern mechanism to generically support the
keywords ip_type, ip_offset and ip_mode in addition to the existing
ip_threshold. The thinking is there's no reason to limit a shape's
potential pattern support to reproducing the 3D shapes as a value fields
suited to isosurace function use. The parsing for all these generic
potential{} pattern keywords was moved within the potential{} block
which is more consistent - especially within the yuqk fork.
Updated the f_dturbulence() function so it, like the new f_dnoise()
function has three additional seed/translationm x,y,z values for the
noise field which are independent of the 'working x,y,z' values.
Better aligned the f_turbulence() and f_dturbulence() parameter limits.
Added an inbuilt function called f_dnoise() which provides direct access
to the source code's DNoise() function.
Fix for the polygon shape parsing restoring the checking that any z
values passed are identical for all vertex locations. Several other
degenerate shape results are now hard parsing errors rather than quietly
marking polygons as ivalid. When marked invalid they are quietly ignored
during rendering - leaving users lost as to what might be wrong.
---
The Scene Description Language function vturbulence() updated to support
the DTturbulence() scaling factor added to the yuqk fork. I had delayed
this update because I was undecided about updating its parameter order.
In POV-Ray and its documentation the order given for 'turbulence'
settings is almost universally:
<magnitude> --> octaves --> omega --> lambda (--> scale (yuqk))
The vturbulence() function was implemented switching the positions of
octaves and lamda. In yuqk, the vturbulence() parameter order is now:
vturbulence(octaves,omega,lambda,scale,3d point in space)
---
All keywords in yuqk working internal to pattern or perturbation code
now use the 'ip_' prefix; Excepting those specifically related to
turbulence, which have for some time used the internal turbulence prefix
of 'it_'.
Renamed the slope value pattern's 'altitude and 'point_at' keywords
'ip_altitude' and 'ip_point_at'.
Renamed the density_file value pattern's 'interpolate' keyword
'ip_interpolate'.
Involving the scalar value patterns: 'julia', 'magnet', 'mandel' and
'pavement'. Moved 'exponent' to 'ip_exponent'. Created the internal
pattern (ip_) keywords: ip_exterior, ip_interior, ip_pattern, ip_sides,
ip_tiles. Deleted the keywords: 'exterior', 'number_of_sides',
'number_of_tiles'.
Fix for wrinkles pattern sensitivity to small x,y,z components at the
evaluation point.
Adding 'ip_form', 'ip_offset' and 'ip_raw_return' as options for the for
the scalar value 'onion' pattern. When no options are used the behavior
is unchanged.
Fixing / adding it_scale support to the patterns 'marble', 'spiral1' and
'spiral2'. This was an oversight when the general it_scale capability
was added to turbulence in yuqk.
The leopard pattern re-written to support a new ip_form keyword for much
more control over how the pattern is generated. Results are identical if
the ip_form vector is left at the default of <1,1,1>. Where one or two
vector components are zero, the return values are more reliably in the 0
to 1 range (The pattern still squares internally so the value field is
not linear).
Moved the 'color image creation by function' internal storage to RGBFT
32 bit floats supporting positive and negative values. It had long
supported only positive 16 bit values limiting it's usefulness.
Updating few internal pattern strings to user facing names for better
error messages.
The control0, control1, flip, hi and lo pattern / perturbation keywords
have been renamed as ip_c0, ip_c1, ip_flip, ip_hi and ip_lo. The
control0 and control1 keywords exist in official POV-Ray releases for
quilted. The keywords flip, hi and lo were ones new to yuqk. The yuqk
perturbations / patterns affected are: quilted, grooved, tiled and waves.
The global_settings{} noise_generator option was removed. It was never
truly global! The old set up added overhead for all patterns. It left a
situation where sharing SDL was exposed to differences in behavior, any
time the user sharing did not lock all the noise generator use. It
limited flexibility with options like fog{} and irid{}.
Created a new 'ip_noise_generator' keyword for the patterns /
perturbations: agate, bozo, bumps, dents, granite, marble, noise_cubed,
spiral1, spiral2 and wrinkles. Made changes so the two remaining uses of
'noise_generator' now set values local to 'fog{}' and 'irid{}'. The
patterns and features mentioned here are the only ones ever affected by
'noise_generator' settings, global or not.
Changed potential pattern 'threshold' keyword to 'ip_threshold'.
Post a reply to this message
Attachments:
Download 'povray-3.8.0-x.yuqk_9871ed6e.tar.gz' (1698 KB)
|
|