<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - Monkey S3D</title>
		<link>https://www.blitzforum.de/worklogs/491/</link>
		<description>Worklog von SEDM</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Sat, 14 Jan 2012 22:27:34 +0100</pubDate>
		<lastBuildDate>Sat, 14 Jan 2012 22:27:34 +0100</lastBuildDate>

		<item>
			<title>Alpha und Parents</title>
			<link>https://www.blitzforum.de/worklogs/491/#3451</link>
			<guid>https://www.blitzforum.de/worklogs/491/#3451</guid>
			<author>Farbfinsternis</author>
			<description>&lt;b&gt;Wichtig:&lt;/b&gt; S3D funktioniert nicht mit der Monkey Demo, erst ab Version 052 ist OpenGL verf&amp;uuml;gbar!&lt;br /&gt;&lt;br /&gt;Version 0.12 bringt einige Verbesserungen mit sich. So ist nun das Culling beeinflussbar, es k&amp;ouml;nnen transparente Texturen verwendet werden und man kann Objekte an andere h&amp;auml;ngen (Parenting)&lt;br /&gt;&lt;br /&gt;Changelog:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;&lt;br /&gt;added&amp;nbsp; &amp;nbsp;&amp;#58; Vector.setW&amp;#58;Void&amp;#40;w&amp;#58;Float = 1.0&amp;#41;&lt;br /&gt;added&amp;nbsp; &amp;nbsp;&amp;#58; Light.setLightType&amp;#58;Void&amp;#40;lightType&amp;#58;Int = 1.0&amp;#41;&lt;br /&gt;added&amp;nbsp; &amp;nbsp;&amp;#58; Entity.addChild&amp;#58;Void&amp;#40;child&amp;#58;Entity&amp;#41;&lt;br /&gt;added&amp;nbsp; &amp;nbsp;&amp;#58; Mesh.setCulling&amp;#58;Void&amp;#40;culling&amp;#58;Int = 0&amp;#41;&lt;br /&gt;added&amp;nbsp; &amp;nbsp;&amp;#58; MeshCulling&amp;#58;Void&amp;#40;mesh&amp;#58;Entity, culling&amp;#58;Int = GL_BACK&amp;#41;&lt;br /&gt;changed&amp;nbsp; &amp;nbsp;&amp;#58; S3D.createCamera&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; S3D.createLight&amp;#40;&amp;#41; now has the optional parameter &amp;quot;lightType&amp;#58;Int = LIGHT_POINT&amp;quot; and &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; S3D.loadMesh&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; S3D.refMesh&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed&amp;nbsp; &amp;nbsp;&amp;#58; CreateCamera&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; CreateLight&amp;#40;&amp;#41; now has the optional parameter &amp;quot;lightType&amp;#58;Int = LIGHT_POINT&amp;quot; and &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; LoadMesh&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; CloseMesh&amp;#40;&amp;#41; now has the optional parameter &amp;quot;parent&amp;#58;Entity&amp;quot;&lt;br /&gt;changed &amp;#58; you can now use transparent texures&lt;br /&gt;changed &amp;#58; backface culling is now active per default but set to &amp;quot;no culling&amp;quot;&lt;br /&gt;surprise&amp;#58; the Example works on Android, GLFW and iOS&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.sedm.de/monkey/s3d/shot12.jpg&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Das Archiv beinhaltet nun nicht nur das Modul selbst, sondern auch einen Ordner im Monkey-Verzeichnis &amp;quot;bananas&amp;quot;. Einfach das S3D Archiv &amp;uuml;ber die Monkey Installation entpacken und alles sollte dort landen wo es hingeh&amp;ouml;rt.&lt;br /&gt;&lt;br /&gt;Man kann nun Objekte an andere anh&amp;auml;ngen (Parenting) was aber derzeit eher als &amp;quot;experimentell&amp;quot; anzusehen ist. Die Position wird zwar korrekt &amp;uuml;bernommen, die Rotation derzeit noch nicht.&lt;br /&gt;&lt;br /&gt;Die zweite Neuerung ist dass man nun transparente Texturen verwenden kann und das &amp;quot;Culling&amp;quot; auf 0 (kein Culling [Default]), GL_FRONT und GL_BACK setzen kann. Dazu gibt es die Methode &amp;quot;setCulling()&amp;quot; im Mesh oder die Funktion MeshCulling().&lt;br /&gt;&lt;br /&gt;Das Example l&amp;auml;uft nicht out-of-the-box:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; w&amp;auml;hle das Target (GLFW, Android oder iOS)&lt;br /&gt;&lt;li&gt; erstelle das Example ohne es auszuf&amp;uuml;hren (Build)&lt;br /&gt;&lt;li&gt; gehe in das Build Verzeichnis des gew&amp;auml;hlten Targets und &amp;ouml;ffne die CONFIG.TXT&lt;br /&gt;&lt;li&gt; f&amp;uuml;ge der Liste der Textdateien die Typen *.obj und *.mtl hinzu (|*.obj|*.mtl)&lt;br /&gt;&lt;li&gt; starte das Example erneut, diesmal darf es auch &amp;quot;Run&amp;quot; sein.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Unter iOS ist zu beachten dass die Option &amp;quot;DepthBuffer&amp;quot; in der CONFIG.TXT auf &amp;quot;true&amp;quot; zu setzen ist.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.sedm.de/monkey/s3d/s3d.zip&quot; target=&quot;_blank&quot;&gt;&amp;gt; Download S3D 0.12 inkl. Example &amp;quot;Sky Isle&amp;quot; &amp;lt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Viel Spa&amp;szlig; mit 3D auf Android und iOS! &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt;</description>
			<pubDate>Sat, 14 Jan 2012 22:27:34 +0100</pubDate>
		</item>

		<item>
			<title>Monkey goes 3D</title>
			<link>https://www.blitzforum.de/worklogs/491/#3449</link>
			<guid>https://www.blitzforum.de/worklogs/491/#3449</guid>
			<author>Farbfinsternis</author>
			<description>Einige haben evtl. den Thread im Monkey Sub verfolgt, nun ist es nicht mehr nur eine Spielerei sondern ein echtes Projekt. Gerade weil Mark Sibly pers&amp;ouml;nlich dieses Projekt unterst&amp;uuml;tzt und hier und da eingreift.&lt;br /&gt;&lt;br /&gt;Ziel dieses Projekts ist es den Blitz3D Sprachstandard so weit es m&amp;ouml;glich ist auf mobile Plattformen wie Android oder iOS zu &amp;uuml;bertragen und dort ebenso einfach 3D Spiele zu erstellen wie dies mit Blitz3D m&amp;ouml;glich ist.&lt;br /&gt;&lt;br /&gt;Derzeit kann man mit S3D &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; Meshes laden wenn sie im Wavefront Object (*.obj) Format vorliegen&lt;br /&gt;&lt;li&gt; Meshes rotieren, positionieren und skalieren&lt;br /&gt;&lt;li&gt; Lichter erzeugen (1)&lt;br /&gt;&lt;li&gt; Referenzen von geladenen Meshes erzeugen (2)&lt;br /&gt;&lt;li&gt; den ganzen Kram hochperformant auf GLFW, Android und iOS ausf&amp;uuml;hren.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;zu (1): OpenGL ES 1.1 unterst&amp;uuml;tzt max. 8 Lichtquellen. Eigentlich muss man OGL die Nummer der Lichtquelle ansagen die man anschalten, translieren oder was auch immer will, S3D regelt das selbst. Erzeugt man in S3D eine neunte Lichtquelle bekommt man &amp;quot;Null&amp;quot; als Ergebnis zur&amp;uuml;ck und wei&amp;szlig; dass man alle verf&amp;uuml;gbaren Lichtquellen verwendet hat.&lt;br /&gt;&lt;br /&gt;zu (2): Eine Referenz auf ein Mesh ist _keine_ Kopie des gesamten Meshes. Geometrie und Textur wird vom geladenen Mesh gelesen. Die Position, Rotation und Skalierung kann f&amp;uuml;r jede Referenz individuell festgelegt werden. Beispiel: Man l&amp;auml;dt einen Baum und erzeugt 100 Referenzen. Jede Referenz kann gedreht, skaliert und positioniert werden. Wird das Original-Mesh ver&amp;auml;ndert, &amp;auml;ndert sich auch die Referenz.&lt;br /&gt;&lt;br /&gt;Im englischen Forum gibt es bereits ein paar Releases, f&amp;uuml;r dieses Worklog will ich aber ein angepasstes und verbessertes Beispiel posten, darum heute hier kein Link.&lt;br /&gt;</description>
			<pubDate>Fri, 13 Jan 2012 22:21:04 +0100</pubDate>
		</item>


	</channel>
</rss>
