Quantcast
Channel: Simon's Tech Blog
Browsing all 48 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Writing an iPhone Game Engine (Part 4- Streaming)

IntroductionMy game is an open world game. The player can freely explore the game world. It is impossible to load all the game objects when the game start, so my engine should be able to stream in the...

View Article



Image may be NSFW.
Clik here to view.

Writing an iPhone Game Engine (Part 5- Audio)

IntroductionEvery games should have an audio system. In my little engine, it supports 2 types of sound: 3D effects sounds and BGM. Separate this 2 types because the BGM can be decoded on hardware. A...

View Article

Image may be NSFW.
Clik here to view.

Writing an iPhone Game Engine (Part 6- Performance)

IntroductionPerformance of a game is very important, it is important to maintain a constant frame rate of a game. So I will talk about how I keep track of the performance of the game. However, the game...

View Article

Image may be NSFW.
Clik here to view.

Using PID Controller

IntroductionSeveral weeks ago, I need to implement a game screen for user to choose a level. At that time, I read some post and article about using PID controller for controlling the behavior of a...

View Article

Image may be NSFW.
Clik here to view.

Dual Number

IntroductionRecently, I read the "Spherical Skinning with Dual-Quaternions and QTangents" from Crytek. It raised my interest on the topic of "Dual Number" (which is related to Dual Quaternion). Dual...

View Article


Image may be NSFW.
Clik here to view.

Dual Quaternion

IntroductionContinue to the last post which introduce Dual Number, it can be extended to Dual Quaternion. Dual Quaternion is similar to Quaternion with all the real numbers replaced by dual...

View Article

Image may be NSFW.
Clik here to view.

Spherical Harmonic Lighting

IntroductionSpherical Harmonics(SH) functions are a set of orthogonal basis functions defined in spherical coordinates using imaginary numbers. In this post, we use the following conversion between...

View Article

Image may be NSFW.
Clik here to view.

Microfacet BRDF

IntroductionIn recent years, there are more and more papers talking about applying physically based BRDF in games. So I decided to spend some time to investigate it. For a BRDF to be physically...

View Article


Image may be NSFW.
Clik here to view.

Writing an iPhone Game Engine (Part 7- Postmortem)

IntroductionThe first game that made with the iPhone game engine described in this series is released before Christmas on App Store, it is called Monster Bowling.You may surprise that the final product...

View Article


Image may be NSFW.
Clik here to view.

Inverse Kinematics (2 joints) for foot placement

IntroductionGame sometimes need to solve Inverse Kinematics (IK) for more realistic look like foot placement on a terrain. There are different methods to solve an IK problems, some are numerical...

View Article

Image may be NSFW.
Clik here to view.

Extracting dominant light from Spherical Harmonics

IntroductionSpherical Harmonics(SH) functions can represent low frequency data such as diffuse lighting, where those high frequency details are lost after projected to SH. Luckily we can extract a...

View Article

Image may be NSFW.
Clik here to view.

Light Pre Pass Renderer on iPhone

IntroductionAbout a month ago, I bought an iPhone 4s, so I write some code on my new toy. Although this device does not support multiple render target(MRT), it do support rendering to a floating point...

View Article

Image may be NSFW.
Clik here to view.

Software Rasterizer Part 1

IntroductionSoftware rasterizer can be used for occlusion culling, some games such as Killzone 3 use this to cull objects.  So I decided to write one by myself. The steps are first to transform...

View Article


Image may be NSFW.
Clik here to view.

Software Rasterizer Part 2

IntroductionContinue with the previous post, after filling the triangle with scan line or half-space algorithm, we also need to interpolate the vertex attributes across the triangle so that we can have...

View Article

Image may be NSFW.
Clik here to view.

Photon Mapping Part 1

IntroductionIn this generation of computer graphics, global illumination (GI) is an important technique which calculate indirect lighting within a scene. Photon mapping is one of the GI technique using...

View Article


Image may be NSFW.
Clik here to view.

Photon Mapping Part 2

IntroductionContinue with previous post, this post will describe how light map is calculated from the photon map. My light map stores incoming radiance of indirect lighting on a surface which are...

View Article

Shader Generator

IntroductionIn the last few weeks, I was busy with rewriting my iPhone engine so that it can also run on the Windows platform (so that I can use Visual Studio in stead of Xcode~) and most importantly,...

View Article


Image may be NSFW.
Clik here to view.

Implementing Client/Server Tools Architecture

IntroductionIn the past few weeks, I was rewriting my toy engine. During the rewrite of the tools, I want to try out the Client/Server Tools Architecture that used in Insomniac Games because this...

View Article

Image may be NSFW.
Clik here to view.

Angle based SSAO

IntroductionSSAO (Screen space ambient occlusion) is a common post processing effect that approximate how much light is occluded in a given surface by the surrounding objects. In this year SIGGRAPH,...

View Article

Image may be NSFW.
Clik here to view.

Trying out Voxel Cone Tracing...

It has been a long time since my last post, and this is just a quick post about what's going on in the past two months. I was trying to implement sparse voxel octree global illumination using cone...

View Article
Browsing all 48 articles
Browse latest View live




Latest Images