[Crystal-develop] architecture
Кирилл Прохоров
2014-05-16 22:44:01 UTC
Hi guys ;) I'm just trying to compare with blender project architecture and building environment
and It's very inspiring (for example all external libraries are included in a folder so you don't need to test and download different versions of them)

For graphic system of Ares perhaps it can be useful
 cause MVC is really most popular now

Again in general it may be more practical to use blender menus-buttons library rather than wxWidgets (perhaps it would be more crossplatform)
Integrating blender visual interface source has also advantage of python plugins.
КОрОлл ПрПхПрПв
Christian Van Brussel
2014-05-21 16:50:16 UTC
The cseditor framework (in the branch "CSEditing/trunk") is actually
heavily based on the Blender architecture and user interface.

We already thought about using the Blender framework instead of this new
one we are building from scratch. Here is an excerpt from a discussion
between Jorrit, Sueastside and me, back in April 2013:


"with the cseditor framework, we are actually copying the behavior of
the Blender GUI. We spend quite a lot of time trying to achieve the same
set of functionalities that Blender offers, and we still need a lot of
GUI widgets suitable for the edition of our 3D concepts.

The (GPL) Blender software already offers all of that. We might build
our own editor on top of the Blender C++ framework and use it to manage
our windows/widgets/plugins (that is only the core of the Blender
editor, most of the Blender relevant plugins would be removed). We would
write our own plugins dedicated to CS in Python which has some

And comments from Sueastside:

"Well its goal from the start was to mimic Blender's concepts to make
development of new panels/operators easy (and portable from blender), so
if you think we're copying blender, we're on the right track :D

But seriously, at the time I made Anvil, I somewhat dismissed the idea
of using blender as a framework;
it being C
it being big
it changing a lot api wise (2.4->2.5->2.6 had a LOT of changes, dunno
how stable they are now)

But I agree it could have its merits, but it also leaves me with a
couple of questions;
How modular is blender about this, can we just use the gui/python
bindings/panels/operator parts or is it very tightly integrated with the
rest of the code?(rna/dna would be a large chunk to pull in)
Who would and is it worth while to maintain a blender-fork?
Would CS' opengl context integrate nicely in their view system? (their
gui being opengl as well)(or would their views be too tightly integrated
in their draw loop)

I guess most questions could be answered by taking a good look at their
code, maybe even try to pull of a PoC...see how feasible it really is."

So if you are interested in that topic, feel free to have a look at that