Friday, 20 March 2009 00:00
Projects -
Completed Projects
Final year Honours Project (2009)
Editor pick! : Project of the Year
The research has been carried on during my Honours year. The research addresses an interesting problem in modern game applications regarding to real-time rendering, where a game scene is detailed with large number of various kinds of objects.
According to this, the research has been experimented into many optimization strategies in order to maximize the GPU utilization. We mainly explore the system limitations and try to improve bottlenecks by implementing the best combination of acceleration algorithms and the new features introducing in DirectX 10 rendering technologies.
While carefully monitoring with a couple of proper Profilers, together with the optimal usages of Skinned Instancing, Geometry Shaders, Scene managements and etc., finally, we manage to render more than 300,000 animating objects on the scene at 30 fps.
The development roadmap has been recorded in the Honours project blog. Or you can continue reading on this topic for the project summary and showcase.
Last Updated on Wednesday, 01 July 2009 19:53
Read more...
Thursday, 19 March 2009 23:58
Projects -
Honours Project
Project update
Improved Rain Rendering, textured
Imporved Scene Lighting, Shading and Textures on the army are more correct
Improved Grass Rendering, draw more grass blade repeatly onto the bigger billboard (3x)
The grass billboard will be resized as their LOD changing. This has been done under Geometry Shader stage where I tried to implement "Early Z-Test" to reduce the Pixel Shader load.
Add simple FPS calculation, and print screen function
Videos
110k Animated Armymen, 110k GPU Rain Particles and 110k Animated Grassblades (updated 31 Mar 09)
Performance Update
From last week, we had implemented a number of new stuffs that have been mentioned above. After remeasure the GPU load, we found the GPU has to do a lot more works on the PS Stage.
Fragment Processing (Texturing, Pixel Shader and Frame buffer) become the system bottleneck
The size of GPU billboard is effectively related to the scene performance. 3-5x bigger billboard can effect 6-7 fps
As I thought, the bigger billboard will result more fragments need to be filled, and this is clearly the large performance hit.
The solution, I found that we could perform the "Early Z test" in Geometry stage and adapt the billboard size based on the distance from the viewer
Smaller billboard size will produce a lot less fragments that need to be processed, and the result FPS has been bumped back to normal (~30fps)
Frame buffer stage, reducing the viewport size has slightly effected the rendering performance as well. 1024p -> 800p help improve 2-3 fps when the post processing is on.
Monday, 16 March 2009 00:00
Recent News -
Academic Activities
It come into time when I need to start looking for a job to do after my graduation, so this month we have added a lot of articles and medias in order to support my CV and Job application. Here' a list of updates that have been done for this month.
CV Section update - Please check out the CV section for my latest update
Sunday, 15 March 2009 08:56
Projects -
Honours Project
Level of detail system has played a very important role in the massive scene rendering problem. Because the distanced objects are always less important and require less and less detail, by using LOD selection system, we can control the visual quality of the scene while maintaining the rendering performance.
The first-choice LOD technique that is called, Discrete LOD or DLOD. DLOD's main concept is to represent the object selecting from a predefined list upon criterias. Implementing DLOD is quite simple, and it works very well on most of the game. Considering the distance from the camera as the main criteria, we can test and choose the low-detailed version of object when they are not on player main focus.
One of the down side of DLOD is that Players might notice the non-seamless transition, when the LOD level has changed. This is obvious because DLOD data pool is discreated, and generally pre-baked for the best performance.
If players can detect the annoying popping effect because if the LOD selection method is linear, It might be possible to add the element of non-linearlity in order to improve the visual diversity, Fuzzy logic control has provided a design methodology that is fast and convenient.
Last Updated on Sunday, 15 March 2009 10:02
Read more...
Wednesday, 04 March 2009 09:34
Recent News -
Other Activities
For years, as an experienced music listener, it's funny that just recently I've just found my favorite tunes again. Usually, I listen to almost any type of music, as we can say, Death Metal until Classical. Even though I'm opened and be able to enjoy my time with all of them. However, sometimes the sound can turn into something annoying if I listen to them for too long. The music that I can spend with the longest is called "Smooth jazz" where I also find it's my favorite taste.
Last Updated on Monday, 16 March 2009 10:31
Read more...
Friday, 01 August 2008 21:00
Projects -
Completed Projects
RTW Summer Placement (2008)
Since this wasn't my very first job as a programmer, so I'm not deadly nervous and sweating. However, it's still very exciting and challenging since this is my first job as a programmer in the game industry!
First of all, I should make it clear that I was working under NDA (Non-disclosure agreement) which I'm not supposed to give out any of information about the project I've been done before it's announced officially by the company. I rather like to dedicate this space for my testimonial and summarizing what experiences I have gained while I was working at the company, along with those talented professional game programmers.
Friday, 01 August 2008 21:00
Projects -
Completed Projects
Project CEPA (2008)
Editor pick! : Project of the Year Award
CEPA Project is a full game project from a team of 5 people which I have taken part as a team leader. The project is produced as parts of my third year university’s Group project.
The main idea of the project is about the whole software development process, team organization, project management and software engineering. Involving as the team leader, I have to do all producer’s jobs, including schedule planning, documenting and motivating team members. I have learnt so many things during the project execution, not only programming and designing but also about managing and team mentoring where demonstrating professional behaviors and maintaining inter-personal relationships among members are very important.
Apart from the Team Leader, another role is also to take care all graphic programming, and implement most of core modules of the application.
Saturday, 26 July 2008 23:15
Recent News -
Other Activities
It has been a while that my website got up online. At the first place as myself planned to have this thing as simple as possible, which like the one I created using just the plain HTML on client side.
That's how this website kick off, by the way.
Last Updated on Saturday, 26 July 2008 23:33
Read more...
I have to admit that this year work is far more busy compares to the first two years in our course. Anyway, since I don't have that much time to update my website, this time I have got many stuffs that I want to share here.
Last Updated on Sunday, 03 August 2008 17:14
Read more...
It has been a month, which I was busy working with my GBA tutor on the next term tutorials, that I believe it gonna be my next job. After his approval,the tutorial section in this website might be able to start as well. ;) Besides, I've been working for Dare to be Digital last month in Edinburgh. My responsibility is to show and instruct our event's guests to try some basic game programming using SCRATCH software. Basically, it's almost the same job I did before with Henry so I can catch a grip very quickly.
Last Updated on Sunday, 03 August 2008 19:41
Read more...
Saturday, 19 July 2008 11:02
Recent News -
Academic Activities
First of all, I've finished adding the Photo Album section into the website. The photobook is my plan since I started building this website, in order to make the web content doesn't look very academic intense. Not only that, You might be able to know me better through the pictures. Secondly, I want to say something about my first job in UK. Even it just only two weeks long, honestly, It made myself exactly sure that I'm walking on the right path to be a game programmer.
Last Updated on Saturday, 26 July 2008 23:37
Read more...