Blender Internal Nodes Refactoring

提供: wiki
移動先: 案内検索

Blender Internal Nodes Refactoring (WIP)


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

  • 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

  • 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.

    BI vs Cycles UVs.jpg
  • UV is not quite a characteristic of the object's geometry. So, having a separate node would be more logical.

Vector Transform node support

  • 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

  • At the present moment, it is impossible to add Normal Map texture without an additional Material node .