Virtual Reality

Configure NxOgre in Ogre3D – Collision Detection


Author : Pubudu Ranathunga (pubudurana@gmail.com)

Here are the basic steps and simple guide for integrating collision detections in Ogre3D using NxOgre. (For Complete Details : Click Here)

Required Software

  1. Physx sdk
  2. NxOgre (Physx wrapper for Ogre)
  3. Critter (Rendering system for NxOgre)
  4. Flour (Bounding box constructer for |NxOgre)

Steps carried out to integrate physics project

  1. Install the Physx SDK to machine and setup Environment variable “PHYSX_DIR” to physx sdk folder path.
  2. Extract Nxogre and  open Nxogre project using VC++.
  3. Link  Physx SDK includes and Lib folder accordingly in VC++ (Tools –> Options –> Projects and Solutions –> VC++ Directories)
  4. Build the project. (If you have successfully configured NxOgre as earlier steps, a separate sdk folder should have been created inside NxOgre folder)
  5. Setup environment variable “NXOGRE_DIR”  and set  path to NxOgre sdk
  6. Extract Critter to a preferred location and open VC++ project.
  7. Link with Nxogre and build the project (If successful, a separate sdk folder should have been created inside Critter folder ).
  8. Include NxOgre and Critter SDK folders to the created project.
  9. Put all the DLL files in Physx,Nxogre and Critter to release or debug folder of the project accordingly.
  10. Put LIB files (Physx,Nxogre,Critter) to a folder and link to the project and Start the project.

Steps to build Flour to create bounding boxes

  1. Extract Flour to a preferred location and link with Nxogre
  2. Build the Project  and put Nxogre and Nxcharacter DLL to use Flour

Steps to build an accurate bounding box

  1. Export  a “.mesh” file from preferd modeling software.
  2. Convert  to “.xml” file using Ogre XML Converter
  3. Then go to exporters/OgerXML  folder in Flour  and  run ogrexmltoflower.rb file using CMD                     ( Machine should have Ruby installed )
  4. Fallow the guidelines on CMD to create  .flower file
  5. Copy that “.flower ” file to the flour release folder and run the command “Flour convert (folwer file name) (folwer file name) .nxs ”

Author : Pubudu Ranathunga (pubudurana@gmail.com)

Categories: Game Development, OGRE, Physics Engines, Virtual Reality | Tags: , , , , , , , | 2 Comments

Game Engine Awareness and Use


3D view of near Colombo Harbor – Vidusayura Ship Simulator

RECENT TRENDS IN GAME ENGINES

There are some huge changes and massive growth in the game industry in past few years. There are
quite a large number of game engines available for developers to use, from likened high end to free
open source. They are also multi platform across personal computers and game consoles, all licensable
and are all available for license without an arrangement with platform manufacturer (Deloura, 2011).

Game engines become more user-friendly as the technology matures and the application of game
engines has broadened in scope. Massive growth of casual, mobile and social games is one of the most
remarkable changes in game industry in past few years. Game engines are now being used not only
simply for video games but also serious games such as visualization, training, medical, and military
simulation applications (Berberich, 2007).To facilitate this accessibility, new hardware platforms are now
being targeted by game engines, including mobile, phones and web browsers (WAELE, 2008). While the
iPhone is doing probably the best job embracing mobile and web convergence, the Apple OS is still a
closed system and used by a rather small market segment of users. But the new Linux-based operating
system Android is open source platform and therefore mobile platform has become a truly competitive
now also in game engine developments.

There are so many game engines are available now in industry. But actually there is some limit when
considering game industry people’s awareness and use of those game engines. Clearly one of the most
important elements for game engine companies is just getting their product in front of the right people,
so if executives aren’t even aware of their engine, they’ve got big issues. Here are some survey results
which is done on awareness and use of existing and popular game engines (DeLoura, 2009).

As data comparison showing above Unreal engine has massive awareness and knowledge. It is the most
well-known, and more remarkably, a majority of responders have used it in this survey done by
(DeLoura, 2009).
After Unreal Engine, the data drops off a cliff fast – with Torque, Gamebryo, and Source all roughly
equivalent as the second most frequently used game engines, with about one out of five people having
used each. The distance between Unreal and the rest is interesting.
Even more interesting is the massive awareness of CryENGINE even though there aren’t many games on
the market using it. Let’s see how perceptions of these game engines correlate with this.

RENDERING ENGINES

  •  Usually built on OpenGL or DirectX
  •  Generates images in real-time from assets
  •  Controlled by the Scene Graph
  •  Interacts directly with the GPU

