﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3A2.8%2FSource%2FOpenGL%2FImmediate_Mode_Replacement_Tasks</id>
	<title>Dev:2.8/Source/OpenGL/Immediate Mode Replacement Tasks - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3A2.8%2FSource%2FOpenGL%2FImmediate_Mode_Replacement_Tasks"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.8/Source/OpenGL/Immediate_Mode_Replacement_Tasks&amp;action=history"/>
	<updated>2026-07-23T09:52:14Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.8/Source/OpenGL/Immediate_Mode_Replacement_Tasks&amp;diff=152521&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.8/Source/OpenGL/Immediate_Mode_Replacement_Tasks&amp;diff=152521&amp;oldid=prev"/>
		<updated>2018-06-28T21:21:35Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 21:21時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.8/Source/OpenGL/Immediate_Mode_Replacement_Tasks&amp;diff=152520&amp;oldid=prev</id>
		<title>wiki&gt;Dfelinto: /* Note */ updated query</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.8/Source/OpenGL/Immediate_Mode_Replacement_Tasks&amp;diff=152520&amp;oldid=prev"/>
		<updated>2017-03-15T15:31:16Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Note: &lt;/span&gt; updated query&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Immediate Mode Replacement Tasks =&lt;br /&gt;
&lt;br /&gt;
== What and how to do it ==&lt;br /&gt;
See [[Dev:2.8/Source/OpenGL/ImmediateModeReplacement|Immediate Mode Replacement call for help]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;What exactly needs to be recoded?&lt;br /&gt;
Any calls to glBegin, glEnd, glVertex, glColor, glNormal, glTexCoord, glRect.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;What does not need to be recoded?&lt;br /&gt;
State-setting functions such as glEnable, glDisable, glPointSize, glBlendFunc, glDepthFunc, glDepthMask, glColorMask …&lt;br /&gt;
&lt;br /&gt;
glLineWidth is also legacy, but let’s not worry about that just yet!&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utility functions such as UI_ThemeColor and fdrawline call the old GL functions, so find ways to draw without these. Use the new immUniformThemeColor instead, and draw lines with immVertex immVertex.&lt;br /&gt;
&lt;br /&gt;
== Help Wanted - Blender ==&lt;br /&gt;
&lt;br /&gt;
''//source/blender''&lt;br /&gt;
&lt;br /&gt;
* drawobject.c&lt;br /&gt;
** {{inprogress|25}} draw_em_fancy (merwin)&lt;br /&gt;
** {{done}} draw_mesh_object_outline (merwin)&lt;br /&gt;
** {{done}} draw object centers (merwin)&lt;br /&gt;
** {{done}} drawaxes &amp;amp; empties (merwin)&lt;br /&gt;
** {{done}} draw image empties (merwin)&lt;br /&gt;
** {{done}} draw cameras (merwin)&lt;br /&gt;
** {{done}} draw lamps (merwin)&lt;br /&gt;
** {{inprogress|90}} (fclem) (miss some mesh drawing code, waiting for DM to be ported)&lt;br /&gt;
* drawvolume.c&lt;br /&gt;
** {{inprogress|50}} (lukas_t)&lt;br /&gt;
* image_draw.c&lt;br /&gt;
** {{inprogress|10}} (merwin)&lt;br /&gt;
* {{inprogress|10}} paint_cursor.c (merwin)&lt;br /&gt;
* resources.c&lt;br /&gt;
* view3d_draw_legacy.c&lt;br /&gt;
** {{inprogress|90}} (dfelinto) (miss circ, view3d_main_region_clear, bl_debug_draw)&lt;br /&gt;
&lt;br /&gt;
== Help Wanted - Game Engine ==&lt;br /&gt;
&lt;br /&gt;
The UPBGE team plans to merge their work into Blender2.8 so we should leave these files alone.&lt;br /&gt;
&lt;br /&gt;
''//source/gameengine''&lt;br /&gt;
&lt;br /&gt;
* ImageRender.cpp&lt;br /&gt;
* KX_Dome.cpp&lt;br /&gt;
* RAS_2DFilterManager.cpp&lt;br /&gt;
* RAS_OpenGLRasterizer.cpp&lt;br /&gt;
* RAS_StorageVA.cpp&lt;br /&gt;
* RAS_StorageVBO.cpp&lt;br /&gt;
&lt;br /&gt;
== Help Wanted - Intern ==&lt;br /&gt;
&lt;br /&gt;
''//intern''&lt;br /&gt;
&lt;br /&gt;
* device.cpp&lt;br /&gt;
* device_cuda.cpp&lt;br /&gt;
* opensubdiv_capi.cc&lt;br /&gt;
* solver_control.cpp&lt;br /&gt;
* solver_util.cpp&lt;br /&gt;
* util_view.cpp&lt;br /&gt;
&lt;br /&gt;
== To be tackled separately ==&lt;br /&gt;
&lt;br /&gt;
* glutil.c&lt;br /&gt;
* drawmesh.c&lt;br /&gt;
* DerivedMesh.c&lt;br /&gt;
* cdderivedmesh.c&lt;br /&gt;
* editderivedmesh.c&lt;br /&gt;
* subsurf_ccg.c&lt;br /&gt;
* gpu_buffers.c&lt;br /&gt;
* {{done}} gpu_compositing.c (fclem)&lt;br /&gt;
* gpu_draw.c&lt;br /&gt;
* {{done}} gpu_framebuffer.c (fclem)&lt;br /&gt;
* gpu_basic_shader.c&lt;br /&gt;
* GPU_basic_shader.h&lt;br /&gt;
* gl-deprecated.h&lt;br /&gt;
&lt;br /&gt;
== Low priority / Obsolete ==&lt;br /&gt;
&lt;br /&gt;
* GHOST_C-Test.c&lt;br /&gt;
* GHOST_Test.cpp&lt;br /&gt;
* MultiTest.c&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
(write down any false positive that may come up from the grep query)&lt;br /&gt;
&lt;br /&gt;
* area.c - it needs to be revisited once the MatrixAPI supports 2D (see {{GitCommit|31a21135}})&lt;br /&gt;
* wm_playanim.c (requires decision about bg mode access to gpu) ([[User:Ianwill|ianwill]])&lt;br /&gt;
* uvedit_draw.c (still has one UI_ThemeColor call because of unconverted DM callback) (LucaRood)&lt;br /&gt;
&lt;br /&gt;
== Done ==&lt;br /&gt;
&lt;br /&gt;
* {{done}} action_draw.c (darwin, merwin)&lt;br /&gt;
* {{done}} anim_channels_defines.c (define-private-public)&lt;br /&gt;
* {{done}} anim_draw.c (punya)&lt;br /&gt;
* {{done}} anim_markers.c (dfelinto)&lt;br /&gt;
* {{done}} area.c (punya, dfelinto)&lt;br /&gt;
* {{done}} blf_glyph.c ([[User:Significant.bit|merwin]])&lt;br /&gt;
* {{done}} console_draw.c (juicyfruit)&lt;br /&gt;
* {{done}} clip_dopesheet_draw.c (TCMBoby)&lt;br /&gt;
* {{done}} clip_draw.c (LucaRood)&lt;br /&gt;
* {{done}} clip_graph_draw.c (LucaRood)&lt;br /&gt;
* {{done}} clip_utils.c (darwin)&lt;br /&gt;
* {{done}} drawanimviz.c (LucaRood)&lt;br /&gt;
* {{done}} drawarmature.c (fclem)&lt;br /&gt;
* {{done}} drawgpencil.c ([[User:Significant.bit|merwin]])&lt;br /&gt;
* {{done}} drawnode.c (lukas_t, LucaRood)&lt;br /&gt;
* {{done}} drawsimdebug.c (lukas_t)&lt;br /&gt;
* {{done}} ed_util.c ([[User:Dfelinto|dfelinto]])&lt;br /&gt;
* {{done}} editarmature_sketch.c (khanh_ha)&lt;br /&gt;
* {{done}} editcurve_paint.c ([[User:Dfelinto|dfelinto]])&lt;br /&gt;
* {{done}} editmesh_knife.c (LucaRood)&lt;br /&gt;
* {{done}} editmesh_loopcut.c (LucaRood)&lt;br /&gt;
* {{done}} file_draw.c (plasmasolutions, LucaRood)&lt;br /&gt;
* {{done}} gpencil_brush.c ([[User:Significant.bit|merwin]])&lt;br /&gt;
* {{done}} gpencil_paint.c ([[User:Significant.bit|merwin]])&lt;br /&gt;
* {{done}} graph_draw.c (merwin, LucaRood)&lt;br /&gt;
* {{done}} interface_draw.c (kgeogeo, fclem)&lt;br /&gt;
* {{done}} interface_icons.c (Juicyfruit, merwin)&lt;br /&gt;
* {{done}} interface_panel.c (fclem)&lt;br /&gt;
* {{done}} interface_widgets.c (fclem)&lt;br /&gt;
* {{done}} keyframes_draw.c (darwin, merwin)&lt;br /&gt;
* {{done}} mask_draw.c (ryry, merwin)&lt;br /&gt;
* {{done}} nla_draw.c (plasmasolutions, merwin)&lt;br /&gt;
* {{done}} node_draw.c (kgeogeo, merwin, LucaRood)&lt;br /&gt;
* {{done}} outliner_draw.c (cyrax, LucaRood)&lt;br /&gt;
* {{done}} paint_image.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} paint_stroke.c (fclem)&lt;br /&gt;
* {{done}} pbvh.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} reeb.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} render_internal.c (dfelinto, fclem)&lt;br /&gt;
* {{done}} screendump.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} sculpt_uv.c ([[User:Dfelinto|dfelinto]])&lt;br /&gt;
* {{done}} space_graph.c (LucaRood)&lt;br /&gt;
* {{done}} text_draw.c ([[User:Dfelinto|dfelinto]])&lt;br /&gt;
* {{done}} textview.c (witt)&lt;br /&gt;
* {{done}} transform.c (witt, darwin, merwin)&lt;br /&gt;
* {{done}} transform_constraints.c (LucaRood)&lt;br /&gt;
* {{done}} transform_generics.c (LucaRood)&lt;br /&gt;
* {{done}} transform_manipulator.c (fclem)&lt;br /&gt;
* {{done}} transform_snap.c (LucaRood)&lt;br /&gt;
* {{done}} screen_draw.c (fclem)&lt;br /&gt;
* {{done}} sequencer_draw.c (LucaRood)&lt;br /&gt;
* {{done}} space_time.c ([[User:Dfelinto|dfelinto]])&lt;br /&gt;
* {{done}} uvedit_draw.c (LucaRood)&lt;br /&gt;
* {{done}} uvedit_smart_stitch.c (fclem)&lt;br /&gt;
* {{done}} view2d.c (define-private-public)&lt;br /&gt;
* {{done}} view3d_ruler.c (LucaRood)&lt;br /&gt;
* {{done}} wm_dragdrop.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} wm_gesture.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} wm_operators.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
* {{done}} wm_playanim.c ([[User:Ianwill|ianwill]])&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
*{{done}} view3d_walk.c ([[User:Dfelinto|Dfelinto]])&lt;br /&gt;
*{{done}} view3d_fly.c ([[User:Dfelinto|Dfelinto]])&lt;br /&gt;
* {{inprogress|75|}} example.c&lt;br /&gt;
** Operators only&lt;br /&gt;
* {{inprogress|50|}} yet_another_example.h ([[User:Dfelinto|Dfelinto]])&lt;br /&gt;
** glBegin&lt;br /&gt;
&lt;br /&gt;
== Is a file done? ==&lt;br /&gt;
&lt;br /&gt;
To check if a file is done use the following script:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;https://github.com/dfelinto/immediate-mode-query/blob/master/query&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It basically uses the query below. Both will be kept updated if we decide to expand the query.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
Complete list compiled with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -name &amp;quot;*.[c|cpp|h|m|mm]*&amp;quot; -print | grep -v &amp;quot;bgl\.c&amp;quot; | grep -v &amp;quot;\.pyc&amp;quot; | grep -v &amp;quot;\.git&amp;quot; | grep -v &amp;quot;\.svn&amp;quot; | grep -v &amp;quot;.swp&amp;quot; | grep -v &amp;quot;~&amp;quot; | sort | xargs grep -l -n --color=never -H \&lt;br /&gt;
    -e fdrawbox \&lt;br /&gt;
    -e fdrawbox_filled \&lt;br /&gt;
    -e fdrawcheckerboard \&lt;br /&gt;
    -e fdrawline \&lt;br /&gt;
    -e sdrawline \&lt;br /&gt;
    -e sdrawbox \&lt;br /&gt;
    -e UI_ThemeColor \&lt;br /&gt;
    -e glAlphaFunc \&lt;br /&gt;
    -e glBegin\( \&lt;br /&gt;
    -e glCallList \&lt;br /&gt;
    -e glCallLists \&lt;br /&gt;
    -e glColor[^M] \&lt;br /&gt;
    -e glClipPlane \&lt;br /&gt;
    -e glDeleteLists \&lt;br /&gt;
    -e glDisableClientState \&lt;br /&gt;
    -e glDrawPixels \&lt;br /&gt;
    -e glEnableClientState \&lt;br /&gt;
    -e glEnd\( \&lt;br /&gt;
    -e glEndList \&lt;br /&gt;
    -e glFeedbackBuffer \&lt;br /&gt;
    -e glGenLists \&lt;br /&gt;
    -e glInitNames \&lt;br /&gt;
    -e glIsList \&lt;br /&gt;
    -e glLight[if] \&lt;br /&gt;
    -e glLineStipple \&lt;br /&gt;
    -e glListBase \&lt;br /&gt;
    -e glLoadName \&lt;br /&gt;
    -e glMaterial[if] \&lt;br /&gt;
    -e glNewList \&lt;br /&gt;
    -e glNormal \&lt;br /&gt;
    -e glPassThrough \&lt;br /&gt;
    -e glPixelZoom \&lt;br /&gt;
    -e glPolygonStipple \&lt;br /&gt;
    -e glPopAttrib \&lt;br /&gt;
    -e glPopClientAttrib \&lt;br /&gt;
    -e glPopName \&lt;br /&gt;
    -e glPushAttrib \&lt;br /&gt;
    -e glPushClientAttrib \&lt;br /&gt;
    -e glPushName \&lt;br /&gt;
    -e glRasterPos \&lt;br /&gt;
    -e glRect[if] \&lt;br /&gt;
    -e glRenderMode \&lt;br /&gt;
    -e glSelectBuffer \&lt;br /&gt;
    -e glShadeModel \&lt;br /&gt;
    -e glTexCoord \&lt;br /&gt;
    -e glTexGen \&lt;br /&gt;
    -e glVertex[^A] \&lt;br /&gt;
    -e glVertexPointer \&lt;br /&gt;
    -e glWindowPos \&lt;br /&gt;
    -e GL_ACCUM_.*_BITS \&lt;br /&gt;
    -e GL_ALPHA_TEST \&lt;br /&gt;
    -e GL_COLOR_MATERIAL \&lt;br /&gt;
    -e GL_DEPTH_TEXTURE_MODE \&lt;br /&gt;
    -e GL_LIGHTING \&lt;br /&gt;
    -e GL_LINE_STIPPLE \&lt;br /&gt;
    -e GL_LUMINANCE \&lt;br /&gt;
    -e GL_POINT_SPRITE \&lt;br /&gt;
    -e GL_TEXTURE_ENV_ \&lt;br /&gt;
    -e GL_TEXTURE_GEN_ \&lt;br /&gt;
. 2&amp;gt;/dev/null | sed s'/.*\//* /g' | sort&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then organized by hand.&lt;/div&gt;</summary>
		<author><name>wiki&gt;Dfelinto</name></author>
		
	</entry>
</feed>