﻿<?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%2FArchitecture%2FExternal_Engine_Interface</id>
	<title>Dev:Source/Architecture/External Engine Interface - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3ASource%2FArchitecture%2FExternal_Engine_Interface"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Architecture/External_Engine_Interface&amp;action=history"/>
	<updated>2026-04-26T15:40:53Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Source/Architecture/External_Engine_Interface&amp;diff=54828&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Architecture/External_Engine_Interface&amp;diff=54828&amp;oldid=prev"/>
		<updated>2018-06-28T17:51:36Z</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:51時点における版&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/Architecture/External_Engine_Interface&amp;diff=54827&amp;oldid=prev</id>
		<title>wiki&gt;Mindrones bot: Bot: Fixing redirects</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Source/Architecture/External_Engine_Interface&amp;diff=54827&amp;oldid=prev"/>
		<updated>2010-05-27T08:41:27Z</updated>

		<summary type="html">&lt;p&gt;Bot: Fixing redirects&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=General API for external engines=&lt;br /&gt;
==Overview==&lt;br /&gt;
The main goal of this is making a clean API for embedding external Game/Render Engine.&lt;br /&gt;
Make able to use blender as general game/interactive environment application developer tool with custom or existing open source engines. The usual developing method is making models with a modeler and than build level or environment with custom program. Blender Game Engine still enable for us to join model and environment building, but the game engine has limited features and blender's main mission is to be a modeler not a game engine (I mean the programmer power is concentrating on modeler/renderer feature implementations ). Also there are several open source graphics/game engines, what are often suffers lack of level editor tools. This project wants to enable engine developers to use blender as a general real-time editor.&lt;br /&gt;
&lt;br /&gt;
==Todo==&lt;br /&gt;
*Think out requirements&lt;br /&gt;
**real-time view&lt;br /&gt;
**custom GUI panels&lt;br /&gt;
&lt;br /&gt;
*move current GE into a plugin&lt;br /&gt;
&lt;br /&gt;
*implementations:&lt;br /&gt;
**ogre/bullet engine plugin (compatible with current Blender GE)&lt;br /&gt;
**crystal space plugin&lt;br /&gt;
&lt;br /&gt;
*coming implementations:&lt;br /&gt;
**Utah State University's (not yet released) game engine - contact blendmaster1024 on blenderartsts&lt;br /&gt;
&lt;br /&gt;
*document the API&lt;br /&gt;
&lt;br /&gt;
==Design Plan==&lt;br /&gt;
===Introduction===&lt;br /&gt;
The main goal of this project is to allow embedding external rendering or full game engines.&lt;br /&gt;
This also will provide an interface to binary plugins add custom components to User Interface.&lt;br /&gt;
This feature will have python binding too. This allows more convenient tool creation, and can be used a richer UI component library then current python Draw module.&lt;br /&gt;
&lt;br /&gt;
ex.: With this, current python tool scripts (Exporters, Edit/Object/etc mode tool scripts) may place they UI permanently somewhere into Buttons Window.&lt;br /&gt;
&lt;br /&gt;
From external engine's view this feature is crucial if we want to edit it's objects properties.&lt;br /&gt;
ex.: Particle System Editor Panel for Ogre3D embedded in blender allows edit real-time showing the result in External Game Engine Window (new feature).&lt;br /&gt;
&lt;br /&gt;
Also an another new feature will be added. Plugins can define new Object Types extending some custom Properties the core object types. Plugins can provide an editor UI for the new object types.&lt;br /&gt;
There will be a feature add in Outliner Window too. If an object is recognized new type, and there is an editor belongs to it, then the editors icon is shown same as current object types .&lt;br /&gt;
All new feature will be wrapped by Python API.&lt;br /&gt;
All binary plugins will be recognized, load and registered blender initialization.&lt;br /&gt;
Python scripts parsing and registering will not change.&lt;br /&gt;
&lt;br /&gt;
A New Space type will be added: External Engine View. This will show the engine real-time view.&lt;br /&gt;
    &lt;br /&gt;
