Shader Writing and Integration
- Shader color and scalar results can be checked for illegal
not-a-number (NaN, for example the square root of a negative
number) results with -message phen debug -. NaNs typically
cause unexpected black or white pixels.
- New modes for mi_query were added:
miQ_FINALGATHER_STATE
miQ_FUNC_TAG
miQ_FUNC_CALLTYPE
miQ_PIXEL_SAMPLE
- Here is the complete list of new shader and integration
interface functions:
mi_opacity_set
mi_opacity_get
mi_shaderstate_set
mi_shaderstate_get
mi_shaderstate_enumerate
mi_finalgather_store
mi_ray_falloff
mi_ray_offset
mi_raster_unit
mi_mem_memory_limit
mi_job_memory_limit is
obsolete and was removed.
- A number of bitmap arguments of type miUlong were
changed to miUint, because miUlong is now a
64-bit integer on 64-bit platforms.
- The shader state variable dot_nd is now computed even if
the light is rejected because there is no surface, like in a volume
shader.
- The cnst array in the miApprox data structure was
changed from doubles to floats to make room for more options. This
requires a recompilation of geometry shaders that access these
fields (which is rather unlikely).
- The callback installed by the mi_disp_stream_cb_begin
integration function receives full frame buffers instead of small
rectangle-sized image scraps. The lower left pixel of each received
rectangle is now at ( xl, yl) instead of (0, 0) in the image
tag provided to the callback.
Copyright © 1986-2005 by mental images GmbH