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… 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.
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.
As you can see, the speed of the algorithm is 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. CPU: Intel 2 QuadCore 2333 Mhz; RAM: 4 GB DDRII 800Mhz
Gianpaolo Ingegneri
Copyright @ 2010 – All right reserved
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’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.
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.
Gianpaolo Ingegneri
Copyright @ 2010 – All right reserved
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 “generation” label).
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.
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 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. 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’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’t support it).
If you are madly raptured by the Biotronic game on Facebook, and you have got some buddies with a peerless score, then this software has been written for you. Now you have the opportunity to increase your score by several hundred thousand points with a minimal effort.
my personal record: 7.407.095 points (level 53)
About the AUTOPLAY:
If you press SPACE, SHIFT, CONTROL or 0 NUMPAD the program will choose the block to move on the base of the best case possible (like combos or five blocks to make a multicolor bomb). This version is improved also in detection of blocks and it can move the multicolor bombs.
Instant Download
Now Only €6.90
New Version
Secure Links
Assistance
For version 0.4 click BUY NOW!!! (the free one is only 0.3 demo)
How to use it?
Its very easy. Just launch the application, then you see a window (there is a BioSolver v0.4″ label on the top) with inside a screen filled with a set of coloured tiles. At this point, you may run Biotronic on Facebook and overlap the Biosolver window to perfectly match the screen of the game (it’s important). You will see the boxes around the blocks you need to move in order to complete a triplet.
Older versions
VERSION 0.3:
Instant Download
Now Only €5.90
Secure Links
Assistance
A little autoplay implemented… you can do 1 million for sure.
VERSION 0.2:
Instant Download
Now Only €4.90
Secure Links
Assistance
Make a good points record without the autoplay.
Overview
My experience:
Before creating this software i wasnt bad at all, but after playing for a week i was with a score of 130.000 points only. Then, after the production of the first version, my score has growth to 400.000 and beyond just in one evening! Thanks to the last version (v0.4) my record is of 7.407.095 points (level 53)
Demo version:
You have only about 2 minutes and half screen. If you like this tool click the “buy now” button in this page and buy the full version (€ 9.90) without limits (the service of selling is provided by bmtMicro).
Warning: Before buying, test the free demo version to see if the final version will work in your computer because the orders will be not refunded. Moreover, be sure that you are buying the right product name because “I will not refund any purchase”. Thanks.
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.
Finally I’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 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.
Il cosiddetto modo planar è sempre stato un impedimento per quei programmatori che avevano intenzione di creare effetti grafici tridimensionali sull’Amiga, cosa che invece riusciva facilissima sui pc perchè supportavano nativamente il modo chunky. Esiste infatti una famosa disputa tra chi difendeva le peculiarità del planar (utile per i giochi 2d) e chi invece ne esaltava i difetti (inutile per i giochi 3d), resta comunque una verità indiscutibile: senza chunky non è possibile lavorare direttamente con i pixel, e questa è una gravissima limitazione per chi vuole realizzare effetti grafici di qualsiasi tipo, cioè non ancorati a certe particolari caratteristiche dell’hardware, come rotazioni di immagini, motori in texture mapping, bump mapping, etc.
Fortunatamente esistono delle tecniche di conversione che permettono di minimizzare queste differenze e rendere la vita più facile ai programmatori che tutt’ora, per scopi puramente hobbystici, hanno intenzione di sviluppare qualche piccolo lavoro grafico su questa macchina del passato. Anch’io mi ci sono cimentato con esiti positivi e dato che in rete il materiale scarseggia ho deciso di pubblicare in questo articolo un piccolo progetto che incorpora le tecniche di conversione c2p e p2c più veloci (programmate in assembler) con un esempio di utilizzo all’interno di un listato in c per la visualizzazione degli effetti grafici in tempo reale.
Il sottocampionamento, noto anche come subsampling, è un algoritmo che permette di ridurre il numero di campioni di un segnale digitale oppure di un’immagine senza andare incontro, durante l’inevitabile perdita di informazione, al famoso difetto di aliasing. E’ importante ridurre il più possibile questo difetto, perchè l’aliasing potrebbe provocare nei suoni un fastidioso brusio oppure nelle immagini una percezione di forme imprecise o addirittura totalmente alterate.
All’interno dello zip potete trovare un articolo che tratta il filtraggio delle immagini digitali mediante trasformata FFT 2D (Fast Fourier Transform – Trasformata di Fourier Veloce). Viene fatta un’ampia introduzione sulla teoria che sta alla base di questa tecnica ed analizzate nel dettaglio le diverse strategie implementative dal punto di vista della programmazione in c.
Nel pacchetto sono inclusi i sorgenti completi in c, alcune immagini in formato pgm per fare delle prove e l’eseguibile nel caso abbiate subito voglia di vedere qualcosa di pratico. Oltre alla realizzazione della trasformata di fourier veloce, per poter lavorare in modo completo sullo spettro delle frequenze, sono stati presi in esame tre tipi di filtri diversi: ideale, butterworth e gaussiano. Viene affrontato anche il tema dell’uso dei filtri passabanda come soluzione per correggere eventuali disturbi periodici all’interno di un’immagine.
Textures of natural surface like ice or lava in bmp format, 128×128. They don’t contain realistic elements and have been designed for platform3d or arcade with essential graphics.
Texture of terrains and rocks in BMP format, 128×128. They don’t contain realistic elements and have been designed for platform3d or arcade with essential graphics.
Texture of floors in BMP format, 128×128. They don’t contain realistic elements and have been designed for platform3d or arcade with essential graphics.
Texture of bricks in BMP format, 128×128. They don’t contain realistic elements and have been designed for platform3d or arcade with essential graphics.
Here we have another nice collection of textures (always of my own creation) that you can safely use in your web production, software, and so on. If you intend to use my work you could write me an email and let me know or replicate this same post or quote me in what you have created. To access the textures (like all other content on this site), you must click on “continue reading” to see the full post. Thanks for your attention.