c4d_videopostdata.h File Reference

Classes

struct   BaseVideoPostStruct
struct   PixelPost
struct   GlobalIlluminationInformation
struct   StereoCameraInfo
struct   MotionInfo
class   VideoPostData

Macros

#define  VPBUFFER_RGBA
#define  VPBUFFER_AMBIENT
#define  VPBUFFER_DIFFUSE
#define  VPBUFFER_SPECULAR
#define  VPBUFFER_SHADOW
#define  VPBUFFER_REFLECTION
#define  VPBUFFER_TRANSPARENCY
#define  VPBUFFER_RADIOSITY
#define  VPBUFFER_CAUSTICS
#define  VPBUFFER_ATMOSPHERE
#define  VPBUFFER_ATMOSPHERE_MUL
#define  VPBUFFER_ALLPOSTEFFECTS
#define  VPBUFFER_IMAGEBUILDING_PASS
#define  VPBUFFER_DEPTH
#define  VPBUFFER_MAT_COLOR
#define  VPBUFFER_MAT_DIFFUSION
#define  VPBUFFER_MAT_LUMINANCE
#define  VPBUFFER_MAT_TRANSPARENCY
#define  VPBUFFER_MAT_REFLECTION
#define  VPBUFFER_MAT_ENVIRONMENT
#define  VPBUFFER_MAT_SPECULAR
#define  VPBUFFER_MAT_SPECULARCOLOR
#define  VPBUFFER_ILLUMINATION
#define  VPBUFFER_OBJECTBUFFER
#define  VPBUFFER_POSTEFFECT
#define  VPBUFFER_POSTEFFECT_MUL
#define  VPBUFFER_AMBIENTOCCLUSION
#define  VPBUFFER_MAT_NORMAL
#define  VPBUFFER_MAT_UV
#define  VPBUFFER_MOTIONVECTOR
#define  VPBUFFER_SAMPLER
#define  VPBUFFER_BLEND
#define  VPBUFFER_LIGHTBLEND
#define  VPBUFFER_ALPHA
#define  VPBUFFER_BLENDCH
#define  VPBUFFER_REFLECTION_FOLDER
#define  VPBUFFER_REFLECTION_LAYER
#define  VPBUFFER_SPECULAR_FOLDER
#define  VPBUFFER_SPECULAR_LAYER
#define  VPBUFFER_DIRECT_DIFFUSE
#define  VPBUFFER_INDIRECT_DIFFUSE
#define  VPBUFFER_DIRECT_SPECULAR
#define  VPBUFFER_INDIRECT_SPECULAR
#define  VPBUFFER_AOV
#define  VPBUFFER_REFLECTANCE_ALBEDO
#define  VPBUFFER_MAGICBULLETLOOKS
#define  VPlenseffects
#define  VPobjectglow
#define  VPcolorcorrection
#define  VPcomic
#define  VPscenemotionblur
#define  VPsoftfilter
#define  VPsharpenfilter
#define  VPmedianfilter
#define  VPremote
#define  VPopticsuite_depthoffield
#define  VPopticsuite_glow
#define  VPopticsuite_highlights
#define  VPambientocclusion
#define  VPxmbsampler
#define  VPGPURenderer
#define  VPToneMapping
#define  VPDenoiser
#define  VPdemowatermark
#define  VPbloom
#define  VPMagicBulletLooks
#define  VPPRIORITY_OBJECTGLOW
#define  VPPRIORITY_OBJECTMOTIONBLUR
#define  VPPRIORITY_DEPTHOFFIELD
#define  VPPRIORITY_LENSEFFECTS
#define  VPPRIORITY_BLOOM
#define  VPPRIORITY_FILTERSOFT
#define  VPPRIORITY_FILTERSHARPEN
#define  VPPRIORITY_FILTERMEDIAN
#define  VPPRIORITY_MAGICBULLETLOOKS
#define  VPPRIORITY_WATERMARK
#define  VPPRIORITY_COMIC
#define  VPPRIORITY_COLORCORRECTION
#define  VPPRIORITY_SCENEMOTIONBLUR
#define  VPPRIORITY_EXTERNAL
#define  PLUGINFLAG_VIDEOPOST_MULTIPLE
#define  PLUGINFLAG_VIDEOPOST_INHERENT
#define  PLUGINFLAG_VIDEOPOST_ISRENDERER
#define  PLUGINFLAG_VIDEOPOST_STEREO_EDITOR
#define  PLUGINFLAG_VIDEOPOST_STEREO_RENDERING
#define  PLUGINFLAG_VIDEOPOST_STEREO
#define  PLUGINFLAG_VIDEOPOST_ISRENDERER_NET
#define  PLUGINFLAG_VIDEOPOST_MULTIPASS
#define  PLUGINFLAG_VIDEOPOST_STATIC
#define  PLUGINFLAG_VIDEOPOST_OFFBYDEFAULT
#define  MSG_VIDEOPOST_TIMESHIFT
#define  MSG_GLOBALILLUMINATIONINFORMATION
#define  MSG_VIDEOPOST_SETPREVIEW_VIEWPORT
#define  MSG_VIDEOPOST_SETPREVIEW
#define  RENDERPROPERTY_CLUSTERFRAGMENTS
#define  RENDERPROPERTY_BUCKETOVERLAP

