formZ SDK | 4.0 Call Back Reference | RenderZone Shader
FZ_SHDR_CBAK_BUMP_FSET_TYPE
formZ bump shader callbacks function set id.
FZ_SHDR_CBAK_BUMP_FSET_NAME
formZ bump shader callbacks function set name.
FZ_SHDR_CBAK_BUMP_FSET_VERSION
formZ bump shader callbacks function set version.
Description
Function set for bump shaders. The functions in this set need to
be supplied by the plugin or script to implement a bump shader.
The main shader function is the fz_shdr_cbak_bump_pixel callback. It is expected
to compute the amplitude (height) of a surface pixel. Amplitude values
should be in the range of -1.0 to +1.0 or 0.0 to +1.0. larger
values can be computed, but may distort the bump effect.
Depending on whether the shader is a 2d or 3d shader, the 2d texture
space coordinate (s,t) or the 3d texture space coordinate (x,y,z)
relating to the pixel should be taken as the basis of the amplitude
computation. These coordinate values can be retrieved with the functions
(2d) or fz_shdr_get_tspace_pnt (3d). Note, that it
is not the absolute amplitude value of a pixel, that creates
a bump pattern, but the change of amplitude relative to the
neighboring pixels. If that change is small, the bumps appear
lower. If the change is rapid, the bumps appear higher.
There are required and optional functions. The required functions
are :
fz_shdr_cbak_bump_name
fz_shdr_cbak_bump_pixel
All other functions are optional, but must be supplied to
enable a certain functionality. For example, if the bump
shader has any parameters, the fz_shdr_cbak_bump_set_parameters function must be supplied.
It is also advisable to implement a fz_shdr_cbak_bump_pre_render function, if
the fz_shdr_cbak_bump_pixel function uses information which can be calculated
once and does not change during the course of a rendering.
It is important to note, that the fz_shdr_cbak_bump_pixel function is called
at least once for each pixel, potentially thousands of times
during a single rendering. The faster the fz_shdr_cbak_bump_pixel function, the faster
the rendering will be.
Availability
5.0.0.0
Functions:
fz_shdr_cbak_bump_set_parameters
Defined in