Blender Internal Nodes Refactoring
Blender Internal Nodes Refactoring (WIP)
Introduction
The Blender Internal node system lacks many features which already exist in Cycles Render Engine. Furthermore, there are some nodes and node sockets that do not work as expected. This node system is used not only in BI itself but also in real-time rendering in Blender Game Engine. Therefore, it requires serious changes and refactoring.
List of improvements
Cycles Geometry node support
Reasons:
- Current BI Geometry provides outputs in different spaces. For example, Global output gives position in the world space but Normal output gives normals in the camera space. There is no such ambiguity in Cycles Geometry.
- Current BI Geometry has the Vertex Alpha output which is never used as Vertex Colors have only 3 components.
- Cycles Geometry has several useful outputs with no equivalents in Blender Internal. For example, Tanget, Incoming, True Normal.
UV node support
Reasons:
- Blender Internal currently supports the UV output in the Geometry node but the problem is that it is given within a -0.5..0.5 range, which is not intuitive for the artists. In Cycles it is a 0..1 range. The comparison of both render engines with the same UV is shown on the image below.
- UV is not quite a characteristic of the object's geometry. So, having a separate node would be more logical.
Vector Transform node support
Reasons:
- There is currently no convenient and quick way to change vector space which is a common operation in real-time 3D.
- Mapping node can partially solve this problem but it doesn't support matrix transformations and has a non-working Point switch. So, it can correctly affect only textures and vectors but not positions.
Normal Map node support
Reasons:
- At the present moment, it is impossible to add Normal Map texture without an additional Material node .