﻿<?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%2FViewport%2FEevee%2FRoadmap-SeptDec-2017</id>
	<title>Dev:2.8/Source/Viewport/Eevee/Roadmap-SeptDec-2017 - 版の履歴</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%2FViewport%2FEevee%2FRoadmap-SeptDec-2017"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.8/Source/Viewport/Eevee/Roadmap-SeptDec-2017&amp;action=history"/>
	<updated>2026-05-06T02:59:47Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:2.8/Source/Viewport/Eevee/Roadmap-SeptDec-2017&amp;diff=154015&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/Viewport/Eevee/Roadmap-SeptDec-2017&amp;diff=154015&amp;oldid=prev"/>
		<updated>2018-06-28T21:23:26Z</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:23時点における版&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/Viewport/Eevee/Roadmap-SeptDec-2017&amp;diff=154014&amp;oldid=prev</id>
		<title>wiki&gt;Hypersomniac: /* Eevee Planning 2017 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:2.8/Source/Viewport/Eevee/Roadmap-SeptDec-2017&amp;diff=154014&amp;oldid=prev"/>
		<updated>2018-02-05T00:52:58Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Eevee Planning 2017&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Eevee Planning 2017 =&lt;br /&gt;
&lt;br /&gt;
''September 2017 to March 2018 plans: Discussed the 14th and 15th of September 2017 with Clément Foucault and Dalai Felinto at the Blender Institute.''&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The plan for 2017 is to prioritize the main usability issues and the main Eevee remaining features.&lt;br /&gt;
&lt;br /&gt;
For the first part of 2018 the focus is on wrapping up the remaining minor features in Eevee, as well as tackling the workflow oriented task.&lt;br /&gt;
&lt;br /&gt;
That leaves the second part of 2018 for optimisations and polishing of existing features.&lt;br /&gt;
&lt;br /&gt;
We will re-visit this plan at the end of each quarter or even earlier if we drift too much from it. The idea is to get the big picture planned for the upcoming quarters, and have a nitty-gritty week-by-week plan of the current quarter at any given time.&lt;br /&gt;
&lt;br /&gt;
== Sep ==&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* {{done||}} Anti-aliasing&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* {{done||}}Probe Polish&lt;br /&gt;
* {{Inprogress|50|}}Proper Depsgraph handling of Probes and lamps update&lt;br /&gt;
&lt;br /&gt;
== October ==&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* {{done||}}Contact shadows (2d)&lt;br /&gt;
* {{done||}}Gawain problem (2d)&lt;br /&gt;
* {{done||}}Shader compilation time (2d) (was a failure)&lt;br /&gt;
=== Week 2-3 ===&lt;br /&gt;
* {{done||}}Volume Object (10d)&lt;br /&gt;
&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* {{done||}}Bug fixes for Blender conference demo (5d)&lt;br /&gt;
* {{todo||}}Final design for multi-engine material by Blender conference [Dalai]&lt;br /&gt;
&lt;br /&gt;
== November ==&lt;br /&gt;
=== Week 1-2 ===&lt;br /&gt;
* {{todo||}}UI Implement multi-engine material [outsourced]&lt;br /&gt;
* {{done||}}SSS (10d)&lt;br /&gt;
&lt;br /&gt;
=== Week 3 ===&lt;br /&gt;
* {{todo||}}Object Motion Blur (5d)&lt;br /&gt;
=== Week 4 ===&lt;br /&gt;
* {{done||}}Fix Grid Light leak (5d)&lt;br /&gt;
&lt;br /&gt;
== December ==&lt;br /&gt;
=== Week 1 ===&lt;br /&gt;
* {{todo||}}New DoF (5d)&lt;br /&gt;
=== Week 2-3-4 ===&lt;br /&gt;
* 3 week vacation (15d)&lt;br /&gt;
&lt;br /&gt;
= 2018 =&lt;br /&gt;
== January ==&lt;br /&gt;
* Shader compilation lazy (5d)&lt;br /&gt;
* Frustum Culling (3d)&lt;br /&gt;
* Render Output (F12) (7d)&lt;br /&gt;
* Multi-window (5d)&lt;br /&gt;
&lt;br /&gt;
== February ==&lt;br /&gt;
* OpenSubdiv (10d)&lt;br /&gt;
* Instancing (10d)&lt;br /&gt;
&lt;br /&gt;
== March ==&lt;br /&gt;
* Hairs Drawing (stripes or strands) (5d)&lt;br /&gt;
* Particles (5d) : Pipe all rendering particle attr to eevee / Optimize rendering.&lt;br /&gt;
* Bug fix / Polish for beta (10d)&lt;br /&gt;
&lt;br /&gt;
= Future Plans =&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* Material Preview (4d)&lt;br /&gt;
* Batch render (headless) (5d)&lt;br /&gt;
* GTSO (5d)&lt;br /&gt;
* Viewport compositor (1-2m)&lt;br /&gt;
* Shaded UV view&lt;br /&gt;
* Vertex Shader Material&lt;br /&gt;
* Parallax Occlusion Mapping&lt;br /&gt;
* Pixel depth offset&lt;br /&gt;
&lt;br /&gt;
== Polish ==&lt;br /&gt;
* Proper Refraction Math (5d)&lt;br /&gt;
* Documentation for Eevee (10d)&lt;br /&gt;
&lt;br /&gt;
== Optimization ==&lt;br /&gt;
* CPU optimization (BW usage in DRW) (5d)&lt;br /&gt;
* Cluster Forward Shading (5d)&lt;br /&gt;
* GPU Optimisation with Compute shaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Detailed Tasks =&lt;br /&gt;
== Anti-aliasing ==&lt;br /&gt;
First Implement the FXAA in draw manager (already done by cmr but only for eevee). Then Implement TAA in Eevee (accumulation buffer). Then if times allows, try adding motion vector reconstruction to TAA for animations.&lt;br /&gt;
== Irradiance grid ==&lt;br /&gt;
Current irradiance grid is displayed with uninitialized memory. We should clear the grid first and then use some progressive rendering to allow fast preview. Ideally the process should be display in the top bar.&lt;br /&gt;
== Proper Depsgraph handling of Probes and lamps update ==&lt;br /&gt;
We need a way to efficiently trigger probes and shadowmap rendering. Current way involves keeping track of objects themselves in Eevee which is dangerous and against Depsgraph design. This could be done during evaluation phase.&lt;br /&gt;
== Contact shadows ==&lt;br /&gt;
Currently VSM and ESM have problems with light leaking. One easy way to fix this is to use screen space raytracing against depth buffer to find occluder. This really helps but still suffer from the same thickness problem the SSR have.&lt;br /&gt;
== Gawain problem ==&lt;br /&gt;
Every time a shader is compiled Gawain is asking for the full list of uniform and their location. The problem is that the UBOs used by eevee containing lamps and probes data are seen as 1000’s of them. This adds an overhead of 30% to the wait time when compiling. We should be smarter and only query the uniforms we need.&lt;br /&gt;
== Shader Compilation Time ==&lt;br /&gt;
The compilation time is getting higher and higher as we add new functionalities. This is mainly due to for loops that the driver needs to optimize. By doing manual unrolling of these loops via some compile time Macros we might be able to reduce it.&lt;br /&gt;
== Volume Object ==&lt;br /&gt;
We need to see volumetric objects in the viewport. Doing smoke domain is simple but I would like to try to implement some volume object (creating a distance field/volume representation of the object then evaluating the volume shader if ray is inside the volume). Optimizing the rendering is also needed as the overhead of such technique will be really high.&lt;br /&gt;
== Final design for multi-engine material ==&lt;br /&gt;
At the time of writing, all the node is identical no matter what render engine is used. But what if we want to use a different output node for each render engine. This task should make it possible to have a different node setup for every render engines.&lt;br /&gt;
== Subsurface Scattering ==&lt;br /&gt;
We need to review and think about how to implement it in Eevee. This will surely have some limitation compared to the cycles shader.&lt;br /&gt;
== Object Motion Blur ==&lt;br /&gt;
Current motion blur only support camera based motion. We can easily add a motion vector pass to add object animation support to motion blur. This will not work with skinned or deformed object.&lt;br /&gt;
== Fix Grid Light leak ==&lt;br /&gt;
Grid probe is currently bad at handling walls between grid cells. Light from one side of the wall can bleed onto the other side. To fix this, we must encode some visibility information alongside the color information.&lt;br /&gt;
== New DoF ==&lt;br /&gt;
The current DoF algorithm is a straight port of 2.7x high res viewport Depth of field. It has bad limitation and has not a perfect look. This new dof may be even slower but it will not have these limitations. This could be used for render time.&lt;br /&gt;
&lt;br /&gt;
== Lazy Shader compilation ==&lt;br /&gt;
Compiling shaders in Eevee can takes up to half a minute of loading time a for complex scenes with lots of materials. The goal is to make this process non blocking and make the interface responsive even if all the shaders are not yet compiled.&lt;br /&gt;
== Frustum Culling ==&lt;br /&gt;
This is an easy optimisation that was present in pre-2.8. We just need to discard all objects outside of the view frustum.&lt;br /&gt;
== Render Output (F12) ==&lt;br /&gt;
We need to make Eevee capable of outputting a rendered frame (hitting F12) ensuring maximum quality with a dedicated code path. Renderlayer and data passes (Z, motion vectors, …) support should be tackled at this point&lt;br /&gt;
== Multi-window ==&lt;br /&gt;
There is a low level problem with multi-window support. For more information go see {{BugReport|51736}}&lt;br /&gt;
&lt;br /&gt;
== OpenSubdiv Integration ==&lt;br /&gt;
We need to bring back OpenSubdiv to all realtime engines. This will require quite a bit of tweaking of all engines shader code.&lt;br /&gt;
== Instancing ==&lt;br /&gt;
For enabling fast drawing we should rely on instancing as much as possible for dupligroups, object duplis, objects with same mesh data. This requires some changes in DepsGraph and how we handle dupli-objects etc.&lt;br /&gt;
== Hair Drawing ==&lt;br /&gt;
Hair drawing is currently supported but really slow. We should aim for a more performant solution. Also investigate better hair shading.&lt;br /&gt;
== Particles ==&lt;br /&gt;
We need to make Eevee compatible with Particle attributes. This is also a good oportunity to optimize the rendering of theses.&lt;br /&gt;
GPU Optimisation with Compute shaders&lt;br /&gt;
Some areas in Eevee can be made faster using compute shaders (probe filtering, AO, SSR, ...). But this requires a bit of work to take benefits from it. Also note that this is only a OpenGL 4.3 feature.&lt;br /&gt;
== Cluster Forward Shading ==&lt;br /&gt;
This is an optimisation technique that allows to render lots of lights in a scene without evaluating them for the whole screen. This means better performance.&lt;br /&gt;
== Viewport compositor ==&lt;br /&gt;
This is a huge project, make the compositor run on top of the viewport in realtime. This means porting all the compositing nodes and logic to Opengl/GLSL. Not all Compositing nodes will be compatible for real-time display and some may have lower quality fallback.&lt;br /&gt;
== Shaded UV view ==&lt;br /&gt;
The UV view could have a shaded display option so you can easily identify each part of the unwrapped model. This could also be a preview of baked texture.&lt;br /&gt;
== Vertex Shader Material ==&lt;br /&gt;
GLSL allow us to manipulate vertices manually before drawing them. This can be used for creating various effects, such as wind effect for vegetation, in a more efficient manner than using modifiers.&lt;br /&gt;
== Parallax Occlusion Mapping ==&lt;br /&gt;
This would be implemented as a dedicated node. It help create the illusion of a carved surface without any additional geometry.&lt;br /&gt;
== Pixel depth offset ==&lt;br /&gt;
This feature can allow to refined blending with other geometry on a per pixel basis. This can also help NPR artists to sort 3D object.&lt;/div&gt;</summary>
		<author><name>wiki&gt;Hypersomniac</name></author>
		
	</entry>
</feed>