DonNTU > Masters Portal > Pivnenko À. RUS | ENG
Pivnenko A.

Pivnenko Andrey

e-mail: chudo@pautina.dn.ua

Faculty: Computer science

Speciality: The software of the automated systems

Theme of master's work: «Methods and means of development 3D game application»

Leader of work: Karabchevskii V. V.

Abstract of master's work

Abstract of master's work
«Methods and means of development 3D game application»

   Author: Pivnenko A.

Contents:
  1. Introduction
  2. Aims and tasks of work
  3. Present solutions overview
  4. Planning & current results
  5. Conclusion

   Introduction

Master's work is about creating 3d game applications. It's main part is in development efficient 3d visualization system.
In present time computer graphic become more and more widespread. It's field of application enlarges every day. This is an architecture, and computer games, and different modeling systems. It requeures GPU for it's efficient realization.
There are many 3d visualization systems. They all have their advantages and disadvantages and they're all made for quick synthesis of dynamic 3d scene.

   Aims and tasks of work

Primary task is to create finished game application. Other goals is to look through existent 3d render system as well as creating my own.

   Present solutions overview

1 Ogre3d overview
OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes.
Productivity features

  • Simple, easy to use OO interface designed to minimise the effort required to render 3D scenes, and to be independent of 3D implementation i.e. Direct3D/OpenGL.
  • Extensible example framework makes getting your application running is quick and simple
  • Common requirements like render state management, spatial culling, dealing with transparency are done for you automatically saving you valuable time
  • Clean, uncluttered design and full documentation of all engine classes
  • Proven, stable engine used in several commercial products
Platform & 3D API support
  • Direct3D and OpenGL support
  • Windows (all major versions), Linux and Mac OSX support
  • Builds on Visual C++ and Code::Blocks on Windows
  • Builds on gcc 3+ on Linux / Mac OSX (using XCode)[2]

2 The nebula device overview
The Nebula Device is an open source realtime 3D game engine developed by German game studio Radon Labs. It is written in C++ and scriptable through Tcl/Tk and Lua, with support for Python, Java, and the full suite of .NET-capable languages pending. It supports DirectX 9, but work on support for OpenGL is ongoing. It runs on Windows, with ports being done to Linux and Mac OS X.
Design Philosophy: Integration is better than implementation, Make extensive use of existing libraries (DevIL, Tcl, Lua, Python, TinyXML, D3DX, ...), Throwing away source code can be good, Modular architecture supports high source code fluctuation, When in doubt, throw away and rewrite , Prevent unmaintainable code, Small is beautiful, Clear restrition to rendering, audio, input, resource management, scenegraph management : Nebula is not a game framework ,New Nebula releases often have less source code then their predecessors.[3]

3 Irrlicht overview
The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
We've got a huge active community, and there are lots of projects in development that use the engine. You can find enhancements for Irrlicht all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings for java, perl, ruby, basic, python, lua, and so on. And best of all: It's completely free.
The Irrlicht Engine is a cross-platform high performance realtime 3D engine written in C++. It is a powerful high level API for creating complete 3D and 2D applications like games or scientific visualizations. It comes with an excellent documentation and integrates all the state-of-the-art features for visual representation like dynamic shadows, particle systems, character animation, indoor and outdoor technology, and collision detection. All this is accessible through a well designed C++ interface, which is extremely easy to use. Main features:

  • Huge built-in and extensible material library with vertex and pixel shader support
  • Character animation system with skeletal and morph target animation.
  • Particle effects, billboards, light maps, environment mapping, stencil buffer shadows, and lots of other special effects.
  • Billboards
  • Bump mapping
  • Parallax mapping
  • Transparent objects
  • Lightmaps
  • Sphere mapping
  • Texture animation
  • Skyboxes
  • Fog
  • GUI[4]

   Planning & current results

For this moment I had developed preliminary visualization system.[1]

   Conclusion

This work is very important step. All the knowledge, I had obtained during my work wil become foundation for my future work.

   List of literature:

  • Andre LaMothe «Tricks of the 3d game programming gurus», Williams, 2004. – 1424ñ.
  • Intorduction to ogre3d http://www.ogre3d.org.ru
  • The Nebula Device engine http://www.gamemaking.ru/portal/modules/sections/index.php?op=viewarticle &artid=131
  • IrrLicht http://vladgamedev.com/readarticle.php?article_id=6