#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.