Gallery

Tessellation

It’s not about tessellating threads, it’s about digital optical illusion called tessellation. Tessellation was first introduced in DirectX 11 as an advanced technology to improve 3D redering through “fake” polygon addition. Why it’s called fake? Because the objects’ polygons and vertices were never there to begin with before the rendering starts.

Let’s take a look at several images below. Images below are taken directly from my notebook using Unigine Heaven to test the Tessellation.

DirectX 11 without Tessellation
DirectX 11 with Tessellation
DirectX 11 without Tessellation – with wireframed vertices shown
DirectX 11 with Tessellation – with wireframed vertices shown
DirectX 11 with Tessellation – LOD far away object
DirectX 11 with Tessellation – LOD close object

Well, why does tessellation become important? No, it’s not that important to begin with. It’s just add somekind of eye candy to loosely vertices-populated object to enhanced the visual interpretation. However, with tessellation, you can create a staircase from a simple, flat slope surface. Thanks to tessellation you can make the 3D object has less polygon to begin with, but create an awesome visual cue when needed (in this case, inside gameplay). Of course it make the 3D objects less memory-bounded.

Activating tessellation doesn’t mean it doesn’t have any cost. Well, in my notebook, run Unigine Heaven with tessellation detail 1.0, factor 1.0 drops the FPS from 17-20 to a mere 7-9 FPS. The price is somewhat very demanding of course.

Well, this post merely for information purpose only. I don’t even know how to code a game which run tessellation like pics above.

Advertisements

Fasttrack?

On the crossroad, beginning to ponder which path should I pick. There are two ways in front of me. One leads to direct career path or may be post-graduate abroad programs. The other is a fast-paced way to proceed to the post-graduate title, called fasttrack.

Fasttrack is my college program which make those who undergone it will reach the Bachelor and Master degree only in 5 years, contrary to my college standard 4 years of undergraduate program and 2 years of master program. It might not be quite tempting to take, but looking at the current situation, it’s hard to get a job (I can’t make a job, yet) by just having a bachelor degree.

I am not quite sure which path I should take.

A partner of mine asks me to go down the fasttrack path. Once, I declined that path, in the pursuit of a direct career path. However, that statement was made a long time ago before I already reach this crossroad. Now, I’m beginning to ponder my old-undecisive decision. Will I go down the road of a year towards the Bachelor degree, or maybe the road which takes two years with the reward of Master degree?

It’s quite a hard choice. I waited for a day where all of my family can finally gathered, then I asked what are their opinions if I ever take the fasttrack route?

Nobody in my family was against it. In fact, my mother quite happy if I ever choose this path. However, deep down, I still really want to study abroad, and get a job abroad, too. A senior of mine told me it’s far easier to get job out there if you actually attend the post-graduate program out there. I’ve taken my interest in Google, Inc. and I don’t know, if I just take this fasttrack program, can I still be employed there? I don’t know.

However, if I don’t take the fasttrack program, can I still get a scholarship to study in MIT or Stanford? Can I still get a job before getting the scholarship? If I ever got the scholarship to study there, can I still get job in Google? It’s a hard choice.

I am at lost. I just don’t know which path should I take. What should I do?

A Brief History of OpenGL vs Microsoft DirectX

Well, it’s not about which one is better. It’s about the development history of both of them, the 2 giants in the graphics accelerator API which has made this world full of beautiful games. I got this information from reading a very interesting article in Tom’s Hardware. If you don’t like history, then so be it. However, if you interested in what caused the gaming industry grows in such tremendous speed, be my guest.

Let’s start from the beginning. The father of 3D rendering was solely handled by OpenGL. It was developed by Silicon Graphics Inc. (SGI). Prior 1994, OpenGL was the most prominent graphics API back then.Well, in the development of Windows NT (New Technology), Microsoft even included the OpenGL as the 3D rendering API. However, as the giant who never satisfied with the dine, Microsoft began it’s campaign to win over game developers. They began their newly created API called Direct3D.

It was quite a battle between the david and the goliath. Microsoft used their finance to win the developer, while SGI used their reputation and technical experience. The “David” gained support from a legendary 3D game creator: John Carmack, the developer of Doom and Quake engine. Even then, he stated that Direct3D was not developer friendly and encourage others to start using OpenGL.

Microsoft, on the other hand, created the foundation of DirectX from scratches. While at first DirectX was strikingly complicated and confusing, Microsoft didn’t back down and continue the development of DirectX. With the release of DirectX 5, they finally gain some competitive edge to fight against OpenGL head-to-head.

2001 was the turning point for Microsoft, as their home-brewed DirectX 8 not only finally catched up with OpenGL, but also surpassing it in some point. It added some innovation to their own pixel and vertex shaders. It caused quite a stir, as most of the game developer finally saw that DirectX maybe the pathaway to the future of game industry. Why? Because DirectX can be used using a simple PC. Contrary to the SGI main businesses which incomes came from the selling point of 3D-supported workstation which require a quite high-end PC, DirectX can be shipped to mainstream PC. Even ATI (now: AMD) and NVIDIA began shifting their focus from creating support drivers for OpenGL to the advanced development of high-performance driver which runs DirectX.
Microsoft’s victory didn’t stopped back then. DirectX 9.0 claimed the throne of the most advanced graphics API. The API itself was distributed to many of the game developers around the world, posing more threat to the “current” state of OpenGL. Fueled by the competition of domination over the market between ATI vs NVIDIA, GPU manufacturers solely focused on releasing the driver which held the better performance of rendering DirectX applications.

