I've spent a bit of time making a new interface for the Hyperion render engine. Up until now I'd been using an 'experimental dialog', which was just a window plugin that had a bunch of different layouts for different experiments. One was a layout for the render engine, where I could do test renders. But I decided to make a self-standing interface, one that can be used like any other dialog, but just for the render engine. Here's an early design:
The black area is for the rendered images, and the grey area underneath is where the user can choose some of their preferred render settings. There's a couple of hidden groups that aren't shown as well, these include a small layout for the camera and lens settings (such as ISO and T-Stop overrides), and a layout for additional image settings (more on this in a moment). There's also an 'About' layout with some information that shows which version of the dialog and which version of the render engine are in use.
With the recent addition of an image library into the render engine, I'm going to try build some helper image functions for the user like exporting to OpenEXR or Photoshop with layers. Cinema4D can save images into many formats, but I may as well use the new library, with more recent and up-to-date save formats. It seems to be more aligned with my own data containers, and can do some routines using OpenCL to make the processing faster.
Speaking of formats and layers, I also added in a model pass to the renderer. It's like a viewport screen shot. I don't do the render using Hyperion, I use Cinema4D's built in preview renderer and convert the image into my Hyperion data format.
I need to add in the ability to render out a sequence somehow. I'm not quite sure how to tackle this yet though. My renderer interface is separate from Cinema4D's picture viewer, so I may have to add this functionality in myself. But my preference would be to have my own controls for this anyway, because there's a feature I'd like to incorporate that the native picture viewer can't do. I'll talk more on that another time, depending on how it unravels.
Lastly, I'm still finding ways to make the engine more efficient. Just little things. We're now down to under 14.384 seconds. Here's the benchmark post.