#include <c4d_raytrace.h>
Public Attributes |
|
PixelFragment * | next |
PixelFragment * | cluster |
RayHitID | id |
union { | |
UInt16 mask [16] | |
UInt32 lmask [16/2] | |
}; | |
Float32 | z |
Float32 | u |
Float32 | v |
Vector32 | col |
向量 | n |
Int32 | subid |
PixelFragment * next |
The next fragment in the list.
PixelFragment * cluster |
If not
nullptr
then this pixel fragment is just a dummy for its children, stored as a linear list in 'cluster'.
The coverage masks are then automatically in the union of all children masks.
RayHitID id |
The global RayHitID structure.
UInt16 mask[16] |
The coverage mask. Each pixel fragment can cover
16*
16
sub-pixels
at maximum.
For each Y sub-pixel line the mask is stored in
PixelFragment::mask[y]
. Bit
15
it the leftmost sub-pixel,
0
is at the right.
To check for the upper left sub-pixel use
exists=PixelFragment::mask[0]&(1<<15)
.
UInt32 lmask[16/2] |
Provides wide access to the 16 elements of mask .
union { ... } |
Float32 z |
The pixel fragment's average z value as the fragment can cover a large Z area this is just a rough Z.
Float32 u |
The UV coordinates for the pixel fragment for it is first evaluated texture (several textures can be stacked, so only the first one can be stored here).
Float32 v |
The UV coordinates for the pixel fragment for it is first evaluated texture (several textures can be stacked, so only the first one can be stored here).
Vector32 col |
The color of the pixel fragment.
向量 n |
The average normal. As the fragment can cover a 'large' area this is just a rough normal.
Int32 subid |
For polygon objects this is the sub-pixel displacement ID.
For perfect sphere objects this is
true
for the back side and
false
for the front side.