(Current game engine will be moved into a plugin.)&lt;br /&gt;
&lt;br /&gt;
(The Logic panel will be moved into a subtab under Plugins tab.)&lt;br /&gt;
&lt;br /&gt;
New Plugin tab will be added to place plugins their own UI stuff it's subtab here.&lt;br /&gt;
(placed at Logic panel's current place.)&lt;br /&gt;
    &lt;br /&gt;
Components:&lt;br /&gt;
*Blender General Plugin API&lt;br /&gt;
*External Engine Window (SpaceType)&lt;br /&gt;
*User Interface Extension API&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Blender General Plugin API====&lt;br /&gt;
----&lt;br /&gt;
=====Introduction=====&lt;br /&gt;
This will handle the binary plugins.&lt;br /&gt;
Provides same API for binary plugins than Python API for scripts.&lt;br /&gt;
	&lt;br /&gt;
=====Features=====&lt;br /&gt;
Provides consistent binary plugin API with Python Bindings.&lt;br /&gt;
Plugin types:&lt;br /&gt;
*External Renderer Plugin (no real-time, it is for external ray-tracers)&lt;br /&gt;
*External Engine Plugin&lt;br /&gt;
*(Texture Plugin, Sequencer Plugin maybe if needed)&lt;br /&gt;
&lt;br /&gt;
Provided Interfaces:&lt;br /&gt;
*general(always required): Plugin info, version, implemented interfaces.&lt;br /&gt;
*UI extender: can create it's own subtab under Plugins tab with its widgets&lt;br /&gt;
*External Engine:&lt;br /&gt;
can implement more feature, but not all necessary&lt;br /&gt;
features: 3d view syncron mode, game mode asyncron, syncron game mode.&lt;br /&gt;
Comment: in syncron mode, when game is paused, models are shown syncronuosly during editing.&lt;br /&gt;
*Object Type extender:&lt;br /&gt;
can extends standard object types with some predefined properties.&lt;br /&gt;
ex: ParticleSystem type can be an extended Empty or&lt;br /&gt;
Impostor type can be derived from Mesh&lt;br /&gt;
	    &lt;br /&gt;
=====Detailed Description=====&lt;br /&gt;
todo: implementation info&lt;br /&gt;
&lt;br /&gt;
: might be handled in most parts by this plugin-proposal [[Dev:Ref/Requests/Plugin-System|Requests/Plugin-System]] --[[User:Schlaile|Peter Schlaile]] 19:57, 25 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
=====Deliverables=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====External Engine Window (SpaceType)====&lt;br /&gt;
----&lt;br /&gt;
=====Introduction=====&lt;br /&gt;
This is a new External Engine View space type.&lt;br /&gt;
This embeds External Engine's view.&lt;br /&gt;
Provides various functionality to engine plugins, but it's not necessary to plugin support all.&lt;br /&gt;
For converting blender's internal data the new Render API will be used, because it is same task to                         provide data for real-time render or not real-time render.          &lt;br /&gt;
If it isn't possible than plugins have to convert blender data. &lt;br /&gt;
            &lt;br /&gt;
Features&lt;br /&gt;
*show one object&lt;br /&gt;
*show a full scene&lt;br /&gt;
*run the (game)application&lt;br /&gt;
**pause mode: in this mode the datas are syncronized to blender data.&lt;br /&gt;
           &lt;br /&gt;
=====Detailed Description=====&lt;br /&gt;
=====Deliverables=====&lt;br /&gt;
&lt;br /&gt;
	    &lt;br /&gt;
&lt;br /&gt;
====User Interface Extension API====&lt;br /&gt;
----&lt;br /&gt;
=====Introduction=====&lt;br /&gt;
This will provide the UI extendability feature for plugins.            &lt;br /&gt;
Goal of this is providing persistent lifetime to tools. With this tool's UI will act as a normal built in UI components.&lt;br /&gt;
&lt;br /&gt;
Tools can be shown in:&lt;br /&gt;
*buttons view&lt;br /&gt;
*they can create a new tab&lt;br /&gt;
*integration into existing tabs&lt;br /&gt;
&lt;br /&gt;
=====Features=====&lt;br /&gt;
=====Detailed Description=====&lt;br /&gt;
=====Deliverables=====&lt;/div&gt;</summary>
		<author><name>wiki&gt;Mindrones bot</name></author>
		
	</entry>
</feed>