#include <c4d_shader.h>
These values have to be filled by custom illumination models:
VPBitmap** bmp |
Internal . An array of @ref cnt VPBitmaps.
Int32 * ind |
The index into the components for all layers.
范例:
Float * result |
The result of all components.
Int32 cnt |
The number of layers, for instance 1 for the main RGB layer.
Int32 cmp |
The number of components.
向量 ** diffuse |
The diffuse components.
Int32 diffuse_cnt |
The number of diffuse components.
向量 ** specular |
The specular components.
Int32 specular_cnt |
The number of specular components.
向量 ** shadow |
The shadow components.
Int32 shadow_cnt |
The number of shadow components.
RayLight ** light |
The array of the lights that create special light buffers. For example, if you render out a diffuse/specular pass for each light source all those lights will be listed here.
Int32 light_cnt |
The number of lights.
Float ** ochannel |
The object buffers, filled by
Cinema 4D
. An array of
ochannel_cnt
Float pointers.
Each Float* directly points to the value of the object buffer.
Int32 * ochannelid |
The channel ID of the object buffer.
Int32 ochannel_cnt |
The number of object buffers.
向量 * vp_ambient |
The attenuated ambient from all lights plus self illuminating part for the current pixel.
向量 * vp_diffuse |
The diffuse illumination for the current pixel.
向量 * vp_specular |
The specular illumination for the current pixel.
向量 * vp_shadow |
The shadow component for the current pixel.
向量 * vp_reflection |
The reflection component for the current pixel.
向量 * vp_transparency |
The resulting transparency for the current pixel.
向量 * vp_radiosity |
Currently a custom model cannot access radiosity/caustics so it do not need to be filled.
向量 * vp_caustics |
Currently a custom model cannot access radiosity/caustics so it do not need to be filled.
向量 * vp_illumination |
The diffuse and ambient components of the light.
向量 * vp_mat_color |
The diffuse illumination attenuation.
向量 * vp_mat_luminance |
Self illuminating part (luminance channel in the Cinema 4D material).
向量 * vp_mat_transparency |
The material transparency attenuation.
向量 * vp_mat_reflection |
The reflection attenuation (reflection channel in the Cinema 4D material).
向量 * vp_mat_environment |
The material environment attenuation.
向量 * vp_mat_specularcolor |
The material specular color attenuation.
向量 * vp_atmosphere |
The atmosphere component (fog and volumetric effects).
Float * vp_depth |
The depth value for the current pixel.
Float * vp_mat_specular |
The material specular attenuation.
Float * vp_mat_diffusion |
The material diffusion attenuation.
Float * vp_atmosphere_mul |
The atmosphere multiplier.
向量 * vp_ambientocclusion |
The ambient occlusion.
向量 * vp_mat_uv |
The UV layer.
向量 * vp_mat_normal |
The normal layer.
向量 * vp_motionvector |
The motion vector.
向量 ** rchannel |
The reflection buffer.
向量 ** schannel |
The specular buffer.
Int32 rchannel_cnt |
The number of reflections in rchannel .
Int32 schannel_cnt |
The number of specular values in schannel .
向量 * vp_direct_diffuse |
Direct diffuse from Reflectance Channel.
向量 * vp_indirect_diffuse |
Indirect diffuse from Reflectance Channel.
向量 * vp_direct_specular |
Direct specular from Reflectance Channel.
向量 * vp_indirect_specular |
Indirect specular from Reflectance Channel.
向量 * vp_reflectance_albedo |
Reflectance Channel Diffuse Albedo.
向量 * vp_magicBulletLooks |
Channel without Magic Bullet Looks effect.
向量 ** aov_channel |
The object buffers, filled by Cinema 4D . An array of aov_channel_cnt Vector pointers.
Int32 * aov_channel_id |
The channel ID of the AOV.
Int32 aov_channel_cnt |
The number of AOVs.