-
首页
-
C4D R23.110 C++ SDK
#include <c4d_tools.h>
公共成员函数
|
Bool
|
AllocateBuffer
(
Int32
id,
Int32
subid,
Int32
bitdepth,
Bool
visible)
|
Int32
|
AllocateBufferFX
(
Int32
id, const
maxon::String
&name,
Int32
bitdepth,
Bool
visible)
|
VPBuffer
*
|
GetBuffer
(
Int32
id,
Int32
subid) const
|
BaseContainer
|
GetRenderData
() const
|
BaseDraw
*
|
GetBaseDraw
() const
|
void
|
SetRenderData
(const
BaseContainer
&bc)
|
VolumeData
*
|
GetInitialVolumeData
(
Int32
cpu) const
|
Bool
|
SetRenderProperty
(
Int32
id, const
GeData
&dat)
|
void
|
IccConvert
(void *data,
Int32
xcnt,
Int32
components,
Bool
inverse)
|
构造函数 & 析构函数文档编制
◆
Render()
◆
~Render()
成员函数文档编制
◆
AllocateBuffer()
Allocates a videopost buffer.
-
警告
-
Must be called only within
VideoPostData::AllocateBuffers()
-
参数
-
[in]
|
id
|
The type of buffer:
VPBUFFER
|
[in]
|
subid
|
The sub-ID for the buffer type, such as the
VPBUFFER_OBJECTBUFFER
Group ID. (See Rendering in the
Cinema 4D
manual.)
|
[in]
|
bitdepth
|
The bit depth:
|
[in]
|
visible
|
true
if the buffer shall be visible to the user in the Picture Viewer.
|
-
返回
-
true
if successful, otherwise
false
.
◆
AllocateBufferFX()
Allocates a special effect buffer of type
id
.
For example, PyroCluster does the following:
pfx_mulid = render->AllocateBufferFX(
VPBUFFER_POSTEFFECT_MUL
,
GeLoadString
(IDS_GLOW_NAME2), 8,
true
);
// mul requested before normal buffer
pfx_id = render->AllocateBufferFX(
VPBUFFER_POSTEFFECT
,
GeLoadString
(IDS_GLOW_NAME), 8,
true
);
-
警告
-
Must be called only within
VideoPostData::AllocateBuffers()
-
参数
-
[in]
|
id
|
The type of effect buffer:
VPBUFFER_POSTEFFECT
or
VPBUFFER_POSTEFFECT_MUL
.
|
[in]
|
name
|
The buffer name.
|
[in]
|
bitdepth
|
The buffer bit depth.
|
[in]
|
visible
|
true
if the buffer shall be visible to the user in the Picture Viewer.
|
-
返回
-
The special effect buffer ID.
The ID returned needs to be passed later on to
Render::GetBuffer()
, which can return
nullptr
either if the buffer could not be allocated or if the user did not add the Post-effect Multipass.
◆
GetBuffer()
Gets a videopost buffer.
-
参数
-
[in]
|
id
|
The type of buffer:
VPBUFFER
|
[in]
|
subid
|
The sub-ID for the buffer.
Some buffers share the same ID (Object buffers for instance. Sub-IDs are used to discern between buffers then).
|
-
返回
-
The videopost buffer.
Cinema 4D
owns the pointed videopost buffer.
◆
GetRenderData()
Gets the render data. This is a container with the same values as used in the
RenderData
class.
-
注意
-
Some flags are only set in this container, for example when rendering using the "Render Only Active Object" button.
-
返回
-
The render settings.
◆
GetBaseDraw()
Gets the
BaseDraw
associated with this rendering.
-
返回
-
The class or nullptr in case of an error.
◆
SetRenderData()
Sets the render data.
-
参数
-
[in]
|
bc
|
The render settings.
|
◆
GetInitialVolumeData()
Retrieves a
VolumeData
structure for every CPU processor. Needed when multiprocessing in a videopost plugin.
-
警告
-
The returned volume data is only valid in
VIDEOPOSTCALL::INNER
.
-
参数
-
-
返回
-
The volume data for processor
cpu
.
Cinema 4D
owns the pointed volume data.
◆
SetRenderProperty()
Sets render properties.
-
参数
-
[in]
|
id
|
The property to set:
RENDERPROPERTY
|
[in]
|
dat
|
The render property value.
|
-
返回
-
true
if successful, otherwise
false
.
◆
IccConvert()
void IccConvert
|
(
|
void *
|
data
,
|
|
|
Int32
|
xcnt
,
|
|
|
Int32
|
components
,
|
|
|
Bool
|
inverse
|
|
)
|
|
|
Converts a number of pixels from render color space to output color space or the other way around.
-
参数
-
[out]
|
data
|
The pixel buffer. The caller owns the pointed buffer.
|
[in]
|
xcnt
|
The number of pixels.
|
[in]
|
components
|
The number of pixel components (
3
for RGB,
4
for RGBA, etc.)
|
[in]
|
inverse
|
true
for conversion from render to output color space, or
false
to convert from output to render color space.
|
const String & GeLoadString(Int32 id)
#define VPBUFFER_POSTEFFECT
Post effect channel.
定义:
c4d_videopostdata.h:142
#define VPBUFFER_POSTEFFECT_MUL
Post effect (multiply) channel.
定义:
c4d_videopostdata.h:143