Materials - Blender Internal vs. Cycles vs blend4web

01 September 2016 09:36
Hello Everyone,

My 2nd day with blend4web and I am terribly confused about how the materials work with the export to .html or .json for Web Player.

Can someone please explain what is the difference between Blender Internal, Cycles, and blend4web materials when using blend4web?

I already rendered many scenes in Cycles, before I found blend4web. But blend4web does not export Cycles materials into .html. The objects are all black. So I read many articles but still not clear.

The FAQ says
"The Cycles renderer is not designed for work in real-time as it uses ray-tracing algorithms. Nevertheless, you can bake your Cycles materials into textures in order to use them in ordinary materials."

Does "ordinary materials" mean the Blender Internal materials?

But Blender Internal materials can be used with blend4web?
Why is that? What is the difference?

Someone said I have to take all the nodes off of my Cycles materials and turn them into Blender Internal materials to work in blend4web.

Also confusing me, the FAQ says
"On the other hand, Blend4Web supports shader nodes (aka node materials) which are fast enough in performance for real-time applications and at the same time make it possible to achieve a photo-realistic feel."

Isn't that what the Cycles materials are? I'm also new to Cycles so I'm not sure the difference between Cycles materials and the "node materials" that work in blend4web.

Also, what is the correct workflow going forward? Should I render all my objects now only in blend4web materials, so that I can later publish to .html more quickly?

Or I should render in Cycles and bake everything to use in blend4web?

How do people usually do it?

Thank you :)
01 September 2016 11:33
Hello :)

For further understanding I recommend you to watch some Blender Internal node materials tutorials. There's a possibility to use Cycles nodes or BI nodes.

If in Cycles we are working mostly with shaders, in BI node materials we are working with images, masks and vectors. Blender Internal itself is raytracing too, but it also has a GLSL feature - what you see in your viewport. Also it is used as a renderer for Blender Game engine. That is what we use as well for rendering in browser (in easy words).

I made a simple video that shows the starters of using Node Materials for GLSL/Blend4Web. Hope it helps.

About Cycles -> Blend4Web: I recommend watching this tutorial by Andrew Price. That setup will work in B4W too.
02 September 2016 08:33
Hi Pavel Kotov :)

Thank you for replying and making a video.
I watched both videos and understand baking much better now.

So it sounds like to use blend4web best I must learn the Blender Internal rendering materials.
I will try that next.
02 September 2016 11:03
You are welcome! :)

True, it is a nice thing to know how to setup BI node materials for GLSL. It gives you lots of possibilities!

Good luck!

what also might be helpful:
the entry in the documentation - a lot of useful info, the list of nodes' performance and our special nodes for visual effects or useful instruments explained.

Easiest water setup - a bit more complicated node setup to jump deeper into nodes.

A part of my presentation on the conference - now that's some advanced stuff. But still, it may be really useful in some cases. It's about playing with vectors to get different types of masks.
05 September 2016 08:09
Great! Thank you Pavel Kotov. I will study these carefully
07 September 2016 23:23
Pavel, thanks for the great responses!! sooo helpful!
Please register or log in to leave a reply.