Custom Cycles output and custom research renderer for blender

Hello guys! I have 2 cycle/renderer related questions:

  1. Where can I get some pointers if I am intersted in modifying cycle to output more information, for things like separating the specular and diffuse component, as well as GBuffer normals/depth etc.
  2. Where can I get pointers or documentations on how to start writing a separate renderer for blender? I am interested in develop my own research renderer but using the scene/geometry/materials from the blender editor…

If here is not the write place to ask, can some one point me to the right place? I am definitely a blender newbie :slightly_smiling_face:

1 Like

Cycles has a system of render passes and AOVs that may already provide the information you need.
https://docs.blender.org/manual/en/latest/render/layers/passes.html

There’s a basic example here.
https://docs.blender.org/api/current/bpy.types.RenderEngine.html

1 Like

Thanks, for the basic custom render engine example, I noticed it is in python.

Cycle doesn’t communicate with blender via python am I correct?

Cycles does go through Python, but then also accesses data through C/C++ for performance. There is only a public Python API though.

1 Like

Wonder if you can point me the files/functions that connects blender and cycle? If you already know what they are. Thanks! :pray:

It’s all in intern/cycles/blender.

1 Like