In 2005, OpenGL finally began to catch up with it’s direct competitor. However, the SGI financial and political condition has been much worse due to the internal conflicts. By then, DirectX had shown it’s dominance over the world. OpenGL major players/stakeholders (ATI, NVIDIA, 3D Labs, and other graphics software developers) agreed that things couldn’t go on this way, or else OpenGL would sink into oblivion little by little due to obsolescence.

By 2006, in the SIGGRAPH, the commands over the development of OpenGL passed on to Khronos. Even back then ATI and Nvidia both swore a pledge that they would rise above their own rivalry and collaborate effectively so that OpenGL could finally enter the 21st century. It was a quite surprising
statement, since both ATI and NVIDIA has become such nemesis over long time (up until now). Developers were enthusiastic, since the Khronos group had shown itself to be very effective in managing OpenGL ES, the 3D API for mobile peripherals.

It was the time of battle of graphics technology. OpenGL was developed in C++ and using it’s own shader language, called GLSL (GL Shader Language). Some features included in GLSL makes no sense in today’s GPU technology, but the need of backward compatibility between OpenGL 1.0 up to OpenGL 3.0 is something essential, thus making quite a problem for OpenGL developer. Moreover, since OpenGL is open source technology, it means all developers need some kind of understanding to what needs to be achieved, what needs to be done, and what needs to be omitted. It did stir a problem during the invention of OpenGL 3.0. Contrary to Microsoft, since they developed DirectX single-handedly, there is no need to do some kind of understanding which may leads to the conflict of interests. By that time, Microsoft has developed the free-to-use OOP shader language called HLSL (High-Level Shader Language).

While looks like DirectX victory was smooth and flawless, it should be noted that Microsoft made a mistake in the development of DirectX 10. DirectX 10 until now, is exclusively made for Windows Vista, contrary to the DirectX 9.0c which can be used as long as the hardware meets the criteria to use Windows CE which included DirectX 9. Back then, it was a huge mistake not to let the new DirectX works with backward compatibility below Windows Vista. As a result, most of the games developed until 2010 was developed using DirectX 9.0c. Even until now, a lot of games still developed with DirectX 9.0c to maintain the backward compatibility so at least the games are playable in Windows XP.

DirectX 11 was made to correct Microsoft’s mistake back then. The first effort to realign their strayed path was to make the DirectX 11 compatible to Windows Vista, even though it is developed to works in Windows 7. Not only that, Microsoft has made the DirectX 11 to be a very advanced API by
the time it was released. It really feels like DirectX 11 was a major hit to the face of developer. DirectX 11 was major upgrade from DirectX 10, which include advanced technology such as Multi-threading Rendering and Tessellation. It really feels like Microsoft really knows how to play with both AMD and NVIDIA to create such advanced technology.

The Verdict?

It is clear that DirectX won against the OpenGL. DirectX was known as an advanced and powerful graphics API in Windows-based system and has implemented many innovative features. However, since it is exclusively run on Microsoft devices, it holds a major drawback: Mobility. As we all know, although OpenGL is not as smooth and powerful as DirectX, OpenGL is widely used in mobile game development. Currently, iOS and Android are two major forces which compete each other showing which device can run OpenGL ES 2.0 better. However, even though Windows Phone 7 run a DirectX 9.0 compatible GPU, the applications which run on Windows Phone 7 aren’t that many, compared to iOS and Android.

So, in term of PC Gaming, DirectX is the leading technology which has made a lot of high-end games. However, in term of mobile gaming, OpenGL still dominate the whole world. Let us see how Microsoft adapts with current situation, knowing that Windows 8 Surface tablet included with XBox Live will be released this year. Will DirectX takes over the throne of mobile gaming? We’ll see…

In the Pursuit of Happiness

It’s a story which makes me think twice about dreaming a happiness. What is a real happiness?


There lived a couple which had been married five years, is still not blessed with a child. Every effort had been done in order to have a newborn baby, from one gynecologist to the others… However, unfortunately it did not bear fruit …. Both of them were very sad. For them, having a child were their everything …

He did not cease to pray to the God. In his own desperation, he said that having a child would be his greatest moment of his life. It would be an achievement for him being ascend from a normal husband to father. If he is destined to have no children, he would feel very miserable, he would not get a happiness. Having a child would grant him a true happiness of his life…If he

Tired of wating, he finally fell asleep. During his sleep, a voice echoed in his head. The voice ask him: “Do you think that if I grant you baby you will feel happy? Do you think that to get a happiness something must be achieved? Do you think happiness is something that is conditional? Look around you, and learn to be grateful for everything around you, human. Then, you will be happy for your life.”


Continue reading