Sunday, September 13, 2009

Developing Environment of Virtual Realiy


I guess lots of friends have already known about the definition of Virtual Reality, or a blurred image about it. Because recently the reports or products of VR is too wide. But how to realize it technically is still a mystery.

Actually the structure of the implementation is not so difficult to understand, with a interactive device, like mouse, keyboard or something new as Wii Remote Controller which I introduced yesterday, we can input the information or description about us in the real world. With a Virtual Reality developing platform (usually is a software environment), the information and data will be analyzed and calculated, the desired result is illustrated or animated by the way of a picture or video on some display devices, such as monitor or helmet mounted display. So according to the words we can find, this VR implementation platform is pretty important for the the process. With the development of VR in recent decades, there are already countless softwares available in the world which are able to implement the Virtual image superimposing functions for the Virtual Reality applications. Today I would like to introduce them, some are programming libraries, some are languages or APIs:


It is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. It is a powerful programming libraries which is able to be applied by different languages like C, C++ or even Java for the computer graphics animation. The advantage of this library is it is independent of the platform, no matter where, windows, linux or Mac OS X, you can enjoy the designing with freedom. Of course the developing platform settings like the way to add the head files must be different. The tutorial about how to establish it is a lot. Because of its base level expression and functionality, it has been used for numberless graphics design softwares' implementation. Here is a demo which is realized by OpenGL


It is a part of Microsoft's DirectX API. Compared with OpenGL the biggest drawback is it is only available for Windows Operating System though as a open source existing. Actually Direct3D is used more often for 3D games performance because of its powerful 3D rendering ability. It is able to use hardware acceleration to achieve a better 3D rendering effect. It is regarded that OpenGL is the main competitor of Direct3D, here is a interesting comparison between them (CLICK ME). And another interesting video implemented with Direct3D, and you guys can find how strong is it for the 3D render:


It is a scene graph-based 3D application programming interface for the Java platform. It is not only a collection of these graphics APIs, but also an interface encapsulating the graphics programming using a real, object-oriented concept. What should be noteworthy is that it runs on top of either OpenGL or Direct3D. So it is not a base level graphics programming platform, at least not so basic as the two above. Another nice video animated with Java 3D:

4. VRML


It is the abbreviation of Virtual Reality Modeling Language, as a standard file format for representing 3D inetactive vector graphics, specially applied for the World Wide Web area. Compared with the previous three languages VRML is a text file format language which is easier to be associated with web browser editing applications. A particular Script Node allows the addition of program code to a VRML file. Many 3D modeling programs can save objects and scenes in VRML format. Now it has been superseded by W3D. A demo of VRML application:

The API or languages above mentioned are the most common applications for the Virtual Reality implementations. But what is the most important for a cool and fantastic VR applications or production is not dependent on the tools but on the creation. I have found some other interesting VR tools, when you guys have interest, please try them. But some of them cost many bucks.


0 comments: