<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet title="XSL formatting" type="text/xsl" href="/atom.xsl" ?> <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"> <title>BlenderCE</title> <link rel="self" type="application/atom+xml" href="http://blenderce.blogspirit.com/atom.xml"/> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/" /> <subtitle>BlenderCE - Blender for PocketPC</subtitle> <updated>2008-08-20T12:58:16+02:00</updated> <rights>All Rights Reserved blogSpirit</rights> <generator uri="http://www.blogspirit.com/" version="5.0">blogSpirit.com</generator> <id>http://blenderce.blogspirit.com/</id>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>We are moving...</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2006/04/19/we-are-moving.html" />  <id>tag:blenderce.blogspirit.com,2006-04-19:720291</id> <updated>2006-04-19T10:05:00+02:00</updated> <published>2006-04-19T10:05:00+02:00</published>   <summary>   BlenderCE website moved... Please update your bookmarks. In few days, no...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> &lt;p&gt;&lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;BlenderCE website moved... Please update your bookmarks. In few days, no access to this Blog will be possible any more.&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;The new website can be found here:&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://russose.free.fr/&quot;&gt;http://russose.free.fr/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font color=&quot;#FF0000&quot;&gt;&lt;b&gt;Happy Blending&lt;br /&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;font color=&quot;#FF0000&quot;&gt;Salvatore Russo&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>Introduction</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2006/02/11/introduction.html" />  <id>tag:blenderce.blogspirit.com,2006-02-11:566900</id> <updated>2006-02-11T17:45:00+01:00</updated> <published>2006-02-11T17:45:00+01:00</published>   <category term="1 - Introduction" scheme="http://www.blogspirit.com/ns/types#category" />    <summary>  Blender is a fantastic open source&amp;nbsp;package providing almost everything...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> &lt;div style=&quot;text-align: justify&quot;&gt;Blender is a fantastic open source&amp;nbsp;package providing almost everything you could need in Computer Graphics. It was already ported for old IPAQ but&amp;nbsp;the project was not open source.&lt;br /&gt; The aim of this Blog is to provide all information about the advancement of BlenderCE, a project to make Blender run again on all modern PocketPC. Don’t hesitate to comment any article or make suggestions. And if you want to join me in this adventure, you are welcome.&lt;br /&gt; &lt;br /&gt; Each section will cover technical areas of such a port and the blog will be regularly updated&amp;nbsp;with the evolution of the project (and my knowledge). But please be indulgent and aware that everything here is done on the free time of a poor worker :=)&lt;/div&gt; &lt;div style=&quot;text-align: justify&quot;&gt; &lt;div style=&quot;text-align: justify&quot;&gt; &lt;div style=&quot;text-align: center&quot;&gt;&lt;a class=&quot;undefined&quot; href=&quot;http://blenderce.blogspirit.com/5_-_download/&quot;&gt;&lt;/a&gt; &lt;div style=&quot;text-align: center&quot;&gt;&lt;strong&gt;&lt;a class=&quot;undefined&quot; href=&quot;http://blenderce.blogspirit.com/5_-_download/&quot;&gt;&lt;/a&gt;&lt;/strong&gt; &lt;div style=&quot;text-align: justify&quot;&gt; &lt;div style=&quot;text-align: center&quot;&gt;&lt;strong&gt;&lt;a class=&quot;undefined&quot; href=&quot;http://blenderce.blogspirit.com/5_-_download/&quot;&gt;&lt;img style=&quot;border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0.7em 0px; border-right-width: 0px&quot; alt=&quot;blenderCE_large_1.png&quot; src=&quot;http://blenderce.blogspirit.com/images/blenderCE_large_1.png&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt; &lt;br /&gt; &lt;font color=&quot;#000000&quot;&gt;&lt;font color=&quot;#FF0000&quot;&gt;&lt;strong&gt;BlenderCE alpha is available&lt;/strong&gt;&lt;/font&gt;. This new version is the first one supporting modelling, texturing, lightning, rendering, animating! Let the raytracer or the radiosity illuminate your PocketPC :=)&lt;/font&gt;&lt;/div&gt; &lt;div style=&quot;text-align: justify&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;br /&gt; The BlenderCE forum is also open! Don't hesitate to share with us your experiences with BlenderCE, the good ones (screenshots from artist using BlenderCE could replace my first basic ones!)&amp;nbsp; but also the bad one (bugs that you find to fixe them).&lt;/font&gt;&lt;/div&gt; &lt;div style=&quot;text-align: justify&quot;&gt;&lt;br /&gt; I hope you will have lot of fun with this new version but please keep in mind that BlenderCE is still in a test stage.&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>Download</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2006/02/11/download.html" />  <id>tag:blenderce.blogspirit.com,2006-02-11:566891</id> <updated>2006-02-11T17:35:00+01:00</updated> <published>2006-02-11T17:35:00+01:00</published>   <category term="5 - Download" scheme="http://www.blogspirit.com/ns/types#category" />    <summary> Please be conscious that BlenderCE&amp;nbsp;is a  test version . Soft reset and...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> &lt;p&gt;Please be conscious that BlenderCE&amp;nbsp;is a &lt;span style=&quot;font-weight: bold&quot;&gt;test version&lt;/span&gt;. Soft reset and even Hard reset may happen and&amp;nbsp;I&amp;nbsp;am&amp;nbsp;not responsible&amp;nbsp;for any use made with BlenderCE. So please &lt;span style=&quot;font-weight: bold&quot;&gt;backup all your data from the main memory&lt;/span&gt; before&amp;nbsp;using BlenderCE (you can use Microsoft Activesync to do).&lt;br /&gt; &lt;br /&gt; BlenderCE is an open-source project based on Blender 2.37a. For the moment, I only test it on my A620BT with Windows Mobile 2003. It is compiled for ARM processor.&lt;br /&gt; You can use&amp;nbsp;&lt;a href=&quot;http://www.symbolictools.de/public/pocketconsole/download.htm&quot; target=&quot;_blank&quot;&gt;PocketConsole&lt;/a&gt; but it is not necessary.&lt;br /&gt; &lt;br /&gt; Many thanks to Konrad Naumann and Marc Chehab for giving me some space to host my downloads!&lt;br /&gt; &lt;br /&gt; &lt;a class=&quot;undefined&quot; href=&quot;http://blendertestbuilds.de/index.php?dir=Testbuilds/BlenderCE/Windows%20Mobile%202003/russose/02_04_2006/&quot;&gt;BlenderCE alpha - Mirror 1&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; &lt;a class=&quot;undefined&quot; href=&quot;http://www.blender3d.ch/~blenderce/02_04_2006/BlenderCE.zip&quot;&gt;BlenderCE alpha - Mirror 2&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; To find button codes of your PocketPC, you can have a look &lt;a class=&quot;undefined&quot; href=&quot;http://www.pocketpcfaq.com/developer/pocketpcbuttons.htm&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;br /&gt; &lt;p&gt;&lt;span style=&quot;font-weight: bold; text-decoration: underline&quot;&gt;What's new&amp;nbsp; (02/04/2006):&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; - Texturing, rendering, animating is now possible.&lt;br /&gt; - Models are NOT limited to 40K vertices any more.&lt;br /&gt; - More Hardware keys.&lt;br /&gt; - Bug with centres fixed.&lt;br /&gt; - Loading functionalities more reliable.&lt;br /&gt; - And other improvements.&lt;/p&gt; &lt;p&gt;&lt;br /&gt; &lt;span style=&quot;font-weight: bold; text-decoration: underline&quot;&gt;Known Problem:&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; - Vertex Paint mode crash my PocketPC (hard reset needed!). DON'T try it!&lt;br /&gt; - Image loading is very very instable. Almost every time, it crashes BlenderCE.&lt;br /&gt; - PNG output is not working. But you can use other image format.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt; &lt;span style=&quot;font-weight: bold; text-decoration: underline&quot;&gt;Limitations:&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; - Rendered images are limited to 1024*1024.&lt;br /&gt; - No ESC during rendering.&lt;br /&gt; - It is not possible to play an animation with play. Just use the sequencer.&lt;br /&gt; - Box selection is not working. Just use the Lasso selection with ctrl+mouse.&lt;br /&gt; - In the oops window, block links are not drawn for the moment.&lt;br /&gt; - No sound and no game engine.&lt;br /&gt; - I desactivated the sound window, the text editor and the image window (too instable!).&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; I will be happy&amp;nbsp; &lt;strong&gt;&lt;a class=&quot;undefined&quot; href=&quot;http://forums.blendertestbuilds.de/&quot;&gt;to have any feedback on BlenderCE&lt;/a&gt;&lt;/strong&gt;.&lt;br /&gt; &lt;br /&gt; Happy blending,&lt;br /&gt; Salvatore Russo&lt;/p&gt; </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>About the team</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2005/12/02/about-the-team.html" />  <id>tag:blenderce.blogspirit.com,2005-12-02:446794</id> <updated>2005-12-02T11:15:00+01:00</updated> <published>2005-12-02T11:15:00+01:00</published>   <category term="About the team" scheme="http://www.blogspirit.com/ns/types#category" />    <summary> Today, the team is… me :=) Alone… with my Asus A620BT. I hope I could write...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> Today, the team is… me :=) Alone… with my Asus A620BT. I hope I could write soon more information about more people here.&lt;br /&gt; &lt;br /&gt; My name is Salvatore Russo, I am 26, French/Italian and living in Germany. I am working for an Aeronautical company and working on BlenderCE on my free time.&lt;br /&gt; I am not a “coder specialist”, not an “embedded system specialist” and not an “OpenGL specialist” neither. I am just fascinated by Blender and would like to run it in the extreme environment of an embedded system. Everything needed to be learned for this project... and I continue to learn :=) Of course to be able to blend everywhere but also to show how crazy is this software! I am convinced that embedded systems need an application like Blender to have virtual world in your pocket. </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>Lessons learned</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2005/12/02/lessons-learned.html" />  <id>tag:blenderce.blogspirit.com,2005-12-02:446790</id> <updated>2005-12-02T11:10:00+01:00</updated> <published>2005-12-02T11:10:00+01:00</published>   <category term="4 - Lessons learned" scheme="http://www.blogspirit.com/ns/types#category" />    <summary> There are two experiences I would like to share to avoid anyone to reproduce...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> There are two experiences I would like to share to avoid anyone to reproduce some of my previous misunderstanding.&lt;br /&gt; &lt;h2&gt;Ansi and Unicode on a PocketPC&lt;/h2&gt; Documentation on the Web about “porting an application to PocketPC” will say that a PocketPC needs to work in Unicode.&lt;br /&gt; The difference between Ansi and Unicode is that a character is coded with one byte for Ansi whereas it is coded with two bytes for Unicode. With other words, considering that “char” are Ansi characters and “wchar_t” are Unicode characters, sizeof(char) = 1 whereas sizeof (wchar_t) =2. The impact on memory allocation is that you will need to add sizeof (wchar_t) everywhere sizeof(char) is implicitly used. For example, to allocate memory, you will need to write:&lt;br /&gt; &lt;br /&gt; &lt;div style=&quot;text-align: center&quot;&gt;variable = (wchar_t*)malloc(length * sizeof(wchar_t)).&lt;br /&gt; &lt;br /&gt; &lt;div style=&quot;text-align: justify&quot;&gt;You could think: “Ah! That’s why my application is crashing! PocketPC works in Unicode and my memory allocations are wrong!”.&lt;br /&gt; After some investigations, you will easily draw an overall picture about differences between Ansi and Unicode: e.g. “char” have to be declared “wchar_t”, str* functions have to be replaced by their wcs* equivalent functions, you will also probably find a sexy list of differences summarizing all you need.&lt;br /&gt; &lt;br /&gt; And you will begin to convert all Blender source code in Unicode. And as soon as you will arrive to the famous Blender guardedalloc library, it will be the end of the story… Even the Dutch comments will not help you :=) You will then realize that you have no chance to succeed ( Ton words!).&lt;br /&gt; All this lost energy comes from a misunderstanding of the sentence “PocketPC needs to work in Unicode”. PocketPC can work as you like, it can even run Linux! But if you use the &lt;span style=&quot;text-decoration: underline&quot;&gt;Microsoft API&lt;/span&gt;, then you have to provide only Unicode parameters. But &lt;span style=&quot;text-decoration: underline&quot;&gt;only&lt;/span&gt; for these API functions (e.g. createwindow). The good news is that Blender isolation of platform specific stuff will make your life easier. You will only need to make the Ansi/Unicode conversion &lt;span style=&quot;text-decoration: underline&quot;&gt;locally&lt;/span&gt; as soon as a Microsoft API function is needed.&lt;br /&gt; &lt;br /&gt; That’s all.&lt;/div&gt; &lt;div style=&quot;text-align: justify&quot;&gt;&lt;br /&gt; &amp;nbsp;&lt;/div&gt; &lt;h2 style=&quot;text-align: justify&quot;&gt;Data misalignment exception&lt;/h2&gt; &lt;div style=&quot;text-align: justify&quot;&gt;Another error that was really time consuming was a “Data misalignment exception”. As soon as you will encounter this error, you could check what does “Data alignment” mean. It will be very interesting because you will discover that embedded system (with ARM processor) are very sensitive to data alignment. You will also discover that Blender as a fantastic management of data alignment to assure portability. Looking for a solution of your “data misalignment” problem, there is a big chance that you are forced to better understand what &lt;a href=&quot;http://www.blender.org/cms/Notes_on_SDNA.436.0.html&quot; target=&quot;_blank&quot;&gt;SDNA&lt;/a&gt; are in Blender, what you are able and not able to do.&lt;br /&gt; &lt;br /&gt; To solve this error, I was forced to generate properly dna.c from my PocketPC what is a good point.&lt;br /&gt; But after all this adventure, you will probably discover that this “Data misalignment exception” is only on of you bad memory allocation. Nothing more.&lt;br /&gt; No need to take a bazooka to kill a fly :=)&lt;/div&gt; &lt;/div&gt; </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>Thank you</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2005/12/02/thank-you.html" />  <id>tag:blenderce.blogspirit.com,2005-12-02:446792</id> <updated>2005-12-02T11:10:00+01:00</updated> <published>2005-12-02T11:10:00+01:00</published>   <category term="Thank you" scheme="http://www.blogspirit.com/ns/types#category" />    <summary> I don’t want to take the credit of other people work. Without the following...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> I don’t want to take the credit of other people work. Without the following projects, it would have been impossible for me to even see a simple monkey on my PocketPC.&lt;br /&gt; &lt;div&gt; &lt;div style=&quot;text-align: justify&quot;&gt; &lt;ul&gt; &lt;li&gt;The Blender team for their amazing work and for their answers to my stupid questions. GHOST was able to work on my PocketPC thanks to Maarten Gribnau, the original author of GHOST and Kent Mein who answered my questions. And if Blender can compile for my PocketPC, it is&amp;nbsp;thanks to its fantastic design.&lt;/li&gt; &lt;li&gt;All people behind Vincent open source project, especially Hans-Martin Will.&lt;/li&gt; &lt;li&gt;Daniel Wagner for his Klimt project and his KlimtES library.&lt;/li&gt; &lt;li&gt;All people behind Rasteroid making this library available for non-commercial use.&lt;/li&gt; &lt;li&gt;All people behind PythonCE open source project.&lt;/li&gt; &lt;li&gt;The&amp;nbsp;&lt;a class=&quot;undefined&quot; href=&quot;http://www.symbolictools.de/public/pocketconsole/&quot;&gt;PocketConsole&lt;/a&gt; project.&lt;/li&gt; &lt;li&gt;All people behind the various library needed for Blender and ported for PocketPC (png, zlib, SDL, jpg).&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;br /&gt; Even if Klimt is not used today with BlenderCE, this project helped me a lot&amp;nbsp;to better understand OpenGL and PocketPC coding. Thanks to Daniel Wagner again for having provided me KlimtES who made first run BlenderCE.&lt;/div&gt; </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>OpenGL ES against OpenGL</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2005/12/02/opengl-es-against-opengl.html" />  <id>tag:blenderce.blogspirit.com,2005-12-02:446777</id> <updated>2005-12-02T11:05:00+01:00</updated> <published>2005-12-02T11:05:00+01:00</published>   <category term="3 - OpenGL ES against OpenGL" scheme="http://www.blogspirit.com/ns/types#category" />    <summary>  Introduction  OpenGL on an embedded system is the biggest challenge to...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> &lt;h2&gt;Introduction&lt;/h2&gt; OpenGL on an embedded system is the biggest challenge to overcome to run BlenderCE. In fact, Blender uses deeply OpenGL to draw everything and we need for Blender a full OpenGL implementation.&lt;br /&gt; &lt;br /&gt; I considered several implementations for Blender:&lt;br /&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;http://www.mesa3d.org/&quot; target=&quot;_blank&quot;&gt;Mesa3d&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://studierstube.org/klimt/&quot; target=&quot;_blank&quot;&gt;Klimt&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://ogl-es.sourceforge.net/index.htm&quot; target=&quot;_blank&quot;&gt;Vincent&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;http://www.hybrid.fi/main/download/tools.php&quot; target=&quot;_blank&quot;&gt;Rasteroid&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; There is a real effort to specify and develop an OpenGL implementation for embedded devices. This is driven by the &lt;a href=&quot;http://www.khronos.org/opengles/&quot; target=&quot;_blank&quot;&gt;Khronos Group&lt;/a&gt; building the new&amp;nbsp; OpenGL ES standard. Vincent (Open Source) and Rasteroid (free for non commercial use) are two implementations of OpenGL ES available.&lt;br /&gt; We can use this wonderful work optimized for embedded device to run BlenderCE. But OpenGL ES is only &lt;span style=&quot;font-weight: bold&quot;&gt;a subset of OpenGL&lt;/span&gt; and of course, vital gl_functions for BlenderCE are missing. Excluding all functions only called by BGL.c (Python), here is a summary of features needed by BlenderCE but not included in OpenGL ES specifications:&lt;br /&gt; &lt;ol&gt; &lt;li&gt;Begin/End&lt;/li&gt; &lt;li&gt;Pixel drawing (e.g. bitmap, Draw/Copypixel)&lt;/li&gt; &lt;li&gt;Selection and Feedback&lt;/li&gt; &lt;li&gt;Draw/Read buffer (no access to specified buffer)&lt;/li&gt; &lt;li&gt;Evaluators and Nurbs (used for curves)&lt;/li&gt; &lt;/ol&gt; Different solutions were considered.&lt;br /&gt; &lt;h2&gt;Mesa3d&lt;/h2&gt; Because of these missing gl_functions, I considered Mesa (full Open Source OpenGL implementation). Mesa successfully compiled for the PocketPC and worked properly but there was a problem of performances. If this solution was retained, Mesa should have been optimized for embedded system: that would have meant at least converting the whole &lt;span style=&quot;text-decoration: underline&quot;&gt;floating point&lt;/span&gt; math in &lt;span style=&quot;text-decoration: underline&quot;&gt;fixed point&lt;/span&gt;. This is not a small task and after some considerations, I preferred spend energy working on a common OpenGL ES basis taking advantage of this great work deployed especially for embedded devices. But Mesa is still considered at least for educational purpose.&lt;br /&gt; &lt;h2&gt;Klimt/KlimtES&lt;/h2&gt; At the first beginning of BlenderCE project, I was using Klimt (Open Source) including all indispensable Begin/end paradigm. Daniel Wagner (author of Klimt) provided me also KlimtES, an amazing library implementing additional Klimt functions on top of OpenGL ES. But the source code of KlimtES is &lt;span style=&quot;text-decoration: underline&quot;&gt;closed&lt;/span&gt;. KlimtES, associated with Vincent, was the first able to &quot;run&quot; Blender.&lt;br /&gt; &lt;br /&gt; Please notice that Klimt implements a very interesting fixed-point math approach (overloading the float type by a generic klfloat type) that could be used later on in the optimization phase.&lt;br /&gt; &lt;h2&gt;OpenGL ES wrapper&lt;/h2&gt; For Blender, I decided to use the same approach as KlimtES. I wrote an OpenGL wrapper running on top of OpenGL ES to implement gl_functions needed by Blender. Of course, given that KlimtES sources are closed , it was not question here to stole KlimtES code and reproduce what Daniel Wagner does.&lt;br /&gt; The first inspiration of this wrapper was based on the &lt;a href=&quot;http://www.noctemware.com/q3ce.html&quot; target=&quot;_blank&quot;&gt;Quake III for PocketPC&lt;/a&gt;. Only Open Source projects are considered (including Klimt) and I take care to not take inspiration from KlimtES.&lt;br /&gt; &lt;br /&gt; This wrapper (&lt;span style=&quot;font-weight: bold&quot;&gt;OGLES2OGL&lt;/span&gt;) is today able to run all functions needed by Blender except evaluator and front buffer drawing pixel.&lt;br /&gt; &lt;br /&gt; &lt;h2&gt;Rasteroid or Vincent?&lt;/h2&gt; Vincent is an Open Source OpenGL ES implementation. Vincent supports the SIP (Virtual keyboard) because it doesn’t use GAPI today. But there are some bugs (nothing preventing Blender to run) and performance are not so good as Rasteroid. Finally, we should for performance reasons, use fixed-point math to avoid Vincent making to many conversions.&lt;br /&gt; &lt;br /&gt; Rasteroid is &lt;span style=&quot;font-weight: bold&quot;&gt;not&lt;/span&gt; an Open Source project. A whole company is working hard on it so it offers better performance as Vincent. We cannot use the SIP with Rasteroid because it uses GAPI (but we will probably not use the SIP in BlenderCE anyway). An other difference is that Rasteroid implements its own floating-point math so there is no real need to provide Rasteroid fixed point parameters.&lt;br /&gt; &lt;br /&gt; BlenderCE today supports &lt;span style=&quot;font-weight: bold&quot;&gt;only&lt;/span&gt; Rasteroid because it is using a function not implemented in Vincent. But I would like to restore the compatibility with Vincent. As soon as I have more time, I will try to implement the missing function in Vincent.&lt;br /&gt; &lt;br /&gt; For everybody interested in this part of the Blender port, the &lt;a href=&quot;http://www.opengl.org/documentation/blue_book_1.0/&quot; target=&quot;_blank&quot;&gt;Redbook&lt;/a&gt; is an indispensable reference.&lt;br /&gt; &lt;br /&gt; Don’t hesitate to share any comments.&lt;br /&gt; Salvatore </content> </entry>  <entry> <author> <name>russose</name> <uri>http://blenderce.blogspirit.com/about.html</uri> </author> <title>Ghost</title> <link rel="alternate" type="text/html" href="http://blenderce.blogspirit.com/archive/2005/12/02/ghost.html" />  <id>tag:blenderce.blogspirit.com,2005-12-02:446774</id> <updated>2005-12-02T11:00:00+01:00</updated> <published>2005-12-02T11:00:00+01:00</published>   <category term="2 - Ghost" scheme="http://www.blogspirit.com/ns/types#category" />    <summary> Here is my understanding of GHOST. At the beginning, there was the Big Bang,...</summary> <content type="html" xml:base="http://blenderce.blogspirit.com/"> Here is my understanding of GHOST. At the beginning, there was the Big Bang, then the Earth, then Human beings…and then came the wonderful idea to write Blender!&lt;br /&gt; But Blender needed a “good head” to control events, windows, keys, mouse, etc…. Lot of candidates wanted to be nominated for this task, the famous GLUT participate also to the challenge… but GLUT failed in the fight and the winner was: &lt;div&gt; &lt;div style=&quot;text-align: center&quot;&gt;GHOST&lt;/div&gt; &lt;div style=&quot;text-align: center&quot; align=&quot;left&quot;&gt; &lt;div style=&quot;text-align: justify&quot;&gt; &lt;div style=&quot;text-align: justify&quot;&gt;&lt;br /&gt; The first condition before running BlenderCE was to have a functional GHOST implementation. This library is coded in such a smart way that it was not necessary to write everything from scratch to make it work on my PocketPC. Only *Win32.cpp files were adapted to have *WinCE.cpp file.&lt;br /&gt; &lt;br /&gt; GHOST implements the metaphors we will use for our PocketPC. For example, we emulate today the shift, alt and control button with 3 hardware keys. The left button is a stylus click and the right button is a stylus click with an hardware key activated. The keyboard (SIP) works fine with GHOST (see OpenGL section also) but the use of a keyboard on an embedded device should be examined in the future. Today, GHOST behaves well with the stylus as a mouse but cursors are not supported. We should keep in mind that Blender has a fantastic gesture motion system that is the ultimate solution for embedded devices.&lt;br /&gt; Concerning windows, GHOST seems to act in a proper way. On a PocketPC, there is no real notion of maximizing or reducing windows. All windows will be maximized.&lt;br /&gt; All these notions are coded in:&lt;br /&gt; &lt;ul&gt; &lt;li&gt;GHOST_WindowWinCE.cpp for windows and OpenGL (ES) management&lt;/li&gt; &lt;li&gt;GHOST_SystemWinCE.cpp for everything else (including event management)&lt;/li&gt; &lt;/ul&gt; Finally, this library is the entry point to test all king of work displaying something. Thus, GHOST is tested thanks to any OpenGL tests provided (see OpenGL section), including the “Gear test” or the “Monkey test” (you are not dreaming, you can see Suzanne on your screen :=) ). For the moment, the “Multitest” is not working so good because I didn’t really adapted it.&lt;br /&gt; &lt;br /&gt; The first introduction I read about GHOST is very good and I advise anyone that wants to dance with GHOST to read &lt;a href=&quot;http://projects.blender.org/docman/view.php/13/4/ghost_doc.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; Don’t hesitate to share any comments.&lt;br /&gt; Salvatore&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; </content> </entry>  </feed>