Friday, April 29, 2011

Happy Buddha


Lighting is now fixed and speculars are finally moving according to camera and light position. In the end bug was simple but hard to notice, I forgot to normalize camera vector in the shader which made it *very* big compared to light vector in the lighting equation so light movement did not cause any changes and only camera did. Also pick feature got fixed on the way while porting recent changes to win32 build. Now it is time for new features and optimize the mesh loader, it takes ages to load buddha model :)

Thursday, April 28, 2011

tiger power


I rewrote my model loader and now there is support for multiple polygon groups and texture coordinates. Thanks to models and nice texture atlases from http://www.kunzhou.net/tex-models.htm I'm able to test that engine works. And then the bad news, while doing all this I noticed that lighting does not actually work, picking does not work anymore and some other misc stuff, but it was necessary price to get rid of old obj loader, time to fix these things.

Thursday, April 21, 2011

let there be light


Took a step forward to more 'game engine' approach and implemented a first person camera control with mouse and strafe with keyboard. Added terrain and much more sophisticated lighting and material model.

Wednesday, April 20, 2011

Teddybears


Dear diary, once again I started to build a small 3D engine, this time with OpenGL (ES) 2.0. Engine works fine with Linux PVR SDK, MESA software GLES 2.0 and MS Windows Nvidia OpenGL SDK. Engine contains a simple scene with objects (supports only .obj format at the moment) and a final full screen postprocessing pass. Objects are stored in VBOs and simple light model + bloom/blur is implemented using shaders. Engine provides a resource hash and memory management for shaders, textures, FBOs and other GL resources. Picking support (red teddy has been selected) now uses FBO and renders one extra frame with simple color shader. The end goal is currently to have a simple sandbox where to test different OpenGL features.