Inochi2D / inochi2d

Inochi2D reference implementation aimed at rendering 2D puppets that can be animated in real-time (using eg. facial capture).
BSD 2-Clause "Simplified" License
1.25k stars 47 forks source link

Support treating 3D objects as 2D layers #22

Open LunaTheFoxgirl opened 1 year ago

LunaTheFoxgirl commented 1 year ago

A lot of rigging in the VTuber space nowadays tries to emulate 3D using 2D, we can do better than that by allowing 3D models to be seamlessly integrated in to the Inochi2D workflow.

Some highlights of how this should be implemented for future reference

Rendering Steps is as follows: For each 3D Object that is sorted in sequence

  1. Enable and clear depth buffer
  2. Render 3D Object(s) and their meshes
  3. Disable depth buffer and continue

Note: 3D Objects will NOT be PBR workflow, we will still take Emission and Normal Map textures from the models, but they will be used for 2D lighting.

Considerations to be made:

  1. Will we support CPU side semi-transparent triangle sorting? (Probably not)

(More will be added as I think of them)