﻿<?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%3AChingachgook%2FGsoc2009%2FDiary</id>
	<title>利用者:Chingachgook/Gsoc2009/Diary - 版の履歴</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%3AChingachgook%2FGsoc2009%2FDiary"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Chingachgook/Gsoc2009/Diary&amp;action=history"/>
	<updated>2026-06-13T17:21:28Z</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:Chingachgook/Gsoc2009/Diary&amp;diff=88103&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:Chingachgook/Gsoc2009/Diary&amp;diff=88103&amp;oldid=prev"/>
		<updated>2018-06-28T18:41: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日 (木) 18:41時点における版&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:Chingachgook/Gsoc2009/Diary&amp;diff=88102&amp;oldid=prev</id>
		<title>wiki&gt;Chingachgook: /* Documentation */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Chingachgook/Gsoc2009/Diary&amp;diff=88102&amp;oldid=prev"/>
		<updated>2009-07-28T08:39:15Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Documentation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Learning the basics of COLLADA  ==&lt;br /&gt;
&lt;br /&gt;
=== May 8th  ===&lt;br /&gt;
&lt;br /&gt;
In COLLADA, primitives can be presented in 2 forms: polygons as &amp;amp;lt;polygons&amp;amp;gt; and &amp;amp;lt;polylist&amp;amp;gt; and triangles as &amp;amp;lt;triangles&amp;amp;gt; &amp;amp;lt;trifans&amp;amp;gt; and &amp;amp;lt;tristrips&amp;amp;gt;. Ignoring line primitives for now. &lt;br /&gt;
&lt;br /&gt;
Since Blender allows only quadrilaterals and triangles, I will need to find out how to convert polygons to triangles or quads or a combination of these.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In case vertex normals are missing in a COLLADA file, they should be generated.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
In COLLADA all coordinates are right-handed by definition - this is good since Blender uses right-handed too&amp;amp;nbsp;:-).&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== May 12th&amp;lt;br&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
How to determine if a MFace is a quad or triangle? According to exotic.c, if a face is quad then face-&amp;amp;gt;v4 is non-zero.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Now I know how to use addvertlist, addfacelist functions - progress! &lt;br /&gt;
&lt;br /&gt;
Arystan introduced me to operator basics and menus based on operators.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== May 17th&amp;lt;br&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
COLLADA DOM&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
There are [https://collada.org/mediawiki/index.php/DOM_guide:_Creating_documents#The_dom.2A_classes two ways] to work with COLLADA DOM: dae* classes and dom* classes. dae* classes provide a generic string interface to data. dom* classes, in contrast, provide direct access to data, i.e. floats are stored as floats. Although dae* classes are easier to learn than dom* classes (there's only a single daeElement class vs. tens of dom* classes), to keep code compact and efficient, I'll use dom* classes as much as possible.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== May 18th&amp;lt;br&amp;gt;  ===&lt;br /&gt;
&lt;br /&gt;
Studying a few build systems that Blender uses: make and scons. &lt;br /&gt;
&lt;br /&gt;
Build with make succeded, but only release and with a few hacks. Debug build failed. Maybe later. &lt;br /&gt;
&lt;br /&gt;
Built with scons before, very easy. Documentation on how to add a new library/module is available in the source tree in doc/blender-scons-dev.txt. Thanks jesterKing!&lt;br /&gt;
&lt;br /&gt;
=== May 24th&amp;lt;br&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
Studying OpenCollada.&lt;br /&gt;
&lt;br /&gt;
=== May 25th ===&lt;br /&gt;
*Coding environment prepared.&lt;br /&gt;
*Added &amp;quot;Collada Export&amp;quot; menu, the code is in wm_operators.c for now.&lt;br /&gt;
&lt;br /&gt;
=== May 27th ===&lt;br /&gt;
&lt;br /&gt;
Studying OpenCollada. It differs strongly from Collada DOM.&lt;br /&gt;
&lt;br /&gt;
=== May 30th ===&lt;br /&gt;
&lt;br /&gt;
Order of elements inside &amp;lt;Collada&amp;gt; (doesn't matter?) borrowed from examples in collada spec:&lt;br /&gt;
*asset&lt;br /&gt;
**required tags: created, modified - create with StreamWriter::appendTextElement&lt;br /&gt;
**up_axis(y up by default) - z up in Blender&lt;br /&gt;
*library_visual_scenes&lt;br /&gt;
*scene - is necessary for programs that allow only one scene&lt;br /&gt;
*library_geometries&lt;br /&gt;
*other&lt;br /&gt;
TODO:&lt;br /&gt;
*don't forget unit measurement conversions&lt;br /&gt;
*parenting&lt;br /&gt;
&lt;br /&gt;
=== May 31st ===&lt;br /&gt;
Can not create &amp;lt;created&amp;gt; and &amp;lt;modified&amp;gt; with Asset class.&lt;br /&gt;
&lt;br /&gt;
=== June 3d ===&lt;br /&gt;
prepareToAppendValues() calls another function prepareBaseToAppendValues()&lt;br /&gt;
which creates the following&lt;br /&gt;
*&amp;lt;source id = &amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
**&amp;lt;float(or any other type)_array id = &amp;quot;&amp;quot; count = count * stride&amp;gt;&lt;br /&gt;
At this step I have to insert data into &amp;lt;float_array&amp;gt; with appendValues().&lt;br /&gt;
Next I close &amp;lt;float_array&amp;gt; and add the following&lt;br /&gt;
**&amp;lt;technique_common&amp;gt;&lt;br /&gt;
***&amp;lt;accessor source = &amp;quot;&amp;quot; = &amp;quot;&amp;quot; stride = &amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
****&amp;lt;param name = &amp;quot;&amp;quot; type = &amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
****...&lt;br /&gt;
***&amp;lt;/accessor&amp;gt;&lt;br /&gt;
**&amp;lt;/technique_common&amp;gt;&lt;br /&gt;
*&amp;lt;/source&amp;gt;&lt;br /&gt;
with finish()&lt;br /&gt;
&lt;br /&gt;
Now I know how to create &amp;lt;created&amp;gt; &amp;lt;modified&amp;gt;. It seems that&lt;br /&gt;
add() method creates them automatically - cool =)&lt;br /&gt;
&lt;br /&gt;
=== June 5th ===&lt;br /&gt;
Very basic geometry exporter is almost ready!&amp;lt;br&amp;gt;&lt;br /&gt;
What is left:&lt;br /&gt;
*add blender's api&lt;br /&gt;
&lt;br /&gt;
=== June 9th ===&lt;br /&gt;
Texcoords(UVs?) should be stored in &amp;lt;source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes for personal reference  ==&lt;br /&gt;
&lt;br /&gt;
*COLLADA floats are actually C++ doubles &lt;br /&gt;
*[https://collada.org/mediawiki/index.php/Portal:Tutorials COLLADA skinning and accessors] &lt;br /&gt;
*[http://www.blender.org/development/release-logs/blender-240/how-armatures-work/ How armatures work] - will be very helpful on phase-2 of this project&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation  ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.khronos.org/files/collada_spec_1_5.pdf COLLADA 1.5 specification]&lt;/div&gt;</summary>
		<author><name>wiki&gt;Chingachgook</name></author>
		
	</entry>
</feed>