Experiencing virtual reality with smart phone based 3D glasses

Virtual 3D reality is an exiting experience. Some time ago, it was somewhat complex and expensive, today everyone can have their own virtual reality headset. It basically requires two things – a smart phone with higher possible resolution screen and glasses itself where smart-phone fits in. You can find lots of variations of glasses in internet – even made of cardboard. But for better experience probably you should choose softer and more convenient material. Continue reading

Improving 3D graphics for Arduino LCD shield

Arduino Uno features Atmega328 microntroller with 2KB of RAM. When you start working with graphics LCD, memory melts down immediately. One of the common GLCD shields for Arduino is Adafruit’s LCD shield which features 320×240 color graphical LCD driven by ILI9341 driver IC. There is a ready made library that allows drawing graphics with few lines of code. This is OK for simple drawings and menus, but when you start working with some motion and animation flickering and tearing occur. This is due to limited memory on Arudino. Simply speaking there is no space to render whole frame off-screen. 340X240 frame would require 500KB. M Rule starting looking for more optimal ways of displaying and updating graphics on screen that would minimize these effects and make graphics update smoother. He started tweaking Adafruit’s library with custom solutions that makes rendering stages less visible to human eye. One of the ways is to render frames on top of each other first and then remove unnecessary pixels. This works great with mesh graphics, but 3D surfaces there is also a Z buffering… Continue reading