From BlenderWiki

Jump to: navigation, search

Priorities

  • Make OpenGL Core Profile work
    • Mac and Mesa developers can't use Clay or Eevee until we move to core profile
    • Fix: Add stubs to remaining deprecated calls (see D2603)
    • Move to core profile (at least when WITH_LEGACY_OPENGL=OFF)
  • Easy low hanging fruits:
    • Get rid of PRIM_QUADS_XXX
    • Update calls from `manipulator_library`
  • OpenGL matrix
    • Use the new Matrix API everywhere
  • Mesh selection not working
    • Fix 1: ED_view3d_draw_select_loop should be using the same drawing code as the draw manager.
    • Fix 2: Get rid of old OpenGL selection code, which relies heavily on deprecated calls.
    • Workaround: Use lasso, or circle selection. [Campbell wanted this code laying around to help refactors in 2.79. Dalai thinks we should do any eventual refactors in 2.8 only, so no point on keeping the old code around]
  • Object doesn't show modifiers
    • Fix: Depsgraph needs to implement copy on write and support to modifiers
  • Dashed lines shown as continuous lines
    • Fix: Go over all uses of `setlinestyle` and fix this by using a dash shader.
    • We already have a dashed line shader (used by box select) but it requires a little more setup. Mike Erwin wants to change the shader inputs before it's used in more places.
  • subsurf_ccg.c, editderivedmesh.c, cdderivedmesh.c
    • Cleanup, those should be removed once desgraph make them obsolete
    • DispList shares the same fate
  • Internal libraries need to be updated
    • OpenSubdiv has deprecated calls
    • Elbeem has deprecated calls
    • Cycles has deprecated calls (e.g., Device::draw_pixels) [though this will disappear with the fixes related below])
  • Remaining legacy OpenGL to be removed, and reworked
    • Go over the stubs in GPU_legacy_stubs.h
    • Matrix related code are handled separately by Mike Erwin, so they are not part of the GPU_legacy_stubs.h (for now)
  • Cycles
    • Rendering not working (F12)
      • Fix: Use scene_layer.object_bases to gather the objects, as oppose to scene.base
    • Object mode not working (no selection outlines, ...)
      • Fix: Expand external_engines API to take "render_to_image", and "render_to_view".
      • Move Cycles preview code to "render_to_view"
      • Draw manager to handle depth in those cases
  • Draw Manager
    • Widgets
    • Modes: the mode drawing code should be copied over and integrated into the respective mode engine file.
  • Blender Internal
    • Remove from UI, make Eevee or Clay the default
    • Eventually remove BI rendering backend
  • Blender Game Engine
    • Remove from UI until the BGE team ports the code to latest OpenGL and use bases, ...

Note: There is a new "WITH_LEGACY_OPENGL" build option. Use it only if you need to work on something else, or to compare your changes with the expected results.