Switch render engine to Redshift (In memory)
-
Hi Guys,
I prepared a scene in memory and like to render this now with Redshift. To do this I need to switch from the standard render engine to Redshift.
A simple:
rd = doc.GetActiveRenderData() rdata[c4d.RDATA_RENDERENGINE] = 1036219 c4d.EventAdd()
Is not working and it will just use the Standard render engine, I think because I need to set the VideoPost.
I can get this by using:
def GetRedshift(rd): rs = rd.GetFirstVideoPost() while rs and rs.GetType() != 1036219: rs = rs.GetNext() return rs
And trying to set it with InsertVideoPost but no luck. Maybe I'm completely on the wrong path.
Can anybody help me do this.
Thank you!
-
Hi you need to insert the video post as shown in the C++ manual - Redshift Renderer - Set Render Engine to Redshift, adapting it to Python should be pretty straightforward.
Have a nice weekend.
Cheers,
Maxime. -
Thank you Maxime!
This was the part I needed, i was looking in the right direction.
redshiftVideoPost = c4d.documents.BaseVideoPost(PID_REDSHIFT_RENDER_ENGINE) print("RedshiftVideoPost: ", redshiftVideoPost) # Insert the Redshift video post plugin. rdata.InsertVideoPost(redshiftVideoPost)
Have a great weekend!
-
Hi @everyone,
just as an FYI, the example is slightly outdated. With
2023.0.0
or newer, there is no need to manually define a symbol for the Redshift renderer, as one can use the newly exposedVPrsrenderer
symbol (c4d.VPrsrenderer
in Python).I have updated the C++ example.
Cheers,
Ferdinand