[Bf-cycles] Cycles standalone repository

Nathan Letwory nathan at mcneel.com
Mon Nov 17 09:16:31 CET 2014

Hash: SHA1


This is a great development. I haven't been active on this list before
(shame on me), but let me start by saying that this looks to be a
quite good start from my point of view.

I have been working on a project called C[CS]?ycles [1] since May
2014. This project is to create a C API and a C# API utilising that C
API. Until now I've tried to keep my project updated manually. This
works, but is far from ideal, and takes a lot of time. So for one I'm
happy with this development.

For my usage I don't care much for CMake - I have manually crafted
solution and project files, mostly because my project is part of a
larger effort to integrate Cycles into Rhinoceros 3D, the project is
currently going by the name RhinoCycles (and will be released as open
source, most likely under Apache 2 License).

Apart from the solution and project files, the biggest patch I have
for Cycles is to not compile with the bulk of OpenImageIO - only
utility functions are used. Further Cycles is being used pretty much
as is.

I think that on longer term it would be best to have Cycles.git be a
submodule in Blender.git, where master would be more or less what
already currently master is, a standalone branch that'd be the master
for the standalone repo so that it stays easy for developers to get
and work from just that. This will simplify keeping Cycles.git
standalone a great deal.

I think that for now my workflow will be something like this:

* create fork of Cycles.git on github
* create a branch ccsycles on the fork
* make jesterKing/Cycles branch ccsycles a submodule for

Then periodically sync jesterKing/Cycles with upstream, and ensure
Cycles submodule CCSycles is correct as well. I'm not yet clear on how
to submit patches for Cycles, so any thoughts on above work flow and
submitting patches are more than welcome.

/Nathan Letwory
Developer at Robert McNeel & Associates

[1] https://github.com/jesterKing/CCSycles

On 15/11/2014 17:54, Sergey Sharybin wrote:
> Hi,
> Last few evenings i've been working on making a dedicated
> repository for Cycles renderer and at this point it seems to be
> ready for public access now, even though some more work is
> required.
> = Motivation =
> Main motivation of creating standalone repository for Cycles is to 
> simplify access for new developers who wants to hack into Cycles
> code but don't want to bother cloning the whole Blender repository
> and setting up environment for blender compilation.
> It was kind of possible to only compile Cycles from Blender
> repository as well, but that process was really tedious.
> = What repository contains =
> Repository contains the full history of Cycles, starting from the 
> original commit to the Blender SVN. This means it's possible to
> track down every change in the sources. The only thing here is that
> it's not possible to compile old sources. This is because build
> system for standalone repository was added just now and trying to
> put it somewhere in the past was rather tricky.
> Sources are mainly a direct dump from Blender, so it shouldn't be 
> difficult to keep Cycles in Blender and standalone repositories in
> sync. There are a bit of changes to build system which we'll need
> to backport to blender (namely CMake variables name convention).
> Repository contains README file which describes how to compile
> Cycles. Compilation is so called "works for me", so more tweaks are
> likely needed before compilation becomes flawless for everyone.
> *NOTE*: Windows is not supported atm! It's because of some
> dependencies which are not so clear to get. Mainly OpenGL, GLUT and
> GLEW. Don't worry, we will support Windows eventually, we just need
> to start from something!
> The repository also contains folder with .xml examples, so it's
> really easy to test render engine just after compilation.
> = Build system =
> Currently CMake is used as a build system, and likely it'll be it,
> = Where the repository is =
> It is on our server, read-only access is
> git clone git://git.blender.org/cycles.git 
> <http://git.blender.org/cycles.git>
> for write access (needs SSH key and you need to be a developer of
> the project)
> git clone git at git.blender.org:cycles.git
> To browse repository online please visit:
> https://developer.blender.org/diffusion/C/
> = Authors =
> The repository contains the file with everyone who contributed to 
> Cycles. This is somewhat common for all open source projects to
> have such a file.
> Currently this file contains authors of commits, so if someone
> submitted patch which was committed by someone else please let me
> know -- that'd be easier than reading all the commit messages
> searching for such information.
> = Synchronization with Blender =
> Ideally we'll need to have some automated way to sync changes
> between Blender and Cycles, but it is not done yet. Exact way how
> to keep things in sync i'll publish later.
> For now we can do manual synchronization, which is not THAT bad.
> = Known TODOs =
> - Windows build is not supported at this moment. - Logging option
> is exposed as an option but wouldn't work now. - Installation
> target is not tested and would need more work. - Compiled .oso
> files are not put to the final location, so manual copy is required
> for now. - Set up mailing list for commits (if we need one?)
> I'm pretty much sure i forgot to put some information in this
> email which i wanted, but the mail becomes too long already, so i'd
> rather wrap up now and answer the questions as they arrive.
> -- With best regards, Sergey Sharybin
> _______________________________________________ Bf-cycles mailing
> list Bf-cycles at blender.org 
> http://lists.blender.org/mailman/listinfo/bf-cycles

- -- 
Nathan Letwory
Version: GnuPG v1.4.10 (MingW32)


More information about the Bf-cycles mailing list