PHYSICS ENGINES

  •  Handles behavior of objects based on collisions
  •  Simulates or predicts phyics models
  1. Rigid Body Dynamics
  2. Soft Body Physics
  3. Fluid Dynamics

There are more than twenty well known physics engines (Wikipedia, 2011). In late 2009, NVIDIA PhysX,
Havok, Open Dynamics Engine (ODE), Newton Game Dynamics, BULLET physics library were most
popular among game developers (Zogrim, 2009). This analysis was done by NVIDIA Cooperation and
their popularity is distributed as illustrated in Figure 3. They considered physics engines against number
of released game titled in 2009.

REFERENCES

Categories: Game Development, Virtual Reality | Tags: , , , , , , , , , , , , , | 1 Comment

Navigating a Ship in ‘Vidusayura’


This is how you feel when navigating a ship in Vidusayura Ship Simulator. A real ship bridge of a Dora ship is created here and real ship controls (2 throttles, rudder) are used for navigations. Sri Lanka’s three main harbors (Colombo, Galle and Hambanthota) are modeled here and those can be changed during the training with different environment conditions.

The video was recorded 2010-12-05 at the 60th diamond jubilee exhibition at Sri Lanka Navy.

Categories: Animations, Vidusayura, Virtual Reality | Tags: , , , , , | Leave a comment

Install and configure OGRE3D 1.6 with Visual C++ 2008


April 30,2012

NOTE : This post is about install and configure ogre3d version 1.6. Now 1.7 version is released and this book “OGRE 3D 1.7 Beginner’s Guide” will guide you well with new releases and examples. But configurations will guide same as the following post.

July 21, 2010

OGRE3D is the most popular open-source graphics rendering engine and it is used for game developing, simulators, educational software, interactive art, scientific visualization and even in commercial 3D games. Ogre provides a powerful environment for creating C++ programs and it has to be configured for Visual C++ to create projects. Here I mentioned requiring software to be installed and how to configure ogre in Visual C++ 2008 Express Edition for MS windows.

Download and Install
Download following bunch of software and install them as the order

  1. DXSDK_Aug09.exe : Download
  2. Visual C++ 2008 Express Edition : Download
  3. OgreSDKSetup1.6.5_VC90.exe : Download
  4. Ogresdkwizard90_v1_5_1.zip : Download (This tool adds a new type of project to the VC++ interface, so that you can easily create a new Ogre project using a wizard. Double click “VC9_Express_Setup.js” or run it in command  prompt)
Configure ogre in VC++ 2008
After complete the full installation, open VC++ 2008 Express Edition from; Start –> All Programs –> Visual C++ 9.0 Express Edition. Here you have to set paths for configure ogre and DirectX.
Open following window and add new paths (if not exist) for each following options in “show directories for:” tab.
Tools –> Options –> Projects and Solutions –> VC++ Directories
(Paths can be changed as your installation directories.)
  • Executable files…
C:\Program Files\Microsoft DirectX SDK (August 2009)\Utilities\Bin\x86
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
C:\OgreSDK\bin
C:\OgreSDK\bin\debug
C:\OgreSDK\bin\release
  • Include files…
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
C:\Program Files\Microsoft DirectX SDK (August 2009)\Include
C:\OgreSDK\include
C:\OgreSDK\include\opt
C:\OgreSDK\include\CEGUI
C:\OgreSDK\include\WIN32
C:\OgreSDK\include\OIS
C:\OgreSDK\samples\include
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc
  • Library files…
C:\Program Files\Microsoft DirectX SDK (August 2009)\Lib\x86
C:\OgreSDK\lib
C:\OgreSDK\lib\opt
C:\OgreSDK\samples\src
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib
Your First Program
File –> New –> Project –> Visual C++ –> OGRE SDK Application –> “enter new project name” –> OK –> Next –> (check Application type as Standard application) –> Finish
If correctly configured first program will be run successfully.
Debug –> start Debugging –> select a Rendering subsystem –> OK
OGRE head should be viewed on your screen.

Ogre Rendering Window

Now enjoy your works ! Use Ogre Tutorials and Ogre Forums for more help.

NOTE : This post is about install and configure ogre3d version 1.6. Now 1.7 version is released and this book “OGRE 3D 1.7 Beginner’s Guide” will guide you well with new releases and examples.

Categories: Animations, OGRE, Vidusayura, Virtual Reality | Tags: , , , , , | 3 Comments

Blog at WordPress.com.