OpenGL Side Project

It’s been a long while since my last update. I was extremely busy for the past few months and only by now I have a little bit of spare time so I decided to work on a little side project just for fun.

I always wanted to learn OpenGL since a teen and hoped that one day I could make my own game engine that runs OpenGL. Even though I created a half-baked game engine/level editor thingy back in 2010 but I was using Irrlicht rendering engine so that doesn’t really count.

After messing around a bit with Qt 5 and OpenGL coding, I’m finally getting a pretty awesome results!! :

At the moment my prototype does the following:

  • Running OpenGL 3.2 core profile and GLSL 1.5
  • Loads OBJ files and PNG/JPEG textures
  • Move, rotate, scale model
  • Camera navigation (move, rotate, look at) using keyboard input
  • Skybox

Like I said, nothing fancy yet but even this took me quite some time to get it working since I’m using Qt 5 with OpenGL. Most of the tutorials out there only teach OpenGL with SDL, GLFW, GLUT, etc. but not with Qt. The reason why I’m using Qt instead of SDL is mainly because I like the additional features in Qt such as networking, image loader, file loader, etc. which will save a ton of my time since I don’t have to reinvent the wheel, or worse, trying to integrate my project with random 3rd party libraries that may or may not compatible with each other. I had a pretty bad experience when working on my Irrlicht project back then so I’m trying to avoid that now. Also, I may want to use Qt 5 to create a level editor for this project (currently only working on the ‘core’ library) so it makes sense if I also use Qt for the core parts.

Since this is a spare time side project so I might not work on it on a regular basis and might not even finish it, who knows? That’s all for today, ciao.

Some Quick Update

Just to keep you guys updated – I’ve been really really busy for the past few months! Lots of projects to handle and lots of travelings and outstations. Good news is, our company is expanding steadily and hopefully I’ll have more time for this blog very soon.

Anyway, I have published a new book entitled “Qt5 C++ GUI Programming Cookbook“. Do check it out!

Stay tuned.

Easter Egg

If you have bought my book “Building a Game with Unity and Blender“, you may have realized the sword model shown in Chapter 2 “Creating Characters” is no where to be found in the source files.

Fear not! The sword is actually hidden in Player.blend, which you can unhide by press alt-H in Blender.

Initially I wanted to use the sword model in the game demo. However, eventually I ended up doing punching animation instead of sword-wielding, which is why I hide the sword (instead of deleting it) before moving on to do the animations for Chapter 3.

You can try and unhide the sword, then import it to Unity and parent the sword model to one of the hand bones of the game character. It might even look like sword-wielding when playing the punching animation!

Game Dev Week Half Price Promotion

It’s time for goodies again!

In conjunction with Game Dev Week 2016, some of books at Packt Publishing that are related to game development are now half of the original price, including the book I wrote, “Building a Game with Unity and Blender“! Click on the banner below to check out the promotion.

You can also check out some other offers here.

Also, Packt Pub is giving out an ebook every day for FREE till the 8th of March. Grab yours now!

Easy Screenshot 1.0

Recently I created a simple program for a client. They’re working on a project for a theme park whereby an animated video showing a bunch of penguins running around on an iceberg is being overlayed on top of a webcam video which creates the illusion of penguins running around the visitors. They will then display the final result on a big screen for the visitors to pose and take photos of them with the penguins. This is how it looks like, inside the actual theme park:

Think of it as an augmented reality project without the tracking part, since the webcam is always staying at the same location. My program in-charge of taking screenshots when the operator presses a shortcut key (which you can customize) and the images will be automatically saved to a folder (which you can also customize), each with a unique file name. The folder is then shared with the printer’s computer through local network and visitors can pick which photos (screenshots) they want to buy so the printer will print it out for them. Profit.

This is how my program looks like:

Since this is a really simple program which doesn’t do much other than taking fullscreen screenshots, I decided to release it for free and call it “Easy Screenshot 1.0”. You can set the shortcut key (doesn’t support ctrl, shift and alt at the moment) and the name of the output folder.

Once you’re done with that, press the ‘Start’ button and you can now minimize the program as it will continue to track the keyboard events in the background. Whenever you press the shortcut key, a screenshot will be taken silently without any message balloon popping out.

You can download Easy Screenshot 1.0 for free, by clicking the button below:

Download (8MB)