<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TextureMind &#187; Demos</title>
	<atom:link href="http://www.texturemind.com/postcategory/demos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.texturemind.com</link>
	<description>...the home page of Gianpaolo Ingegneri</description>
	<lastBuildDate>Sat, 17 Jul 2010 08:51:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>UFO Aquarium 3D</title>
		<link>http://www.texturemind.com/post743/</link>
		<comments>http://www.texturemind.com/post743/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 20:27:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=743</guid>
		<description><![CDATA[(Unrelated Framework Oriented) Aquarium 3D is a little demo of an engine that I&#8217;m developing for my framework. It uses a multithreading system with a thread for the physic engine and a thread that draws the graphics on the screen: the two threads are perfectly synchronized to maintain the best fluidity with different framerates. 

The [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">(Unrelated Framework Oriented) Aquarium 3D is a little demo of an engine that I&#8217;m developing for my framework. It uses a multithreading system with a thread for the physic engine and a thread that draws the graphics on the screen: the two threads are perfectly synchronized to maintain the best fluidity with different framerates.<span id="result_box"><span style="background-color: #ffffff;" title="una versione che era minimamente giocabile"> </span></span></p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/yj76D5sDCiE&amp;hl=it_IT&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/yj76D5sDCiE&amp;hl=it_IT&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">The physic engine has a static number of iterations per second, in this case 30. It can obtain a good fluidity of movements also on higher fps of the graphics card (like 75 for example) upscaling the static framerate with a series of trajectory corrections. It uses also OpenGL for graphics,GLUT to open the window and lib3ds to import the 3d studio meshes.<span> The fish models are property of this site: </span>http://toucan.web.infoseek.co.jp/3DCG/3ds/FishModelsE.html</p>
<p style="text-align: justify;">Gianpaolo Ingegneri<span id="result_box"><span style="background-color: #ffffff;" title="In passato esso si chiamava Ultimate Framework ma dato che esistevano già parecchi framework con questo stesso nome ed ho deciso di rinominarlo in Unrelated Framework (Gianpaolo Ingegneri 2010 (c) all right reserved)."><br />
Copyright @ 2010 – All right reserved</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post743/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ultra Fast Interpolation (via software)</title>
		<link>http://www.texturemind.com/post718/</link>
		<comments>http://www.texturemind.com/post718/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 14:24:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=718</guid>
		<description><![CDATA[In general, interpolation is a method used to construct a range of values from a set of data points. In digital image computing there are several methods of interpolation to improve the aspect of a transformed image but there is a problem: all of them are too slow to work via software in real time. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">In general, interpolation is a method used to construct a range of values from a set of data points. In digital image computing there are several methods of interpolation to improve the aspect of a transformed image but there is a problem: all of them are too slow to work via software in real time. Infact, we can see fast interpolations in 3d games only because they are performed via hardware by the graphic card (infact in the past it was very difficult to see an interpolation performed in real time).  However, interpolation is usefull  not only for 3d engines but they are an important part of digital image computing so there is a real need to develop a method to make it faster, expecially if you have to work with a large amount of images at the same time. For this reason I have programmed from scratch a set of  optimized algorithms of interpolation that are definite as in the past&#8230; but 100 times faster! The only limitation is that they can be used only for scale trasform but numerically they are perfect and faster at the same time.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-719" title="UltraFastInterpolation" src="http://www.texturemind.com/wp-content/uploads/2010/02/UltraFastInterpolation.jpg" alt="UltraFastInterpolation" width="531" height="465" /></p>
<p style="text-align: justify;">Moreover, they are useful to generate procedural images in real time, like textures, that can be used in 3d engine or in some paint softwares where you cannot have a 3d card to speed up all the stuff. In this demo you can see the high performaces of different algorithms with images of 16 bit per pixel. To make sure that my interpolation is numerically perfect, I have included also the calculus of the normal map and the bump mapping effect. With biquadratic interpolation you will obtain a still perfect scaled bump map because the normal map calculus is derivative and the biquadratic is a second order reconstruction filter.</p>
<p style="text-align: justify;">There are the performances on my computer:</p>
<p style="text-align: justify;">Zoom 1x (on a 512&#215;512 image)</p>
<p style="text-align: justify;">- Nearest: 400 fps &#8211; Bilinear: 270 fps &#8211; Biquadratic: 80 fps</p>
<p style="text-align: justify;">Zoom 4x (on a 512&#215;512 image)</p>
<p style="text-align: justify;">- Nearest: 965 fps &#8211; Bilinear: 780 fps &#8211; Biquadratic: 245 fps</p>
<p style="text-align: justify;">Zoom 16x (on a 512&#215;512 image)</p>
<p style="text-align: justify;">- Nearest: 1405 fps &#8211; Bilinear: 1165 fps &#8211; Biquadratic: 390 fps</p>
<p style="text-align: justify;">As you can see, the speed of the algorithm is<span id="result_box"><span style="background-color: #ffffff;" title="direttamente proporzionale alla grandezza dello zoom"> directly proportional to the size of the zoom, however it is very fast also at the minimum size of 1x. This condition is very useful if you have to resize images or to generate textures with a large amount of stretched layers, like perlin noise. </span></span>CPU: Intel 2 QuadCore 2333 Mhz;  RAM: 4 GB DDRII 800Mhz</p>
<p style="text-align: right"><a href="/files/UltraFastInterpolation.zip"><img style="border: 0pt none;" src="/images/d_win32.png" border="0" alt="" width="129" height="48" /> </a></p>
<p style="text-align: left;">Gianpaolo Ingegneri<span id="result_box"><span style="background-color: #ffffff;" title="In passato esso si chiamava Ultimate Framework ma dato che esistevano già parecchi framework con questo stesso nome ed ho deciso di rinominarlo in Unrelated Framework (Gianpaolo Ingegneri 2010 (c) all right reserved)."><br />
Copyright @ 2010 – All right reserved</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post718/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time Perfect V1.0</title>
		<link>http://www.texturemind.com/post711/</link>
		<comments>http://www.texturemind.com/post711/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 21:29:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=711</guid>
		<description><![CDATA[An application with moving objects needs to simulate the physics laws with an iterative model. The engine is typically based on a static number of frames per second but in many cases we have different fps on different machines so we need a method to obtain the same number of iterations per second of the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">An application with moving objects needs to simulate the physics laws with an iterative model. The engine is typically based on a static number of frames per second but in many cases we have different fps on different machines so we need a method to obtain the same number of iterations per second of the physics engine. Usually we use a time of waiting to downscale the frame rate of the application to the physics engine one. This method it&#8217;s not so bad but in many cases it can ruin the fluidity of the objects movements. For this reason I have coded a different method that upscale the framerate of the physic engine with a series of trajectory corrections.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-716" title="TPDemoV1.0" src="http://www.texturemind.com/wp-content/uploads/2010/02/TPDemoV1.01.jpg" alt="TPDemoV1.0" width="500" height="374" /></p>
<p style="text-align: left;">In this demo you can see how my method cannot influence the fluidity of the movements while the old method of downscale is way worst because the 50 fps are not syncronized via hardware.</p>
<p style="text-align: right"><a href="/files/timeperfectv1.0(demo).zip"><img style="border: 0pt none;" src="/images/d_win32.png" border="0" alt="" width="129" height="48" /></a></p>
<p style="text-align: right">
<p style="text-align: left;">Gianpaolo Ingegneri<span id="result_box"><span style="background-color: #ffffff;" title="In passato esso si chiamava Ultimate Framework ma dato che esistevano già parecchi framework con questo stesso nome ed ho deciso di rinominarlo in Unrelated Framework (Gianpaolo Ingegneri 2010 (c) all right reserved)."><br />
Copyright @ 2010 – All right reserved</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post711/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Texture Generation V1.0</title>
		<link>http://www.texturemind.com/post582/</link>
		<comments>http://www.texturemind.com/post582/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 19:22:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=582</guid>
		<description><![CDATA[This time it was a little bit harder. As you can see in this video, my engine can generate in real time very complex textures with the maximum detail at the maximum speed possible.

Each texture is generated in real time at the frame rate showed on the top-left corner of the window (the &#8220;generation&#8221; label).
- [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">This time it was a little bit harder. As you can see in this video, my engine can generate in real time very complex textures with the maximum detail at the maximum speed possible.</p>
<p style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uf3568moBQM&amp;hl=it_IT&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/uf3568moBQM&amp;hl=it_IT&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;"><span>Each texture is generated in real time at the frame rate showed on the top-left corner of the window (the &#8220;generation&#8221; label).</span></p>
<p style="text-align: justify;">- Lumps (512&#215;512, 200 objs, 16 bpp, 345 FPS)<br />
- Blobs (512&#215;512, 16 bpp, 107 FPS)<br />
- Perlin noise (512&#215;512, 8 octaves, 16 bpp, 115 FPS)</p>
<p style="text-align: justify;">Also, the normal map and the bump mapping are calculated in real time. I used 16 bit per pixel to have more precision when I get the normal map (for more informations check my High Static Range video). Precision and speed of this engine are awesome. The final result can loop in all horizontal and vertical directions.</p>
<p style="text-align: justify;">CPU: Intel 2 QuadCore 2333 Mhz;  RAM: 4 GB DDRII 800Mhz</p>
<p style="text-align: right"><a href="/files/TextureGenerationDemo.exe"><img style="border: 0pt none;" src="/images/d_win32.png" border="0" alt="" width="129" height="48" /></a></p>
<p>©2009 Gianpaolo Ingegneri</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post582/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>High Static Range</title>
		<link>http://www.texturemind.com/post473/</link>
		<comments>http://www.texturemind.com/post473/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 08:31:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=473</guid>
		<description><![CDATA[This demo shows a new feature about the texture generation engine implemented in my Unrelated Framework. The normalmap used by bump mapping is calculated on the base of an heightmap generated with two different methods: Low Static Range and High Static Range. The enviroment bump mapping shows the difference in quality between the two ranges.

The [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">This demo shows a new feature about the texture generation engine implemented in my Unrelated Framework. The normalmap used by bump mapping is calculated on the base of an heightmap generated with two different methods: Low Static Range and High Static Range. The enviroment bump mapping shows the difference in quality between the two ranges.</p>
<p style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/87gJiKwbRfg&amp;hl=it&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/87gJiKwbRfg&amp;hl=it&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: justify;">The first range uses only 8 bits per pixel that is too low to represent a continuous surface like the sphere generated in this example and as result we can see many rings on the surface during the light effect. <span>On the contrary, an high range of 16 bits per pixel is perfect to have a light effect on a continuous surface infact we don&#8217;t have any kind of imperfection. I could use the famous High Dynamic Range to generate the height map, but in my opinion it could be too expensive for the use of memory and the lack of speed (32 bits floating point per pixel, or 16 bits half-float has continuous conversions because cpu doesn&#8217;t support it). </span></p>
<p style="text-align: right"><a href="/files/hsr_demo.exe"><img style="border: 0pt none;" src="/images/d_win32.png" border="0" alt="" width="129" height="48" /></a></p>
<p>©2009 Gianpaolo Ingegneri</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post473/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picture Tube</title>
		<link>http://www.texturemind.com/post46/</link>
		<comments>http://www.texturemind.com/post46/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 17:24:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/post46/</guid>
		<description><![CDATA[This is a demo about drawing loop textures with a picture tube technique. The blit functions of my engine can write an alpha source image to a destination buffer preserving the alpha channel information. This technique is useful to design alpha textures and to make some background effect as shown in the picture.


©2008 Gianpaolo Ingegneri
]]></description>
			<content:encoded><![CDATA[<p align="justify">This is a demo about drawing loop textures with a picture tube technique. The blit functions of my engine can write an alpha source image to a destination buffer preserving the alpha channel information. This technique is useful to design alpha textures and to make some background effect as shown in the picture.</p>
<p style="text-align: center"><img src="/images/posts/picturetube.jpg" border="0" alt="" width="400" height="313" /></p>
<p style="text-align: right"><a href="/files/picture_tube.zip"><img src="/images/d_win32.png" border="0" alt="" width="129" height="48" /></a></p>
<p>©2008 Gianpaolo Ingegneri</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post46/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blit Tech (via software engine)</title>
		<link>http://www.texturemind.com/post45/</link>
		<comments>http://www.texturemind.com/post45/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 22:44:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Demos]]></category>
		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.texturemind.com/?p=45</guid>
		<description><![CDATA[Finally I&#8217;ve released what I hope will be the first in a long series of demonstrations about the potentiality of my Unrelated Framework. This demo shows some graphic effects to demonstrate the enormous flexibility of the blit engine. Strictly coded via software, it can run on lowend configurations with an excellent frame rate.

There is a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Finally I&#8217;ve released what I hope will be the first in a long series of demonstrations about the potentiality of my Unrelated Framework. This demo shows some graphic effects to demonstrate the enormous flexibility of the blit engine. Strictly coded via software, it can run on lowend configurations with an excellent frame rate.</p>
<p style="text-align: center"><img src="/images/posts/blitdemo.jpg" border="0" alt="" width="400" height="300" /></p>
<p align="justify">There is a custom font format very useful for future development on platforms where there is no freetype support or to resolve the annoying problem that you cannot use the true type hinting informations without a specific license. Moreover, my engine includes other effects like alpha blending, complex bitmap fonts and bump mapping. There is no use of graphics card because all the drawing algorithms have been reprogrammed from scratch by myself and the image buffer is displayed in fullscreen using the basic gdi functions of the operating system. However, in the architecture of my framework you can overload all the via software drawing functions with the graphic card functions of the other famous api like opengl or direct3d.</p>
<p style="text-align: right"><a href="/files/blit_tech_demo.zip"><img src="/images/d_win32.png" border="0" alt="" width="129" height="48" /></a></p>
<p>©2008 Gianpaolo Ingegneri</p>
]]></content:encoded>
			<wfw:commentRss>http://www.texturemind.com/post45/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
