﻿<?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=%E5%88%A9%E7%94%A8%E8%80%85%3AJulianeisel%2FGSoC-2016%2FCode_Design</id>
	<title>利用者:Julianeisel/GSoC-2016/Code Design - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AJulianeisel%2FGSoC-2016%2FCode_Design"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Julianeisel/GSoC-2016/Code_Design&amp;action=history"/>
	<updated>2026-07-05T04:08:38Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Julianeisel/GSoC-2016/Code_Design&amp;diff=151917&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Julianeisel/GSoC-2016/Code_Design&amp;diff=151917&amp;oldid=prev"/>
		<updated>2018-06-28T21:17:44Z</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:17時点における版&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=%E5%88%A9%E7%94%A8%E8%80%85:Julianeisel/GSoC-2016/Code_Design&amp;diff=151916&amp;oldid=prev</id>
		<title>wiki&gt;Julianeisel: /* Layer Manager: Code Design */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Julianeisel/GSoC-2016/Code_Design&amp;diff=151916&amp;oldid=prev"/>
		<updated>2016-08-18T22:31:35Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Layer Manager: Code Design&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Layer Manager: Code Design =&lt;br /&gt;
&lt;br /&gt;
{{Note|Note|This page talks about &amp;quot;layer groups&amp;quot;, however those will likely be replaced by proper nesting of object layers.}}&lt;br /&gt;
&lt;br /&gt;
== Scene Data Design ==&lt;br /&gt;
&lt;br /&gt;
The following shows a really rough overview on how layers and objects are stored within the scene. It's in the spirit of [[Dev:2.8/Source/DataDesign|this]] data design proposal.&lt;br /&gt;
&lt;br /&gt;
=== Old Design (pre 2.8) ===&lt;br /&gt;
&lt;br /&gt;
[[File:Scene_layers_ton_old.png|right|500px]]&lt;br /&gt;
&lt;br /&gt;
The old design was pretty simple. All objects were indirectly stored as a list in the scene. Indirectly because a struct called &amp;quot;Base&amp;quot; was wrapped around each object.&lt;br /&gt;
The scene, each 3D view and each object of it had a bit-field, which together formed the base of the old layer system. Layer visibility checks were as simple as comparing the bit-fields from the object and either the scene or the 3D View if available.&lt;br /&gt;
&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
=== New Design (post 2.8) ===&lt;br /&gt;
&lt;br /&gt;
[[File:Scene_layers_new.png|right|500px|thumb|Design overview. Note that the actual code structures look slightly different.]]&lt;br /&gt;
&lt;br /&gt;
Where the scene contained a base list in the old design, the new design contains a Layer Tree. This layer tree has a number of items, each item has a specified type (e.g. object layer or layer group). While all instances of a layer type share some basic data (using C-style inheritance with &amp;quot;LayerTreeItem&amp;quot; struct as base struct), each layer type can specify its own data.&lt;br /&gt;
It's also possible to register custom properties for each layer type or for the layer tree item. This will allow render engines - or any other part of the code - to give layers their own data.&lt;br /&gt;
&lt;br /&gt;
Each object layer contains a list of bases, the ones that have been assigned to this layer. A layer group uses a list of child layer tree items instead.&lt;br /&gt;
&lt;br /&gt;
All of this is handled on BKE level. Drawing is done in a separate architecture as part of the editor code module.&lt;/div&gt;</summary>
		<author><name>wiki&gt;Julianeisel</name></author>
		
	</entry>
</feed>