﻿<?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%3ASource%2FMaterials%2FNodes</id>
	<title>Dev:Source/Materials/Nodes - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FMaterials%2FNodes"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Materials/Nodes&amp;action=history"/>
	<updated>2026-11-05T21:23:05Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Materials/Nodes&amp;diff=42350&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Materials/Nodes&amp;diff=42350&amp;oldid=prev"/>
		<updated>2018-06-28T17:45:30Z</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日 (木) 17:45時点における版&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:Source/Materials/Nodes&amp;diff=42349&amp;oldid=prev</id>
		<title>wiki&gt;Mindrones: moved Dev:Source/Blender/Materials/Nodes to Dev:Source/Materials/Nodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Materials/Nodes&amp;diff=42349&amp;oldid=prev"/>
		<updated>2010-03-09T10:20:11Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/Dev:Source/Blender/Materials/Nodes&quot; class=&quot;mw-redirect&quot; title=&quot;Dev:Source/Blender/Materials/Nodes&quot;&gt;Dev:Source/Blender/Materials/Nodes&lt;/a&gt; to &lt;a href=&quot;/Dev:Source/Materials/Nodes&quot; title=&quot;Dev:Source/Materials/Nodes&quot;&gt;Dev:Source/Materials/Nodes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Note:=&lt;br /&gt;
It appears that to implement this system, the rendering code will require &amp;quot;hooks&amp;quot; to be added for the different parts, and possibly a total rewrite. Having looked furthar into it, I feel that I am not capable of this, so anyone that wants to make the renderer more modular should feel free to go right ahead. Remove this note if you want to take that part over, and once it&amp;#039;s done various matarial systems can be experimented with. It might be easiest to start trying to make it possible to put a python script in the place of the part that renders spec, dif, norm, refl, trans, etc etc...&lt;br /&gt;
&lt;br /&gt;
=Node Based Materials=&lt;br /&gt;
This section is to document node based materials, as introduced in [http://blender.org/modules.php?op=modload&amp;amp;name=phpBB2&amp;amp;file=viewtopic&amp;amp;t=4407&amp;amp;sid=a221655a8638b638c12d76363f79454a this thread]. Feel free to correct grammar and typo&amp;#039;s, and to add alternative ideas at the end of the page.&lt;br /&gt;
&lt;br /&gt;
The basic idea is to inplement a crafter ([http://www.funnyfarm.tv/crafter/research.htm link]) type system in blender, so that we get node-based matarials. At this stage it appears that an XML format will be used, that will be converted into the blender system on import - However the only absolute decision is that at some stage a language that can implement a flow-chart will be used...&lt;br /&gt;
&lt;br /&gt;
We use the experience of [[BlenderDev/ExistingSystems|ExistingSystems]] to help make a working system - it is possible that something will be discovered that fits our needs exactly&lt;br /&gt;
&lt;br /&gt;
===Specification===&lt;br /&gt;
*ImplicitVariables&lt;br /&gt;
*ShaderLibrary&lt;br /&gt;
*and after some discussion [[BlenderDev/LanguageSpecification|LanguageSpecification]]&lt;br /&gt;
&lt;br /&gt;
==Parts:==&lt;br /&gt;
&lt;br /&gt;
There are basically three parts to this, each divided into linking and blocks, with the blocks providing the actual maths and code, and the linking linking them together... They are:&lt;br /&gt;
*The blender representation: This has to be taken into account when designing the XML, as it gets created on saving, and possibly also right before the render... Probably, the whole internal stucture would use  thins, but the XML pays a big part in the design and linking of its methods...&lt;br /&gt;
*The XML: This has to take into account several things, like how easily it can be converted into an efficient internal shader, how easy it is to code, how extendable it is, and how easily it is represented in  the GUI...&lt;br /&gt;
*The Crafter interface: This should allow both high and low level design of shaders&lt;br /&gt;
&lt;br /&gt;
==Random notes==&lt;br /&gt;
Some random notes, to be moved and tidied up&lt;br /&gt;
&lt;br /&gt;
*How to fit volumetric shaders in? Do they get calculated at the front edge of the mesh, and do they take into account other objects within?&lt;br /&gt;
*One idea is having the renderer call the shaders each time it hits a matarial: basically the renderer assembles the data for the render, and each shader calls the one behind it (nex tmesh in z_buffer or the  raytraced way) if a more_visable var is greater than 0 - it gets decremented by the transparancy shader as nessecery -- not sure what this would do to the speed, but it should be similer to how it works now? If  there are more ideas on this, make a new page.&lt;br /&gt;
*Textures can be done simply using the existing system, until someone wants to re-write them in a different way.&lt;br /&gt;
*The whole system should be modular and replaceable, and only rely on outside parts if that makes it faster. Existing C code can be stuck into wrapper blocks as needed once a fomat is decided upon.&lt;br /&gt;
*We need to make a source tree of blender, and host it somewhere once we get coding.&lt;br /&gt;
*Maybe we could make a finalized specs page, where anything completely non-controversial can be documented: including objectives of the renderer, etc.&lt;br /&gt;
*One benefit of basing this on XML is that each shader could contain separate code for both the final render system and the viewport system. This way, the real time viewport shaders could be written with a high level shading language to match the output shaders. An additional benefit of this method is that it makes it easier to target multiple external rendering engines.-- [[Test.EliotMack#01Jan105|EM]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links and images to outline the idea==&lt;br /&gt;
&lt;br /&gt;
*[http://www.funnyfarm.tv/crafter/see.htm Crafter Link]&lt;br /&gt;
*[[Image:Dev-crafter9.png]]&lt;br /&gt;
*[[Image:Dev-simple.png]]&lt;br /&gt;
&lt;br /&gt;
*Linking method: - The rectangle links are created by the enveloping control structure, the circle ones are implicitly created when saying that an &amp;quot;output&amp;quot; is got from another blocks output. &amp;lt;br /&amp;gt; [[Image:Dev-linkage.png|Linking method]]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Mindrones</name></author>
		
	</entry>
</feed>