PixelPost Struct Reference

#include <c4d_videopostdata.h>

Public Member Functions

 PixelPost ()
 

Public Attributes

PixelFragment ** frag
 
PixelFragment ** frag_nx
 
VolumeDatavd
 
Float32col
 
Multipassmp
 
Bool aa
 
Bool valid_line
 
Int32 comp
 
Int32 cpu_num
 
Int32 xmin
 
Int32 xmax
 
Int32 line
 

Constructor & Destructor Documentation

◆ PixelPost()

PixelPost ( )

Default constructor.

Since
R17.032

Member Data Documentation

◆ frag

PixelFragment** frag

The current pixel fragment.

◆ frag_nx

PixelFragment** frag_nx

The pixel fragments for the next line. Private.

◆ vd

The current VolumeData.

◆ col

Float32* col

The buffer to the full line for VideoPostData::ExecuteLine or the sub-pixels for VideoPostData::ExecutePixel.

◆ mp

Multipass* mp

The current Multipass.

◆ aa

Bool aa

true means that antialiasing is used during rendering.
In the case of antialiasing this has an important impact on VideoPostData::ExecuteLine, using antialiasing means that each pixel is split into 4 independent sub-pixels.
In the case of VideoPostData::ExecuteLine col is the buffer to the line.
If false the line contains for each pixel comp Float values (e.g. comp==3 gives RGB components).
If true the line contains for each pixel 4 comp Float values (4 sub-pixels: first one is upper left, then upper right, then lower left, then lower right).

◆ valid_line

Bool valid_line

true means that the line has not yet been processed.
During antialiasing and multiprocessor rendering it is possible that a few lines are rendered twice.
Imagine that you have created abuffer. In VideoPostData::ExecuteLine you save the local data to the buffer which is then processed at the end of the frame.
To avoid that the same line is calculated twice valid_line is set to false after it already has been processed.

◆ comp

Int32 comp

The number of components per pixel. At least 3 (RGB), but larger values are possible. (Depending on existing special buffers, alphas etc.)
The structure of those components is stored in the Multipass structure.

◆ cpu_num

Int32 cpu_num

The current CPU.

◆ xmin

Int32 xmin

The left value of the rendered line (main pixel units, no sub-pixels).

◆ xmax

Int32 xmax

The right value of the rendered line (main pixel units, no sub-pixels).

◆ line

Int32 line

The current vertical line (main pixel units).