c4d.modules.render.BaseVolumeData

class c4d.modules.render.BaseVolumeData

Attributes

BaseVolumeData.version

[Read-only]

The version number of this class.

Type: int

BaseVolumeData.fps

[Read-only]

Frames per second.

Type: int

BaseVolumeData.ambient

Global ambient component.

Type: Vector

BaseVolumeData.time

Current time in seconds.

Type: float

BaseVolumeData.col

Set the calculated color within BaseMaterial.CalcSurface() and BaseMaterial.CalcVolumetric().

Type: Vector

BaseVolumeData.trans

Set the calculated transparency within BaseMaterial.CalcSurface(), BaseMaterial.CalcTransparency() and CalcVolumetric().

Type: Vector

BaseVolumeData.refl

Set the calculated reflection within BaseMaterial.CalcSurface().

Type: Vector

BaseVolumeData.alpha

Set the calculated alpha within BaseMaterial.CalcAlpha().

Type: float

BaseVolumeData.tray

Transmitted vector (can be modified in BaseMaterial.ChangeNormal()), only valid if shader sets VOLUMEINFO_TRANSPARENCY and only during BaseMaterial.CalcSurface().

Note

Can be None, always check.

Type: Optional[c4d.modules.render.Ray]

BaseVolumeData.rray

Reflected vector (can be modified in BaseMaterial.ChangeNormal()), only valid if shader sets VOLUMEINFO_TRANSPARENCY and only during BaseMaterial.CalcSurface().

Type: Ray

BaseVolumeData.p

The surface point, this can only be modified by BaseMaterial.Displace().

Type: Vector

BaseVolumeData.ray

The current eye ray.

Note

Is always valid.

Type: Ray

BaseVolumeData.bumpn

Surface phong and bump normal.

Type: Vector

BaseVolumeData.orign

The original surface normal.

Type: Vector

BaseVolumeData.n

The surface phong normal.

Type: Vector

BaseVolumeData.dispn

The suggested displacement direction.

Type: Vector

BaseVolumeData.dist

Distance between p and Ray.p, i.e. the ray length.

Type: Vector

BaseVolumeData.cosc

The angle beween ray vector and unbumped normal.

Type: Vector

BaseVolumeData.uvw

The surface uvw coordinates, this is invalid for volumetric shaders.

Type: Vector

BaseVolumeData.delta

This defines the radius for the area around ‘uvw’ that needs to be sampled.

Note

If you ignore this value your shader will work, but produce aliasing artefacts.

Type: Vector

BaseVolumeData.lhit

Surface identity.

Type: ptr

BaseVolumeData.ddu

U direction vector perpendicular to n; can be used for bump mapping if VOLUMEINFO_DUDVREQUIRED is set.

Type: Vector

BaseVolumeData.ddv

V direction vector perpendicular to n; can be used for bump mapping if VOLUMEINFO_DUDVREQUIRED is set.

Type: Vector

BaseVolumeData.raydepth

The depth of the actual ray.

Type: int

BaseVolumeData.calc_trans

Specifies, if transparency will be rendered.

These values are:

0

No transparency.

1

No refractions.

2

Full calculation.

BaseVolumeData.calc_refl

Specifies, if reflections will be rendered.

These values are:

0

No reflection.

1

Only sky/floor.

2

Full calculation.

BaseVolumeData.calc_shadow

Specifies, if shadows will be rendered.

Type: bool

BaseVolumeData.calc_illum

Specifies, if illumination will be rendered. If this value is ‘0’ then BaseMaterial.CalcSurface() should directly return the surface color without illumination (also, no bump mapping is needed in ChangeNormal etc.). this technique is used for some types of objects like the sky. Illuminance1 automatically takes care of calc_illum.

Type: int

BaseVolumeData.calc_mip

Specifies, if mip calculations will be done. If this value is ‘0’ then no mip mapping needs to be calculated. ‘calc_mip’ can in some cases be False - even if the shader sets VOLUMEINFO_MIPSAT. If calc_mip == False you should not access MIP/SAT variables such as delta etc.

Type: int

BaseVolumeData.pp

MIP corner points in global space.

Note

Only valid if VOLUMEINFO_MIPSAT is set.

Type: Tuple[c4d.Vector, c4d.Vector, c4d.Vector]

BaseVolumeData.nn

MIP normals of the three other corner points.

Note

Only valid if VOLUMEINFO_MIPSAT is set.

Type: Tuple[c4d.Vector, c4d.Vector, c4d.Vector]

BaseVolumeData.raybits

Ray information, these values are:

RAYBIT_NONE

None.

RAYBIT_REFLECTION

Ray chain contains a reflection ray.

RAYBIT_TRANSPARENCY

Ray chain contains a transparency ray (refractions are not contained).

RAYBIT_REFRACTION

Ray chain contains a refraction ray.

RAYBIT_CUSTOM

Ray chain contains a custom ray.

RAYBIT_CURR_REFLECTION

Current ray is a reflection ray.

RAYBIT_CURR_TRANSPARENCY

Current ray is a transparency ray.

RAYBIT_CURR_REFRACTION

Current ray is a refraction ray.

RAYBIT_CURR_CUSTOM

Current ray is a custom ray.

RAYBIT_VOLUMETRICLIGHT

Current ray is used to calculate a volumetric light.

RAYBIT_ALLOWVLMIX

Custom mixing of visible light sources allowed for the ray; bit must be deleted by shader if used.

RAYBIT_GI

Current ray is a Global Illumination ray.

RAYBIT_BLURRY

Current ray is a blurry ray.

RAYBIT_SSS

Current ray is a subsurface scattering ray.

RAYBIT_AO

Current ray is an Ambient Occlusion ray.

RAYBIT_COMPOSITING

Current ray is a compositing ray.

Type: int

BaseVolumeData.recursion_id

The plugin ID of data passed through recursion.

Type: int

BaseVolumeData.back_p

The backprojected point (StickTextureTag) will be generated if the shader sets the flag VOLUMEINFO_TRANSFORM or SHADERINFO_TRANSFORM if it is a channel shader.

Type: Vector

BaseVolumeData.back_delta

This the ‘spot size’ (MIP mapping value) for the backprojected point. The backprojected point (StickTextureTag) will be generated if the shader sets the flag VOLUMEINFO_TRANSFORM or SHADERINFO_TRANSFORM if it is a channel shader.

Type: Vector

BaseVolumeData.global_mip

The global MIP scale.

Type: float

BaseVolumeData.sid

Sub polygon ID (only used for SPD).

Type: int

BaseVolumeData.par_u

Barycentric U coordinate (only used for SPD).

Type: float

BaseVolumeData.par_v

Barycentric V coordinate (only used for SPD).

Type: float

Inheritance

Child Class: