<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.darwinbots.com/index.php?action=history&amp;feed=atom&amp;title=Darwinbots3%2FModule%2FGraphics.Core</id>
		<title>Darwinbots3/Module/Graphics.Core - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.darwinbots.com/index.php?action=history&amp;feed=atom&amp;title=Darwinbots3%2FModule%2FGraphics.Core"/>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Darwinbots3/Module/Graphics.Core&amp;action=history"/>
		<updated>2026-04-07T22:24:57Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>http://wiki.darwinbots.com/index.php?title=Darwinbots3/Module/Graphics.Core&amp;diff=4934&amp;oldid=prev</id>
		<title>Numsgil at 16:39, 15 June 2009</title>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Darwinbots3/Module/Graphics.Core&amp;diff=4934&amp;oldid=prev"/>
				<updated>2009-06-15T16:39:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:39, 15 June 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Collage Ref ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Collage Ref ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Collages are ''templates'' for drawing compound shapes.&amp;#160; In order to actually draw the collage, you must initialize a CollageRef.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Collages are ''templates'' for drawing compound shapes.&amp;#160; In order to actually draw the collage, you must initialize a CollageRef.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The collage ref can contain specific &amp;quot;local&amp;quot; information about a collage.&amp;#160; For instance, if a collage had an animation sequence, the collage ref would contain the time stamp in to that animation sequence.&amp;#160; In this way a single collage is sort of a template from which multiple individual instances can be spawned.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Entity ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Entity ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot; &gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Cel ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Cel ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As in animation cel.&amp;#160; A cel &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;can contain multiple &lt;/del&gt;entities.&amp;#160; In order to keep the draw orders sane, draw order only affects the draw order in a cel.&amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Once a cel has been drawn, the draw &lt;/del&gt;order &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;buffer is wiped clean so that &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;next &lt;/del&gt;cel &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;can be drawn&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;It helps to think of a cel as a piece of cellophane on which entities are painted according to their draw order.&amp;#160; Just like in an animation studio, multiple cels can make up a final scene (for instance, a background cel, a foreground cel, and a character cel can all be drawn).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;an &lt;/ins&gt;animation cel.&amp;#160; A cel &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is basically a &amp;quot;layer&amp;quot; onto which &lt;/ins&gt;entities &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;are drawn&lt;/ins&gt;.&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order to keep the draw orders sane, draw order only affects the draw order in a cel.&amp;#160; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Draw &lt;/ins&gt;order &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;only affects &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;relative ordering of primitives in a &lt;/ins&gt;cel.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It helps to think of a cel as a piece of cellophane on which entities are painted according to their draw order.&amp;#160; Just like in an animation studio, multiple cels can make up a final scene (for instance, a background cel, a foreground cel, and a character cel can all be drawn).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DrawQueue ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== DrawQueue ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key DarwinbotsWiki-DBWK_:diff:version:1.11a:oldid:4931:newid:4934 --&gt;
&lt;/table&gt;</summary>
		<author><name>Numsgil</name></author>	</entry>

	<entry>
		<id>http://wiki.darwinbots.com/index.php?title=Darwinbots3/Module/Graphics.Core&amp;diff=4931&amp;oldid=prev</id>
		<title>Numsgil: New page: '''Graphics.Core''' is an interface module which allows other modules to draw without understanding the different APIs involved.  == Selecting a graphics module == Depending on the platfor...</title>
		<link rel="alternate" type="text/html" href="http://wiki.darwinbots.com/index.php?title=Darwinbots3/Module/Graphics.Core&amp;diff=4931&amp;oldid=prev"/>
				<updated>2009-06-15T08:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &amp;#039;&amp;#039;&amp;#039;Graphics.Core&amp;#039;&amp;#039;&amp;#039; is an interface module which allows other modules to draw without understanding the different APIs involved.  == Selecting a graphics module == Depending on the platfor...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Graphics.Core''' is an interface module which allows other modules to draw without understanding the different APIs involved.&lt;br /&gt;
&lt;br /&gt;
== Selecting a graphics module ==&lt;br /&gt;
Depending on the platform (windows, XBox, etc.) different graphics APIs might be used.  Often, there is a choice between multiple different APIs.  The GraphicsAdapterManager singleton searches through the current executing assembly for graphics modules which can be used.  The current executing directory is also searched for binaries of the form &amp;quot;Graphics*.dll&amp;quot;, and any graphics modules found in them are extracted.&lt;br /&gt;
&lt;br /&gt;
GraphicsAdapaterManager.Modules is an IEnumberable&amp;lt;string&amp;gt; containing the names of all the available modules.  Select one from the list and set the current adapter with a call to GraphicsAdapterManager.Singleton.SetCurrentModule(moduleName);&lt;br /&gt;
&lt;br /&gt;
== DrawPrimitive ==&lt;br /&gt;
A DrawPrimitive is all the information necessary to draw a shape in a body's local space.  It contains all the information about transformations, vertices, colors, draw order, style, and color.  Plus obviously what sort of shape it is.&lt;br /&gt;
&lt;br /&gt;
The DrawPrimitive is the most basic form for all graphics.&lt;br /&gt;
&lt;br /&gt;
== Collages ==&lt;br /&gt;
A '''collage''' is a collection of draw primitives.  A collage defines a template for drawing a compound shape.&lt;br /&gt;
&lt;br /&gt;
Adding DrawPrimitives to a collage can be done manually.  However the preferred use is to use the collage as an object which knows how to add primitives to itself.  By setting the Color and Style properties, the collage can act as a sort of immediate mode smart drawing canvas.&lt;br /&gt;
&lt;br /&gt;
== Collage Ref ==&lt;br /&gt;
Collages are ''templates'' for drawing compound shapes.  In order to actually draw the collage, you must initialize a CollageRef.&lt;br /&gt;
&lt;br /&gt;
== Entity ==&lt;br /&gt;
An entity represents an actual drawable object.  It combines a CollageRef with a world transform.&lt;br /&gt;
&lt;br /&gt;
== Cel ==&lt;br /&gt;
As in animation cel.  A cel can contain multiple entities.  In order to keep the draw orders sane, draw order only affects the draw order in a cel.  Once a cel has been drawn, the draw order buffer is wiped clean so that the next cel can be drawn.  It helps to think of a cel as a piece of cellophane on which entities are painted according to their draw order.  Just like in an animation studio, multiple cels can make up a final scene (for instance, a background cel, a foreground cel, and a character cel can all be drawn).&lt;br /&gt;
&lt;br /&gt;
== DrawQueue ==&lt;br /&gt;
A draw queue holds the different cels to be drawn, and orders them appropriately.&lt;br /&gt;
&lt;br /&gt;
== WindowHandle ==&lt;br /&gt;
A window handle represents an actual drawable surface somewhere on screen.  By submitting the draw queue to be drawn, graphics can be put on to the screen.&lt;/div&gt;</summary>
		<author><name>Numsgil</name></author>	</entry>

	</feed>