Enumerations

enum   VIDEOPOSTCALL {
   FRAMESEQUENCE ,
   FRAME ,
   SUBFRAME ,
   RENDER ,
   INNER ,
   TILE
}

函数

enum VIDEOPOSTCALL   MAXON_ENUM_LIST ( VIDEOPOSTCALL )
Bool   RegisterVideoPostPlugin ( Int32 id, const maxon::String &str, Int32 info, DataAllocator *g, const maxon::String &description, Int32 disklevel, Int32 priority)

变量

  FRAMESEQUENCE
  FRAME
  SUBFRAME
  RENDER
  INNER
  TILE
struct BaseVideoPostStruct   MAXON_ENUM_LIST

Macro Definition Documentation

◆  MSG_VIDEOPOST_TIMESHIFT

#define MSG_VIDEOPOST_TIMESHIFT

Internal .

◆  MSG_GLOBALILLUMINATIONINFORMATION

#define MSG_GLOBALILLUMINATIONINFORMATION

Called when global illumination and caustic video post effects. The corresponding data is GlobalIlluminationInformation .

◆  MSG_VIDEOPOST_SETPREVIEW_VIEWPORT

#define MSG_VIDEOPOST_SETPREVIEW_VIEWPORT

Called to request Magic Bullet Looks Video Post to set the preview image from the current image in Viewport.

由于
R23

◆  MSG_VIDEOPOST_SETPREVIEW

#define MSG_VIDEOPOST_SETPREVIEW

Called to request Magic Bullet Looks Video Post to set the preview image with the image provided in the message data.

由于
R23

Function Documentation

◆  RegisterVideoPostPlugin()

Bool RegisterVideoPostPlugin ( Int32   id ,
const maxon::String str ,
Int32   info ,
DataAllocator g ,
const maxon::String description ,
Int32   disklevel ,
Int32   priority  
)

Registers a video post plugin.

参数
[in] id A unique plugin ID. Must be obtained from http://www.plugincafe.com
[in] str The name of the plugin.
To affect the order that plugins are displayed in menus add "#$n" as a prefix to this name, where n is a number.
Lower numbers are displayed before higher numbers. If name is "--" it will show up as a menu separator.
[in] info The video post plugin info flags: PLUGINFLAG_VIDEOPOST PLUGINFLAG
[in] g The allocator for the video post plugin. This is a pointer to a function that creates a new instance of VideoPostData with NewObj() .
[in] description The name of the description resource file to use for the material plugin without .res extension, for example "VPeffectname" .
The name has to be unique, i.e. "Tdisplay" cannot be used for 2 different descriptions. See 描述 Resource for more information.
[in] disklevel The plugin level is similar to a version number. The default level is 0 .
Increase this for new revisions of a plugin to allow for forward and backward compatibility.

As an example you may have updated a plugin. If you now need to write additional information for new settings or changed types for old settings increase the level.
During loading either a 0 is passed (if the file was written by the old plugin) or 1 (if the file was written by the new plugin). This allows to easily write/read new values.
For forward and backward compatibility to work any existing read order from a given level must not be changed. Cinema 4D skips any new settings automatically if they have not been read.

disklevel is only useful if variables are written/read in NodeData::Write / NodeData::Read .
[in] priority The priority of the video post plugin. Higher priority values are called before lower values. The priorities of the internal video post processing are: VPPRIORITY
For example, to filter between glow and depth of field then priority has to be set between VPPRIORITY_OBJECTGLOW and VPPRIORITY_DEPTHOFFIELD.

Though all video post effects will be sorted by priority, an effect overriding for example VideoPostData::ExecutePixel will always be called before one using VideoPostData::ExecuteLine .
Also VideoPostData::ExecuteLine will always be called before VIDEOPOSTCALL::INNER+ open == false .
This should be logical as VideoPostData::ExecutePixel will be instantly called after a sub-pixel has been calculated and VideoPostData::ExecuteLine instantly after a line has been calculated.
返回
true if the video post plugin was registered, otherwise false .

Variable Documentation

◆  FRAMESEQUENCE

FRAMESEQUENCE

Called when the renderer prepares to render a sequence of images.

◆  FRAME

FRAME

Called when the renderer prepares to render a frame.

◆  SUBFRAME

SUBFRAME

Called when the renderer prepares to render a subframe.

◆  RENDER

RENDER

Called before the rendering process starts and before shaders are initialized.

◆  INNER

INNER

Called immediately before rendering starts.

◆  TILE

TILE

Called immediately before rendering a bucket.

由于
R16

◆  MAXON_ENUM_LIST

struct BaseVideoPostStruct MAXON_ENUM_LIST