Page MenuHome

Unify render engine compatibility
Closed, InvalidPublicDESIGN


Changes on GitHub.

Blender 2.8 is sort of a mess in terms of workflow. In Cycles, I may want to change "material" mode settings such as bloom, ssr, and sss. I have to go back to EEVEE in order to do this even if I am wanting to work on a raytracing project. So with this new UI addon I'm making called "Unifier" I hope to fix this issue by combining the options from Clay, Workbench, EEVEE, and Cycles, into one collection, so that everything can be done from one single engine. This way I can use Cycles (or possible a "Unified engine") for everything at once which will hopefully result in a better, more efficient workflow and experience.

The focus of this addon is Cycles. This is because Cycles has every other engine such as EEVEE and Workbench fully integrated into it as well as Cycles raytracing.

Known issues:
Currently, the addon moves everything to the "collections" section in the properties panel. This is only temporary and will likely change. Also, if you are using EEVEE you will lose the options in the render panel because they are moved to the Collections panel. Same with Clay. This will also change, I've only been working on the addon for two days at this point. A more elegant and simplified interface for the options may also be implemented too, but currently is not the priority. I may also be combining custom EEVEE material settings into it soon. Just not for the time being.

Version 0.1

Event Timeline

Changes on GitHub.

I've been tweaking it some and I finally have a toolbar layout working with additional access to WorkBench's shadow orientation options. The rest of EEVEE's functions will most likely be implemented in version 0.3.

Known issues:
Currently you can only change the post processing settings for EEVEE and the Clay settings and the WorkBench shadow orientation. There is no option for configuring materials in every engine, only Cycles and EEVEE. Lamps data unification is still on the TODO list currently.

Version 0.2:

Changes on GitHub.

I've done more tweaking and I've finally got a decent result. The options are inside of the toolbar (and it doesn't mess up any render panel properties). Then there are shorter naming conventions, more readable code, and a better material system. With the new material system, you can now edit materials from Cycles, EEVEE, Clay, and Workbench. The node editor is still missing all the nodes sadly, but I'll see if I can sort this out too later. I've also ported the Cycles' "Viewport" setting in the material panel over to Clay, WorkBench, and EEVEE so that you can easily change this option from there too. I also removed the Specular and the Alpha options (for now) because the WorkBench engine doesn't support that right now.

Known issues:
There is no way of modifying lamp data from Clay or from WorkBench. In Cycles, it is not possible to edit the OpenGL (EEVEE) properties of lamps. In Cycles, the "Solid Viewport Colors" option should not be there. There is already an option for that (TODO: either remove the option from the menu or remove the old "Viewport" option which I would rather do.)

Version 0.3:

Blender crashed here before I could finish but basically, I was showing off the unified shader system and render properties system.


Changes on GitHub.

This new version unifies the lamp options so that you will have access to EEVEE's lamp options from Cycles, Clay, and Workbench. Some UI improvements have also been made as well.

Known issues:
I would like to get the node editor fully working in Clay and WorkBench. I am still deciding whether to add the "Specular" and "Color split" nodes to Cycles though because I'm prioritizing Cycles and these shaders don't actually work in Cycles. It would still be nice to have as an option though. The same "Solid Viewport Colors" problem still persists in Cycles material settings. I will likely have this bug squashed by version 0.5. The node editor system may need to wait until version 0.6 though as I don't know how much work this task will actually be. Version 0.5 will likely just be interface cleanup and bug fixing.

Version 0.4:

@Dalai Felinto (dfelinto) i know bug reports are not allowed, but this doesn't quite fit that category, sooo... all yours! :)

@Ray molenkamp (LazyDodo) Why has this task been reassigned to @Dalai Felinto (dfelinto)? Does this mean that the addon is going to be merged with the actual Blender 2.8 project?

it needs to be triaged, there a few people that triage tickets and the rules on 2.8 tickets are rather strict, no 2.8 bugs yet, this is however a community contribution, for which there are no rules, so I escalated it up to the 2.8 team they get to decide what they want to do with it.

@Ray molenkamp (LazyDodo) Thank you then! And obviously the actual developers could do this much better than me. I guess this is mainly to lay out the groundwork for them to come back in and clean up later. I still have some design ideas for the project like maybe using the 3D view header sort of like the "shading" or "overlays" panel. I just don't know how because there's no documentation yet.

I've created a GitHub for the project too. That way it may be easier to contribute if anyone is interested.

Changes on GitHub.

After recently recompiling Blender 2.8 from source, Unifier 0.4 would not work which delayed the development. I had to update a couple classes in the code as well as fix a registering issue near the end of the script. This version mostly is meant to fix a couple bugs and update the features. In version 0.6 I will try to unify node editing in Clay and Workbench as well as enabling EEVEE material editing in Cycles.

Known issues:
None that I am aware of. This release was mostly correcting issues to make future development go smoother.

TODO: Attempt to get the node editor with every node working in all engines. Explore better ways of implementing the user interface. If anyone could teach me how to use the new popover menu style, please help me with that! I would like to make this addon integrate nicely with Blender's own UI.

Version 0.5:

TODO: For version 0.6 get light probes working in Cycles. The tab appears empty. This should be an easy fix.

The node unification may take longer than anticipated. It appears to be a large project with lots of coding involved.

Changes on GitHub

After recompiling Blender 2.8, there were several broken menus, new features, and code updates that I had to patch. Almost every EEVEE post-processing filter had to be redone because they were broken to the point of being unusable and having empty menus. I finally merged the solid shading options into the Unifier tab as well as the new Material shading options. There is now a new menu entry called "Mat: Hair" as well as updated shadow options. The names in the Unifier tab have been shortened from Shade to Mat, Matcap to cap, and from Solid to Sol. Light probes can now be edited from any engine. There was an issue with lamps where you couldn't edit their EEVEE options from Cycles. Now the "OpenGL Lamp" option is available in any engine.

Known issues:
When editing lamp data, the "OpenGL Lamp" option is visible in engines that already has the option. This needs to be fixed by version 0.7. Blender 2.8 has a tendency to update so fast that the addon needs to be updated. If the addon looks broken when you use it, let me know what's wrong or missing and I'll fix it.

Fix some bugs. Try to get a popover menu working in the TopBar or in the View3D header. Try to get nodes working (This has proven to be a massive challenge. Blender throws nonstop errors at me when I try to do this. It could end up being impossible.)

Version 0.6:

@Ray molenkamp (LazyDodo) Has this been brought up with the 2.8 team? I've just fixed lots of bugs so it's probably the best time to test it. Otherwise, it may be much longer before the next release. If it is too late, they can just use version 1f693aefca0 instead.

Aaron Carlisle (Blendify) renamed this task from I will help unify Blender 2.80's engine comatibility to Unify render engine compatibility.Feb 18 2020, 6:20 PM
Aaron Carlisle (Blendify) changed the task status from Needs Triage to Confirmed.

Archiving old task, we decided not to go with this design.