Corona Renderer Alpha 4 is released (possible Blender integration in the future)

Corona is a render engine for 3ds Max but the API is made to be accessible for other software as well. If someone wants to have a go at making a Blender plugin they can speak to the developer and get an SDK.

Some of the supported features are:

Full 3ds MAX integration
Unbiased rendering with path tracing, light tracing, and bidirectional path tracing
Biased rendering with irradiance cache, secondary cache, and regular/progressive photon mapping
Corona material supporting: diffuse, reflection, refraction, translucency, opacity, bump mapping, displacement, emission, and anisotropy
Physical sun & sky, area lights, and fast geometry lights
Physically correct depth of field and motion blur simulation
Progressive and bucket rendering modes
Own simple and fast scattering and proxy plugins, custom texmaps

Major new features

  • New Virtual Frame Buffer, with better desing and functionality
  • Optional Light portals, for speeding up rendering of scenes with small windows
  • Better system of artistic control fakes (selective visibility of objects)
  • New robust algorithms for rendering caustisc (toy implementation, generally not usable in production):
    • Bidirectional Path tracing
    • Vertex Connection and Merging,
    • Light tracing,
    • Progressive Photon Mapping
  • Windows Vista support (again)
  • Option to autosave renders during and at the end of rendering
  • GUI layout for settings and texmaps reworked

On a side-note they also have a benchmark ready so that you can test your CPU.
http://corona-renderer.com/stuff/a4-benchmark

No one can ever say that there aren’t enough choices for unbiased renderers :wink: I say, the more the merrier! Someone will always do something new that others can take cues from!

I dont understand why the game related renderers moved from here…

vote for integration in blender. http://corona-renderer.com/forum/index.php/topic,238.0.html

