From BlenderWiki

Jump to: navigation, search

Immediate Mode Replacement Tasks

What and how to do it

See Immediate Mode Replacement call for help.

What exactly needs to be recoded? Any calls to glBegin, glEnd, glVertex, glColor, glNormal, glTexCoord, glRect.
What does not need to be recoded? State-setting functions such as glEnable, glDisable, glPointSize, glBlendFunc, glDepthFunc, glDepthMask, glColorMask … glVertexAttrib is still valid in core profile, but is used in a more specific way. You probably won’t find this between glBegin and glEnd, but if you do convert it. glLineWidth is also legacy, but let’s not worry about that just yet!

Help Wanted - Blender

//source/blender

  • anim_markers.c
    • in progress Inprogress100.jpg 90%
        (punya)
  • area.c
    • in progress Inprogress100.jpg 90%
        (punya)
  • clip_dopesheet_draw.c
  • clip_draw.c
    • in progress Inprogress25.jpg 10%
        (INSANU)
  • clip_graph_draw.c
  • clip_utils.c
    • in progress Inprogress25.jpg 10%
        (darwin)
  • drawanimviz.c
  • drawarmature.c
  • drawnode.c
    • done
        node_composit_backdrop_viewer (lukas_t)
    • done
        node_composit_backdrop_boxmask (lukas_t)
    • done
        node_composit_backdrop_ellipsemask (lukas_t)
  • drawobject.c
    • in progress Inprogress25.jpg 25%
        draw_em_fancy (merwin)
    • done
        draw_mesh_object_outline (merwin)
    • done
        draw object centers (merwin)
    • done
        drawaxes & empties (merwin)
    • done
        draw image empties (merwin)
    • done
        draw cameras (merwin)
    • done
        draw lamps (merwin)
  • drawsimdebug.c
    • done
        quick and dirty debug primitives (lukas_t)
  • drawvolume.c
    • in progress Inprogress50.jpg 50%
        (lukas_t)
  • editarmature_sketch.c
  • editcurve_paint.c
  • editmesh_knife.c
  • editmesh_loopcut.c
  • file_draw.c
    • in progress Inprogress100.jpg 90%
        (plasmasolutions)
  • graph_draw.c
    • done
        draw fcurve control points & handles (merwin)
  • image_draw.c
    • in progress Inprogress25.jpg 10%
        (merwin)
  • interface.c
  • in progress Inprogress25.jpg 15%
      interface_draw.c
    • done
        UI_draw_roundbox_gl_mode (kgeogeo)
  • interface_icons.c
    • in progress Inprogress50.jpg 30%
        (Juicyfruit)
  • interface_panel.c
  • interface_regions.c
    • in progress Inprogress25.jpg 10%
        (define-private-public)
  • interface_style.c
    • in progress Inprogress25.jpg 10%
        (define-private-public)
  • interface_widgets.c
  • keyframes_draw.c
    • in progress Inprogress25.jpg 10%
        (darwin)
  • mask_draw.c
    • in progress Inprogress25.jpg 10%
        (ryry)
  • nla_draw.c
    • in progress Inprogress25.jpg 10%
        (plasmasolutions)
  • node_draw.c
    • done
        node_socket_circle_draw (kgeogeo)
    • in progress Inprogress25.jpg 20%
        node_draw_preview_background (merwin)
  • outliner_draw.c
    • in progress Inprogress75.jpg 70%
        (cyrax)
  • paint_cursor.c
  • paint_stroke.c
  • render_internal.c
  • resources.c
  • screen_draw.c
  • sculpt_uv.c
  • sequencer_draw.c
  • space_graph.c
  • text_draw.c
    • in progress Inprogress0.jpg 0%
        (mizerb)
  • textview.c
    • in progress Inprogress25.jpg 20%
        (witt)
  • transform_constraints.c
  • transform_generics.c
  • transform_manipulator.c
    • in progress Inprogress100.jpg 90%
        (Julian) (Will be replaced by new manipulators)
  • transform_snap.c
  • uvedit_draw.c
  • uvedit_smart_stitch.c
  • view3d_draw_legacy.c
    • in progress Inprogress100.jpg 90%
        (dfelinto) (miss circ, view3d_main_region_clear, bl_debug_draw)
  • view3d_ruler.c
  • wm_dragdrop.c
  • wm_gesture.c

Help Wanted - Game Engine

The UPBGE team plans to merge their work into Blender2.8 so we should leave these files alone.

//source/gameengine

  • KX_Dome.cpp
  • RAS_2DFilterManager.cpp
  • RAS_OpenGLRasterizer.cpp
  • RAS_StorageVA.cpp
  • RAS_StorageVBO.cpp

Help Wanted - Intern

//intern

  • device.cpp
  • device_cuda.cpp
  • opensubdiv_capi.cc
  • solver_control.cpp
  • solver_util.cpp
  • util_view.cpp

To be tackled separately

  • glutil.c
  • drawmesh.c
  • DerivedMesh.c
  • cdderivedmesh.c
  • editderivedmesh.c
  • subsurf_ccg.c
  • gpu_buffers.c
  • gpu_compositing.c
  • gpu_draw.c
  • gpu_framebuffer.c
  • gpu_basic_shader.c
  • GPU_basic_shader.h
  • gl-deprecated.h

Low priority / Obsolete

  • GHOST_C-Test.c
  • GHOST_Test.cpp
  • MultiTest.c

Notes

  • pbvh.c (only has a glColor3f(), which is in an ifdef'ed out test block (#ifdef 0) (ianwill)
  • reeb.c (only has gl[A-Z] calls in an #ifdef'ed out function called REEB_draw() (ianwill)
  • wm_playanim.c (requires decision about bg mode access to gpu) (ianwill)

Done

  • done
      anim_channels_defines.c (define-private-public)
  • done
      anim_draw.c (punya)
  • done
      action_draw.c (darwin)
  • done
      console_draw.c (juicyfruit)
  • done
      view2d.c (define-private-public)
  • done
      ed_util.c (dfelinto)
  • done
      gpencil_brush.c (merwin)
  • done
      blf_glyph.c (merwin)
  • done
      gpencil_paint.c (merwin)
  • done
      paint_image.c (ianwill)
  • done
      pbvh.c (ianwill)
  • done
      reeb.c (ianwill)
  • done
      screendump.c (ianwill)
  • done
      space_time.c (dfelinto)
  • done
      transform.c (witt, darwin, merwin)
  • done
      wm_operators.c (ianwill)
  • done
      wm_playanim.c (ianwill)
  • done
      drawgpencil.c (merwin)

Examples

  • done
      view3d_walk.c (Dfelinto)
  • done
      view3d_fly.c (Dfelinto)
  • in progress Inprogress75.jpg 75%
      example.c
    • Operators only
  • in progress Inprogress50.jpg 50%
      yet_another_example.h (Dfelinto)
    • glBegin

Note

List compiled with the following command:

find . -name "*.[c|cpp|h|m|mm]*" -print | grep -v "\.pyc" | grep -v "\.git" | grep -v "\.svn" | grep -v ".swp" | grep -v "~" | sort | xargs grep -l -n --color=never -H -e glBegin\( -e glEnd\( -e glVertex[^A] -e glColor[^M] -e glNormal -e glTexCoord . 2>/dev/null | sed s'/.*\//* /g' | sort

Then organized by hand.