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