Sorry for the bump but the API has been released (and can be found here: http://corona-renderer.com/forum/index.php/topic,784.0.html)

However integration into Blender was stopped by the GPL license so we will probably never see it as a plugin for Blender, which is a shame because Blender was their first choice for integration.

tl;dr: The “Free” licence of Blender forbids me to make Corona plugin for it. There will not be any Corona for Blender for a long time.

<rant>
Right now, I am deciding which application to implement Corona into next. The implementation will start right now, since there is a guy who will do it as a thesis assignment. We went over the software and decided to do Blender, since we thought it is “free”, “open”, etc., so it should be simple to integrate into.

We were wrong.

Because entire Blender is covered by GPL licence, it is forbidden to link anything closed-source to it (not just commercial as in “you pay for it”, but anything closed-source, which includes “it is free to use, but I won’t give you my source code”). Making Corona opensource software (OSS) is out of question for me, I need to make it commercial to be able to fund its future development.

We thought there were some loopholes, but it turns out the “Free” Software Foundation thought about them too and explicitly forbidden them. So, to make a commercial plugin for blender, one has to either do the “exporter + standalone” combo, which I want to stay away from, because it is slow and clumsy, or do even more ridiculous workarounds, which will be as slow and clumsy as exporter version (This is what V-ray is doing). Basically, the plugin for the 3D application would have to be split into two, one OSS and other closed-source, and the two would have to communicate via sockets/files/pipes (which is slow). The sole reason for the split is the licencing issue.

So, Blender has unusable licence. That is fine, any software developer is entitled to the choice of licence. If somebody wants to make a 3D studio legally usable only while not wearing underwear, he should be able to do it. What makes me angry is the whole FREE software ideology/advertisement. FSF goes on and on about “protecting users freedom”. Their interpretation is:

  • being able to choose from free plugins: freedom
  • being able to choose from the same free plugins, plus also commercial plugins: less freedom.
  • Forbidding Corona renderer for Blender is freedom. Allowing it would make Blender less free.

I am not saying the OSS concept is wrong. There are other, much better and really free licences, like MIT/Apache/… If Blender would use any of them, we would start Corona for Blender right now. Too bad it uses the GPL bullshit. I feel bad for Blender users, because they will never have any fully-integrated commercial renderer plugin :/.
</rant>

It’s a real bummer when the GPL license restrictions rear their ugly heads, and this isn’t the first time it’s happened. Unfortunately I believe that in order to change the licence, permission would have to be gained from literally every single person who has ever contributed to Blender’s source code. That would be quite the task.

On a related note, I really think OTOY and the Octane devs should share whatever way they claim to have discovered to get around this limitation.

I strongly object against this misinterpretation of the GPL license.

It’s not a limit of the GPL, but a clear limit of commercial software vendors who choose to lock up stuff. They want to play the “we keep everything ourselves” game, and then blame others who choose to be open?

The good side of GPL - and how it worked for Blender very well - is that it requires to stay entirely “free”. That’s all.
Once you start polluting that with commercial components, it would end up in no time in a cripple product where users have to pay for every cool and useful module.

Everyone should read their commercial licenses once carefully, and really get scared about the horrible limitations they impose on you as a user. Autodesk is infamous for it, and I wouldn’t be surprised if Corono would just follow the same limitations.

-Ton-

Except this has nothing to do with keeping the Blender software free and uncrippled, but how it communicates with other software, effectively limiting the use of blender in a pipeline. Another glaring example is the FBX-format. Autodesk may be “evil” and not playing nice, but at least it´s playing well with other software. :wink: That´s just my 2c. All respect to you Ton, though, and I respect your stance, if it keeps Blender free. :slight_smile: I just dont think the case for against GPL is as clearcut as you do.

I will surely be flamed by Blender fanboys, of course…

@BrilliantApe, it is related to keeping blender free and uncrippled, even though in this context I can see its not immediately obvious.
The moment you allow linking with closed source code, it means you can end up depending on commercial components. Someone could for example add a modifier that uses their own closed source libraries - if theres a bug it means we cant fix it. When we do a release we have to ask them to update for new os’s etc.

IMHO this is mostly a case of incompatible licensing - which is annoying but I wouldn’t blame GPL or closed-source-software, There are incompatible opensource licenses too.

Check on my notes on FBX and Autodesk licenses:
http://wiki.blender.org/index.php/User:Ton

FBX just and only plays nice if everyone agrees on locking up their software and register at Autodesk and give up essential rights to share software. That is “playing nice” in a closed environment only.

The simple answer would be just to have an Open FBX, with BSD or any other commercial-friendly license. That is for Autodesk to decide, but then they would be “playing nice” for real, for both open and closed environments.

It probably wouldn’t hurt to try to get parts of Blender changed to a more permissive license (even if the only reason is to gain compatibility with other licenses used by free libraries such as OpenSubDiv which its incompatibility is one reason why Psy-Fi is looking at custom methods).

The risk though is what Ton outlined, people start making powerful modules for Blender that you might have to spend perhaps upwards of 100 USD or Euros to get access to, case in point the situation with some commercial software where you see a noticeable chunk of your expenses being the purchase of commercials addons.

In any case, it would be rather nice if the Blender devs. eventually focused on reducing the number of libraries that Blender needs through things like custom implementations and the like, Blender has ballooned in size in the last several years and this would ultimately allow more specific control over how some features are implemented. Also, the furor over the prospect of not being able to use engines like this should hopefully die down a bit once the optimizations planned for the Cycles engine start streaming in (which is one of the main concerns regarding it as of now).

No for 2 reasons

  1. if blender was entirely permissive licenses, we still depend on enough GPL 3rd party libs, that we would still be effectively GPL. (check extern/ dir - Eigen3, carve, colamd… there are some others too)
  2. OpenSubDiv license has patent restrictions that (even if they are GPL compatible, not sure of this…), are onerous enough to put companies off using it.

you can mix GPL-software with commercial.
but this must work as optional plugin.

ths is nearly perfect for blender.
they must publish only python-scrips as “source code”, but with custom licence.
no files must published as gpl-code

i do not see any problem.
a small slowdown during data transfer to binary using python is acceptable.

yafaray do a good job without temporary files (pipes?)

Well call me crazy but I really don’t see anything negative with people developing commercial plugins/modules for Blender. It’s not like you HAVE to buy it, you could still do pretty much everything with the “default” Blender today. You’d just have the option to get additional stuff to get the job done faster.

I am not using Blender because it’s free, I use it because I like it and I donate money to the foundation frequently and I am subscribed to the development fund so I practically pay to use Blender. I use 3Ds Max as well and let’s be honest here, the only reason that you use Max is because of the plugins and I’d rather shell out 100$ for a good Blender plugin than $3,700 for Max and then the additional money for the plugin even if it is considerably cheaper for Max.

I love that Blender is free and I want it to continue to be so but I don’t think that it is a good idea to restrict the user only to free software just because Blender happens to be free. That’s not really the right mindset if you want Blender to be widely accepted in the CG industry.

Well, if I gather what Campbell is saying, I guess it’s all a matter of whether it’s worth having to find more permissive libraries to use should the Blender license change.

You have the GPL license for example, that allows free use with other GPL libraries, but eliminates use with commercial libraries. Contrary to that, a permissive license allows free use with commercial libraries, but eliminates the ability to use GPL libraries. In this case, I personally do not know if there is an equivalent to all the GPL libraries being used that don’t charge for their use.

I’m not opposed to seeing pay-for plugins for Blender, this makes me wonder if it would be possible to create a python encryption package that would allow people to sell Python plugins without giving users access to the code (similar to the BPPlayer for the game engine, only for addons).

On a final note, changing the license brings us to a more onerous scenario where it might be possible for a company to create a fork of the Blender project, fix all of the weak points of Blender like the viewport, and charge a high amount for it. (‘Super Blender’, everything that the FOSS version has + hundreds of professional-grade tools and other features, buy it now for 1000 USD. Never worry about the FOSS project again because we will copy over every line of code whenever it releases)

I am in agreement with NinthJake. In my opinion no plugin or addon that uses a commerical library should be able to be part of the Blender source code itself, but I don’t believe that by its virtue of being free that Blender should preclude users from directly integrating with it and hoping to make a profit off of the fruits of their labor. It might make people feel dirty, but money does tend to run things, and a lot of great talent would probably come into the addon scene if they thought they had the possibility to earn some money.

Of course, this is all conjecture. Blender is GPL, and I don’t see that changing any time soon.

I noticed Zalamander posted an interesting story in the other thread mentioning copyleft, to me it suggests that the possibility of Blender’s license going more permissive will fit well, because the GPL in general is in decline and even Ton and co. have before decided not to move to GPL V3.

If Ton himself would rather keep most of the things stated by the GPL, then I don’t see why the BF can’t construct its own license tailored for Blender, which will allow the sale of addons while not allowing any pay-for components in the source-code itself.

Since it’s a high possibility that we won’t be able to reach all of the developers throughout Blender’s history (perhaps over time, but not likely), the BF could start by re-licensing individual parts to the new custom license and let it snowball from there.

Can someone please explain why this idea wouldn’t work?

Would the Corona license, or blender’s GPL license, stop someone like me from writing a freeware addon exporter for this? The addon would export the blender scene as a Corona scene file, then call Corona with the scene file. AFAIK, this is how most external renderers work with blender. This would only be a fraction of time for what a render engine does, so it really wouldn’t matter all that much.

Randy

Nothing in the GPL prevents the creation or sale of exporter addons for external render engines. Some companies provide a free exporter. Solid Iris charges separately for their exporters. Free/community created addon exporters also exist for Vray, Maxwell and 3delight.

The complication arises when you need interactive performance in transferring data back and forth between the renderer and the blender interface rather than exporting to an external engine.

Both Otoy (Octane) and Solid Iris (Thea Render) seem to be close to having an integrated plugin for Blender so the problem is not insurmountable but it does require a more complicated approach.

Bdancers Vray exporter also has some experimental interactive features. His exporter requires a custom build of blender, and these custom additions to the source of course fall under the GPL.

@Ace Dragon, GPL in decline?, can you back this up with info?

As for there being Non GPL replacements for libs we use… perhaps, but integrating totally different libs is no small task.
Off hand - Im not aware of a good alternative to carve for example.

Didn’t you guys know Blender already is GPL3. check “intern/smoke/intern”, even though most files are version 2.
See: https://svn.blender.org/svnroot/bf-blender/trunk/blender/intern/smoke/intern/WTURBULENCE.cpp

Some of you may be find it interesting the interaction between, OpenOffice and LibreOffice,
Just as a company can take a permissive licensed sourcecode and make it closed source, Devs can also take the same code and make improvements under GPL.

In this case LibreOffice has an advantage that they can add their own improvements on top of OpenOffice but OpenOffice can’t use improvements from LibreOffice.