User:IluvBlender/Source/Render/EEVEE

Goals

After discussing with User:Jbakker, the following points stood out - We should stay high level. - The goal would be to speed up development by sharing the concepts and code structure and reasons.

After the draft gets approved, relocate it to Source/Render/EEVEE

Quick Draft

OpenGL 3.3 and EEVEE

  • With Blender 2.80, the minimum supported OpenGL is 3.3
  • Modern Open GL provides a programmable interface to the graphics processing pipeline (vertex, fragment shaders)
  • EEVEE is a GPU powered raster engine that makes use of modern OpenGL and deliver amazing visuals.

EEVEE Rendering Pipeline

EEVEE is one of the drawing engines in Blender. Others being Selection, workbench, overlay etc.

  • Definition of the engine
  • Registration of engine

https://developer.blender.org/diffusion/B/browse/master/source/blender/draw/DRW_engine.h

Ref: Source/Render/EEVEE/GPUPipeline

Learning OpenGL 3.3

Salient features used in Blender

  • Buffer Objects
    • UBO/VBO
  • Textures
  • Framebuffers
  • GLSL

References