|
|
Using this time an environmental HDRI from:
https://polyhaven.com/a/photo_studio_loft_hall
in a scene to demonstrate other povr changes made - or still in progress
- for the past 4-5 months. The pertinent code for the attached image is:
//-------------
//...
#macro ImageMap00(_HF)
#if (_HF=0)
image_map { getenv("HDRI")
#else
getenv("HDRI")
#end
#if (_HF=0)
map_type 1
interpolate 2
}
#end
#end
#declare PigSkySph = pigment { ImageMap00(0) }
#declare SkySphere00 = sky_sphere {
pigment { PigSkySph }
amplify rgb <1,1,1>
}
#declare Fin00 = finish {
amplify 0
reflection { 0.7 0.9 fresnel amplify 1 metallic 1 }
intensity_max 1
}
#declare Sph00 = sphere {
0, 0.7
texture {
pigment { rgb <0.81,0.74,0.11> }
finish { Fin00 }
normal { bevy 0.03125 type 9 } // inbuilt micro normal
}
interior { ior 1.5 }
}
//--- scene ---
sky_sphere { SkySphere00 }
camera { Camera00 }
object { Sph00 }
object { Sph00
finish {Fin00 intensity_max 0}
translate <-0.9,+0.9,-0.7>
}
object { Sph00
finish {Fin00 intensity_max -1}
translate <+0.9,-0.9,+0.7>
}
The finish items which are new (or changed) are amplify, intensity_max
and that reflection no longer supports the old, non-block / non-brace
bound form.
The amplify concept partially exists today, but under different keyword
names - sky_spheres like background always emit so 'emission' is a color
vector multiplier. With interior fade the old 'refraction' keyword was
the multiplier. In povr many of these have been changed to 'amplify' and
'amplify' has been added to more - but not yet all - functional blocks.
The intensity_max keyword is mostly new(1) and again has been added to
many - but not all - blocks / trace operations. Primarily, what
intensity_max does is shown in the attached image. With the upper left
sphere intensity_max is 0 and so off. With the middle sphere it's 1.0
and color vectors are not clamped, but rather constrained to a [0..1]
range. In the lower right it's -1, where - when if finds color channel
values generated outside the 0-1 range - it attempts to mangle the
colors returned in way to indicate render regions where the color vector
will get clipped on conversion to most output image formats(2).
The thinking is amplify and intensity_max would be used together to
better isolate and control the components of any given ray color result.
(1) - Radiosity max_sample exists and I've not (yet?) renamed it.
(2) - Tricky! It's perhaps not possible to do in ways always easily
visible. I've tried many approaches and I'm using a couple of those
currently depending on what information the local code has in hand.
The scene file uses a couple of other new-ish features in getenv("HDRI")
and the micro normal bevy pattern 9. The latter still to be changed to a
named normal only pattern called, I guess, 'micro' - or something? Its
aim is to implement the inbuilt micro normal stuff folks have been
hacking in some fashion for many years. An aim was coding it in a way
which leads AA to help achieve a blurred result. It's just noise where
the magnitude of the overall micro 'blur' is controlled by the bump_size.
Bill P.
Post a reply to this message
Attachments:
Download 'micronreflection.jpg' (294 KB)
Preview of image 'micronreflection.jpg'
|
|
|
|
William F Pokorny <ano### [at] anonymousorg> wrote:
> Using this time an environmental HDRI from:
>
> https://polyhaven.com/a/photo_studio_loft_hall
>
> in a scene to demonstrate other povr changes made - or still in progress
> - for the past 4-5 months. The pertinent code for the attached image is:
>
[...]
> The scene file uses a couple of other new-ish features in getenv("HDRI")
> and the micro normal bevy pattern 9. The latter still to be changed to a
> named normal only pattern called, I guess, 'micro' - or something? Its
> aim is to implement the inbuilt micro normal stuff folks have been
> hacking in some fashion for many years. An aim was coding it in a way
> which leads AA to help achieve a blurred result. It's just noise where
> the magnitude of the overall micro 'blur' is controlled by the bump_size.
>
> Bill P.
..... Drooling ! Thanks for keeping up all your work.
Post a reply to this message
|
|