Showing posts with label graphics. Show all posts
Showing posts with label graphics. Show all posts

Tuesday, December 2, 2014

Avatar / Mini Me App

Background

During my Master's studies in Electrical Engineering I took some programming courses. One course that I enjoyed was called, "Visual Interfaces to Computers." It was about the many ways that computers can obtain and use visual data from the real world. Since that time I have had several ideas on novel ways to use visual data.
In a completely unrelated line of thought I often think about pictures that people use to represent themselves in chat windows, gaming icons, Facebook, forums, and the many other virtual worlds. These little self-representations are called avatars. I always have a hard time figuring out what picture to use. I don't like pictures of myself, but I can never think of any one thing I like SO MUCH that I would use that as my avatar.

The Idea

Create a cell phone app (I guess there could be PC / MAC and online options as well) that will take a front and side image of you and create a virtual likeness of yourself. To be clear, this is not a 3D scanning app. This would be something much more rudimentary. The app would identify the location and shape of head, body, arms and legs. It would create a cartoonish figure by matching the shapes from the picture against a database of common shapes. Then it would analyze the head in more detail to get shape and color information on the hair, ears, eyes, nose, mouth, etc. and match those features against the database of features to find matches. The output would be a cartoon, 3D likeness of yourself that could be dressed up, altered, colored, etc. You could rotate and zoom the model and save pictures that could be used as avatars.

The part that makes this idea novel from existing versions is that it creates the avatar based off real-life images.

Progress

12/02/2014 - Some similar ideas already exist, but not in exactly the way I envision.
But I haven't found anything that makes a full 3D avatar from from pictures.

Wednesday, October 29, 2014

Sopwith for Android

The Idea

I was going to download a soundboard app to use with my Halloween costume when I saw an ad for a pixelated toy airplane game. The "8-Bit" genre is a fad right now, one that I like. The game looked like fun (can you tell that from a single icon?) and it reminded me of an old DOS game that I used to play called Sopwith. You fly a Sopwith Camel biplane, drop bombs on the enemy base and try to shoot down enemy airplanes and tanks. I loved that game (I had to be younger than 8 years of age).

So my nostalgic adult self wished to play again, but on my phone. Of course nobody else is going to make an Android clone, so I will have to take it upon myself. I've been wanting another project to improve my programming skills, and this is something simple enough I think I could deliver an app in under a year (at the rate I usually complete my projects).

Progress

It turns out I was wrong, someone already made a clone called Sopwith Barons. Despite being an upgrade, the graphics look very "paintshop"-ish. It is done with basic 3D geometries on a 2D game stage. Personally I would have gone for 8-Bit genre keeping it a 2D sprite game to give it more tie back to the original with the modern feel that I've grown to enjoy.

Wednesday, July 30, 2014

3D Texture Generator

The Idea

When I took a computer graphics course as part of my master's degree I learned about using textures and skins to make objects more life-like. In one lecture we touched briefly on the idea of 3D textures which can be applied to voxels in a volume or in slices to surfaces. From there I realized there could be value in creating realistic 3D textures to be used in a variety of contexts.

The world is naturally perceived in three dimension. Instead of trying to draw a realistic looking 2D picture you could instead create a realistic 3D volume and slice out whatever surface you need to display. The main advantage of this method is the ability to parametrically generate 3D volumes using actual material properties. The visual properties are essential - color, reflectivity, scattering - but even mechanical, electrical and chemical properties could be used to generate aggregate materials. For example, you could create a realistic 3D concrete texture using the properties of cement, gravel, sand, etc. A program could accept inputs for material types and mix ratios, calculate the resulting structure, and apply the resulting visuals to the structure.

By compiling a large number of such calculators you could create a software package (web-based?) that can create 3D textures for many different materials. It could be a handy tools in the belt of computer graphics programmers. It might save them alot of work, and give them a way to easily add variety to their projects. Textures could be randomly generated each time and cut down on the amount of repetition in games, movies, etc.

Progress

I'm not actively pursuing this idea right now. I'm not a full-fledged programmer, and one of my pet-peeves is bad software written by someone totally disconnected from the end-user. If my career ever moves towards the gaming industry then I will come back to revisit this.