RenderMan will be free for non-commercial usage !

Hold your horses. I’m sure there’s going to be some kind of GPL-conflict here.

I didn’t mean to have it IN Blender by default, but PRman is now open, so there needs to be ONLY a plugin/addon to PRman. :wink: This is by far enough.

no… that’s what the render api is for… worked for vray! and matt ebbs 3delight plugin…

Doesn’t change the fact that Blender’s render API really sucks for communicating with any kind on non-GPL compatible software. No viewport support without a programming nightmare, and even if you get it to work by hijacking the entire viewport draw routine (a la Octane/Thea) you have no direct access to mesh data from Blender itself since that would involve touching C++ which is a no-no. An exporter and some basic integration support are necessary, but by its very design Blender can never have the integration that one would expect from a 3D package without violating the GPL.

Yes, but one sec, you use PRmans render API. I understand that you would need to get dirty hands on the Blender code to get further for that add-on and IO data, but it is worth it, we are talking PRman here not any renderer. :wink: In comparison Arnold is out of reach! Not to mention PRman IS the father of all REYES features and RSL. :wink:

It might be “worth it” to you but you still need a programmer who shares that view if you are going to get your plugin. Or you are going to have to pay a developer to make the plugin (if you still think it is worth it by then)

Getting around the GPL problem (yes, problem) is a lot more work than you can ever imagine. That’s why so few commercial render engine developers even care about making a Blender plugin, the gains are usually not worth the effort. Renderman is only “free”, not “open”.

Not to mention that a lot of additional work would have to go into whatever exporter is written. From what I understand PRMan itself is just a raw rendering engine, and doesn’t come with any preconfigured shaders or cameras. From the FXGuide articles I’ve seen programming shaders for PRMan is no walk in the park, and is something more tuned to hardcore coders than artists.

If I understand correctly, 3delight and Pixie are both RenderMan compliant renderers? so it should be possible to convert thous exporters to work with RenderMan correct or atleast use them to jump start a RenderMan exporter?

I suppose the real problem is not creating the exporter, but integrating the engine with Blender.

the problem largely isn’t the exporters, rather it’s the workflow…

direct integration (ie using teh api to send data around) may well be gpl incompatible… a shame here as teh main issue with writing intermediate files is speed… although I believe that teh vray exporter for blender is at least smart about this in how it splits up the types of data to export… (your models only go once for example, materials/lights etc go seperate so you can tweak and iterate faster

but that aside the existing exporters aren’t bad, they just hilight workflow issues… even with direct api integration to get around teh IO speed issues you’d still have to have a good way of setting up passes, materials etc

examples: the 3delight exporter from Matt Ebb simplified the workflow to be blender friendly and is certainly comparitively easy to use… but if you need to control point caches then it was pretty limited… I beleiev that matt did some more work but didn’t release it… teh way it presents existing rsl shaders is great and clever… but if you don’t have what you want you need to go writing rsl yourself… it woudl be relatively simple to offer some basics “pout the box”

using mosiac is a real culture shock… it’s designed for an army of TDs to go off and write shaders and industrialise teh process… feels liek jumping through too many hoops… makes using shaders really complicated!

Maya a users get something in between… with tools to make shader node networks, control of passes etc all being no more convoluted than teh rest of maya…

Looking at Katana it make’s an awfull lot of sense for using renderman… all about customisability and setting up passes and managing huge data sets

This is something that has always confused me about the GPL;

Blender is GPL and RenderMan is not.
If I were to write an addon or patch that uses none GPL code that I have permission to use and it interacts with GPL code in order to integrate RenderMan I am in breach of the GPL. But what are the consequences of doing this?

I cant be forced to hand over the RenderMan Code because its not mine to hand over!?
Pixar is not going to care because I had permission to use it and they still own the copy-write of it regardless of what I do with it!

The only consequence I can think of is that Blender could not “Officially” package the Addon or Distribute the branch if it was a patch!?

But that does not stop me from distributing it!?

MC hammond… that would be fine… that’s personal use… you distributing your version of blender linked to renderman would be a problem… it would violate teh gpl

but you distrubuting your patch and someone else getting renderman from pixar, blendersource from blender foundation and the patch from you and compiling there own version would be fine…

but i’d bet that distributing blender and renderman together would violate pixars eula anyway regardless of gpl…

there are grey areas based on how renderman and blender talk to each other… a blender script can output a rib file and then command line invoke renderman to render it as there’s no code linking…

Yea I know that would violate the GPL, but what does that mean in terms of action against me or action I have to take!?

I have a piece of software that Violates the GPL, but I lack the ability to conform to the GPL once its been distributed ie “I cant release the source code”. So what happens then, if anything?

you get 'cease and desist" notices from teh FSF… you get sued maybe… for breach of copyright…

So if someone were to make a version of Blender that fully integrated with RenderMan ignoring of the GPL limitations and distributed it, it would be a pirated version of Blender!?

That’s just funny.

But back on topic,
I think good RenderMan support would be awsome, but I think it would be better that we got a better render API first, if that’s whats needed.

Yes. And anyone who has ever contributed to Blender (so long as they can prove your version contains their code), can sue you over it. They can force you to take down the patched version, and possibly pay damages depending on the situation and country this happens in.

The idea here is this: When you contribute code to a GPL project, it is understood (in the legal sense) that you are handing your code to the public under the condition that people don’t do things like this with it. Thus, you have no legal right to make such a patched version.

you get 'cease and desist" notices from teh FSF… you get sued maybe… for breach of copyright…

Not from the FSF, actually. The reason they do it for GNU stuff is because they hold the copyright on it. In order to help them enforce the GPL on GNU, they require contributors to hand over copyright to the FSF. This isn’t the norm, and Blender doesn’t do this as far as I know, so it would be up to individual devs, or possibly the BF. I don’t know if the BF actually holds any copyrights to the Blender source. Ton personally does, though.

If you distribute as source-code only, its fine.

@J_the_Ninja, BF holds some copyrights, but so do many others.


grep -R -i "\s\*.*Copyright" source/ | cut -f 2 -d":" | sort -u

See output: http://www.pasteall.org/51967

Socket-based API to/fro external engines using HTTP as transport with BSD/Apache documentation and headers (if required). B.t.w. Apache itself is GPL compatible so the actual Apache code could be used as-is.

Biosafety level 4 against GPL :evilgrin:.

I hope you realize that that’s a series of hoops that NO ONE wants to jump through. Additionally, as a user of Octane and its “local server” method of integrating with Blender, I can safely say that it’s awful. Just absolutely terrible. It requires an old version of Blender with modified source code and is STILL a pain to use even after you download that.

let’s face it though, if your savvy enough to use renderman you’ll be savvy enough to apply a patch and compile blender from source! simplest solution is best!

Not a patch, a “standard” network interface towards a render server (implemented in our case around Renderman)… or the network and the “cloud” are already passing of fashion <sarcastic icon>?