A InitRenderStruct element is used to initialize materials and shaders for rendering. It is typically created by Cinema 4D but it can be created on demand to sample materials or shaders. See Sampling a Shader.
InitRenderStruct irs {
doc };
if (irs.linear_workflow)
ChannelData channelData;
channelData.off = 0;
channelData.scale = 0;
channelData.t =
doc->GetTime().Get();
channelData.d =
Vector { 1, 1, 1 };
channelData.n =
Vector { 0, 1, 0 };
channelData.vd = nullptr;
for (
Int32 y = 0; y < height; ++y)
{
{
const Float64 u = xFloat / widthFloat;
channelData.p.x = u;
channelData.p.z = 0.0f;
const Vector color = shader->Sample(&channelData);
const Vector transformedColor = irs.TransformColor(color).
Clamp01();
bitmap->SetPixel(
x, y, r,
g, b);
}
}
shader->FreeRender();
PyObject PyObject * v
Definition: abstract.h:297
NONE
Definition: asset_browser.h:1
PyObject * x
Definition: bytesobject.h:38
Py_UCS4 * res
Definition: unicodeobject.h:1113
OK
User has selected a font.
Definition: customgui_fontchooser.h:0
LINEAR_TO_SRGB
Linear to sRGB color space transformation.
Definition: ge_prepass.h:1
#define CHANNEL_COLOR
The color channel of a material.
Definition: c4d_shader.h:94
COLORSPACETRANSFORMATION
Definition: ge_prepass.h:502
INITRENDERRESULT
Definition: ge_prepass.h:412
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:69
Int32 SAFEINT32(Float32 x)
Definition: apibasemath.h:275
static const Float COLORTOINT_MULTIPLIER
Constant to convert from vectors color components to integers.
Definition: c4d_tools.h:26
maxon::Float64 Float64
Definition: ge_sys_math.h:58
maxon::Int32 Int32
Definition: ge_sys_math.h:51
Int32 CALC_TEXINFO(Int32 texflag, Int32 channel)
Definition: c4d_shader.h:52
maxon::Vec3< maxon::Float64, 1 > Vector
Definition: ge_math.h:140
const char const char grammar * g
Definition: parsetok.h:52
unsigned long Py_ssize_t width
Definition: pycore_traceback.h:88
const char * doc
Definition: pyerrors.h:226
constexpr Unstrided Clamp01() const
Returns a vector that is clamped to the range [0.0 .. 1.0].
Definition: vec.h:454