Technology Focus


Development Libraries

OpenGL

OpenGL (Open Graphics Library) is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992 and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight simulation. It is also used in video games, where it competes with Direct3D on Microsoft Windows platforms (see OpenGL vs. Direct3D).

OpenGL is managed by a non-profit technology consortium, the Khronos Group.

For more information visit: www.opengl.org

 

DirectX

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as shorthand term for all of these APIs (the X standing in for the particular API names) and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology.

The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.
Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows, Microsoft Xbox, and Microsoft Xbox 360. Direct3D is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. As Direct3D is the most widely publicized component of DirectX, it is common to see the names "DirectX" and "Direct3D" used interchangeably.

The DirectX software development kit (SDK) consists of runtime libraries in redistributable binary form, along with accompanying documentation and headers for use in coding. Originally, the runtimes were only installed by games or explicitly by the user. Windows 95 did not launch with DirectX, but DirectX was included with Windows 95 OEM Service Release 2.

Windows 98 and Windows NT 4.0 both shipped with DirectX, as has every version of Windows released since. The SDK is available as a free download. While the runtimes are proprietary, closed-source software, source code is provided for most of the SDK samples.
Direct3D 9Ex, Direct3D 10 and Direct3D 11 are only officially available for Windows Vista and Windows 7 because each of these new versions was built to depend upon the new Windows Display Driver Model that was introduced for Windows Vista. The new Vista/WDDM graphics architecture includes a new video memory manager that supports virtualizing graphics hardware to multiple applications and services such as the Desktop Window Manager.

For more information visit: http://www.gamesforwindows.com/en-US/directx/

 

OpenSceneGraph

The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.

Some key features include:

  • A feature-rich and widely adopted scene graph implementation
  • Support for performance increasing features
  • Support for OpenGL, from 1.1 through 2.0 including the latest extensions
  • Tightly coupled support for OpenGL Shading Language, developed in conjunction with 3Dlabs
  • Support for a wide range of 2D image and 3D database formats, with loaders available for formats such as OpenFlight, TerraPage, OBJ, 3DS, JPEG,PNG and GeoTIFF
  • Particle effects
  • Support for anti-aliased TrueType  text
  • Seamless support for framebuffer objects, pbuffers and frame buffer render-to-texture effects
  • Multi-threaded database paging support, which can be used in conjunction with all 3D database and image loaders
  • Large scale, whole earth geospatial terrain paged database generation
  • Introspection support for core libraries allowing external applications to query, get, set and operate on all classes in the scene graph, via a generic interface
  • Multi-threaded and configurable support for multiple CPU/multiple GPU machines

For more information visit: http://www.openscenegraph.org

 

OpenInventor

OpenGL (OGL) is a low level library that takes lists of simple polygons and renders them as quickly as possible. To do something more practical like “draw a house”, the programmer must break down the object into a series of simple OGL instructions and send them into the engine for rendering. One problem is that OGL performance is highly sensitive to the way these instructions are sent into the system, requiring the user to know which instructions to send and in which order, and forcing them to carefully cull the data to avoid sending in objects that aren't even visible in the resulting image. For simple programs a tremendous amount of programming has to be done just to get started.

Open Inventor (OI) was written to address this issue, and provide a common base layer to start working with. Objects could be subclassed from a number of pre-rolled shapes like cubes and polygons, and then easily modified into new shapes. The “world” to be drawn was placed in a scene graph run by OI, with the system applying occlusion culling on objects in the graph automatically. OI also included a number of controller objects and systems for applying them to the scene, making common interaction tasks easier.

Finally, OI also supplied a common file format for storing “worlds”, and the code to automatically save or load a world from these files. Basic 3D applications could then be written in a few hundred lines under OI, by tying together portions of the toolkit with “glue” code.
On the downside OI tended to be slower than hand-written code, as 3D tasks are notoriously difficult to make perform well without shuffling the data in the scene graph by hand. Another practical problem was that OI could only be used with its own file format, forcing developers to write converters to and from the internal system.

For more information visit: http://www.vsg3d.com

 

Cuda

CUDA (an acronym for Compute Unified Device Architecture) is a parallel computing architecture developed by NVIDIA. CUDA is the computing engine in NVIDIA graphics processing units or GPUs that is accessible to software developers through industry standard programming languages. Programmers use 'C for CUDA' (C with NVIDIA extensions), compiled through a PathScale Open64 C compiler, to code algorithms for execution on the GPU. CUDA architecture supports a range of computational interfaces including OpenCL and DirectCompute.Third party wrappers are also available for Python, Fortran, Java and Matlab.

The latest drivers all contain the necessary CUDA components. CUDA works with all NVIDIA GPUs from the G8X series onwards, including GeForce, Quadro and the Tesla line. NVIDIA states that programs developed for the GeForce 8 series will also work without modification on all future Nvidia video cards, due to binary compatibility. CUDA gives developers access to the native instruction set and memory of the parallel computational elements in CUDA GPUs. Using CUDA, the latest NVIDIA GPUs effectively become open architectures like CPUs. Unlike CPUs however, GPUs have a parallel "many-core" architecture, each core capable of running thousands of threads simultaneously - if an application is suited to this kind of an architecture, the GPU can offer large performance benefits.

In the computer gaming industry, in addition to graphics rendering, graphics cards are used in game physics calculations (physical effects like debris, smoke, fire, fluids); examples include PhysX and Bullet. CUDA has also been used to accelerate non-graphical applications in computational biology, cryptography and other fields by an order of magnitude or more.

CUDA provides both a low level API and a higher level API. The initial CUDA SDK was made public on 15 February 2007, for Microsoft Windows and Linux. Mac OS X support was later added in version 2.0, which supersedes the beta released February 14, 2008.

For more information visit: http://www.nvidia.com/object/cuda_home.html

 

OpenSG

OpenSG is a scene graph system to create realtime graphics programs, e.g. for virtual reality applications. It is developed following Open Source principles, LGPL licensed, and can be used freely. It runs on Microsoft Windows, Linux, Solaris and Mac OS X and is based on OpenGL.

Its main features are advanced multithreading and clustering support (with sort-first and sort-last rendering, amongst other techniques), although it is perfectly usable in a single-threaded single-system application as well.

It was started, just like many other systems, at the end of the scenegraph extinction in 1999 when Microsoft and SGI's Fahrenheit graphics API project died. Given that there was no other scene graph system on the market nor on the horizon with the features the authors wanted, they decided to start their own.

OpenSG should not be confused with OpenSceneGraph which is entirely different scene graph API, somewhat similar to OpenGL Performer. Development on both started about the same time, and both chose similar names.

For more information visit: http://www.opensg.org

 

GIS Tools

Google Earth

Google Earth displays satellite images of varying resolution of the Earth's surface, allowing users to see things like cities and houses looking perpendicularly down or at an oblique angle (see also bird's eye view). The degree of resolution available is based somewhat on the points of interest and popularity, but most land (except for some islands) is covered in at least 15 meters of resolution.

Google Earth allows users to search for addresses for some countries, enter coordinates, or simply use the mouse to browse to a location. For large parts of the surface of the Earth only 2D images are available, from almost vertical photography. Viewing this from an oblique angle, there is perspective in the sense that objects which are horizontally far away are seen smaller, like viewing a large photograph, not quite like a 3D view.

For other parts of the surface of the Earth 3D images of terrain and buildings are available. Google Earth uses digital elevation model (DEM) data collected by NASA's Shuttle Radar Topography Mission (SRTM). This means one can view the whole earth in three dimensions.

Google Earth is simply based on 3D maps, it has the capability to show 3D buildings and structures (such as bridges), which consist of users' submissions using SketchUp, a 3D modeling program software. Many buildings and structures from around the world now have detailed 3D structures.

 

Nasa World Wind

World Wind is a free and open source (released under the NOSA license) virtual globe developed by NASA and the open source community for use on personal computers. Old versions need Microsoft Windows but more recent Java versions are cross platform. The program overlays NASA and USGS satellite imagery, aerial photography, topographic maps and publicly available GIS data on 3D models of the Earth and other planets.

World Wind was released for the first time in 2004 by NASA. The latest version (1.4) developed mainly by open source community members from World Wind Central/Free Earth Foundation had its premiere on February 14, 2007.

Apart from the Earth there are several worlds in World Wind: Moon, Mars, Venus, Jupiter (with the four Galilean moons of Io, Ganymede, Europa and Callisto) and SDSS (imagery of stars and galactics). All these worlds are available in the File menu.
Users can interact with the selected planet by rotating it, tilting the view, and zooming in and out. Five million placenames, political boundaries, latitude/longitude lines, and other location criteria can be displayed. World Wind provides the ability to browse maps and geospatial data on the internet using the OGC's WMS servers (version 1.4 also uses WFS for downloading placenames), import ESRI shapefiles and kml/kmz files. This is an example of how World Wind allows anyone to deliver their data.
Other features of World Wind include support for .X (DirectX 3D polygon mesh) models and advanced visual effects such as atmospheric scattering or sun shading.

The resolution inside the US is high enough to clearly discern individual buildings, houses, cars (USGS Digital Ortho layer) and even the shadows of people (metropolitan areas in USGS Urban Ortho layer). The resolution outside the US is at least 15 meters per pixel.
Microsoft has allowed World Wind to incorporate Virtual Earth high resolution data for non-commercial use.

World Wind uses digital elevation model (DEM) data collected by NASA's Shuttle Radar Topography Mission. This means one can view topographic features such as the Grand Canyon or Mount Everest in three dimensions. In addition, WW has bathymetry data which allows users to see ocean features, such as trenches and ridges, in 3D.

Many people using the applications are adding their own data and making them available through various sources, such as the World Wind Central or blogs mentioned in the link section below.
All images and movies created with World Wind using Blue Marble, Landsat, or USGS public domain data can be freely modified, re-distributed, and used on web sites, even for commercial purposes.

For more information visit: http://worldwind.arc.nasa.gov/java

 

Virtual Terrain Project

The goal of VTP is to foster the creation of tools for easily constructing any part of the real world in interactive, 3D digital form.

This goal will require a synergetic convergence of the fields of CAD, GIS, visual simulation, surveying and remote sensing.  VTP gathers information and tracks progress in areas such as procedural scene construction, feature extraction, and rendering algorithms.  VTP writes and supports a set of software tools, including an interactive runtime environment (VTP Enviro).  The tools and their source code are freely shared to help accelerate the adoption and development of the necessary technologies.

For more information visit: www.vterrain.org

 

Modeling Tools

Autodesk 3D Studio Max

Autodesk 3ds Max, formerly 3D Studio MAX, is a modeling, animation and rendering package developed by Autodesk Media and Entertainment. It has modeling capabilities, a flexible plugin architecture and can be used on the Microsoft Windows platform. It's frequently used by video game developers, TV commercial studios and architectural visualization studios. It is also used for movie effects and movie pre-visualization. In addition to its modeling and animation tools, the latest version of 3ds Max also features shaders (such as ambient occlusion and subsurface scattering), dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, a customizable user interface, and its own scripting language.

 

Autodesk Maya

Autodesk Maya, commonly shortened to Maya, is 3D computer graphics software that runs on Linux, Mac OS X and Microsoft Windows, originally developed by Alias Systems Corporation and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video games, animated film, TV series, or visual effects. The product is named after the Sanskrit word Maya, the Hindu concept of illusion.

 

CityEngine

CityEngine, is a 3D modeling application specialized in the generation of three dimensional urban environments. With the procedural modeling approach, CityEngine enables the efficient creation of detailed large-scale 3D city models with merely a few clicks of the mouse instead of the time exhaustive & work intensive method of object creation & manual placement. CityEngine works with architectural object placement & arrangement in the same manner that VUE manages terrain, ecosystems & atmosphere mapping & is equally as diverse in its ability of object manipulation & environmantal conformity/harmony as its VUE counterpart. CityEngine can in fact even be used inside of the e-on software VUE program to complete the ultimate in real world CGI/3D generated scenes & effects...& at a surprisingly affordable price in comparison to many of the top/leading 3D programs on the current market.

 

SketchUP

SketchUp is a 3D modeling program marketed by Google and designed for architectural, civil, and mechanical engineers as well as filmmakers, game developers, and related professions. The program, which is designed for ease of use,[2] allows placement of models within Google Earth.

 

Blender

Blender is a free open source 3D graphics application, available under the GNU General Public License for the Linux, Mac OS X, FreeBSD, OpenBSD and Microsoft Windows operating systems. Blender's features include 3D modeling, UV unwrapping, texturing, rigging, water and smoke simulations, skinning, animating, rendering, particle and other simulations, non-linear editing, compositing, and the ability to create interactive 3D applications, video games, animated film, or visual effects. More advanced tools include rigid, realistic body, fluid, cloth and softbody dynamics simulation, modifier-based modeling, character animation, a node-based material and compositing system, and embedded scripting in Python.

 

Development Tools

Unity3D

Unity is an integrated authoring tool for creating 3D video games or other interactive content such as architectural visualizations or real-time 3D animations. Unity is similar to Director, Blender game engine, Virtools, Torque Game Builder or Gamestudio in the sense that an integrated graphical environment is the primary method of development.

The editor runs on Windows and Mac OS X and can produce games for Windows, Mac, Linux (soon, currently in beta), Wii, iPad, iPhone, as well as the Android platform. It can also produce browser games that use the Unity web player plugin, supported on Mac and Windows. The web player is also used for deployment as Mac widgets. Support for Xbox 360 and PlayStation 3 have recently been added. Unity won the Wall Street Journal 2010 Technology Innovation Award in the software category. In 2009, Unity Technologies was named one of Gamasutra's "Top 5 Game Companies of 2009" for Unity.

Unity was a runner-up for the best use of graphics on Mac OS X in the 2006 Apple Design Awards.

For more information visit: http://unity3d.com

 

Corona

Corona is a software development kit created by Ansca Mobile. It allows software programmers to build mobile applications for the iPhone, iPad, and Android devices. Corona lets developers use integrated Lua, layered on top of Objective-C, to build graphically rich applications that are also lightweight in size and quick in development time. The SDK does not charge per-app royalty or impose any branding requirement, and has a subscription-based purchase model that allows new features to be rolled out immediately to users.

For more information visit: http://www.anscamobile.com

 

EON Reality

EON Reality is a virtual reality and interactive 3D software provider based in Irvine, California. EON’s immersive solutions is used to display 3D environments at a full scale, allowing real time interaction.

For more information visit: www.eonreality.com

 

Mobile SDK

iOS

On October 17, 2007, in an open letter posted to Apple's "Hot News" weblog, Steve Jobs announced that a software development kit (SDK) would be made available to third-party developers in February 2008. The SDK was released on March 6, 2008, and allows developers to make applications for the iPhone and iPod Touch, as well as test them in an "iPhone simulator". However, loading an application onto the devices is only possible after paying an iPhone Developer Program fee. Since the release of Xcode 3.1, Xcode is the development environment for the iPhone SDK. iPhone applications, like iPhone OS and Mac OS X, are written in Objective-C.

Developers are able to set any price above a set minimum for their applications to be distributed through the App Store, of which they will receive a 70% share. Alternately, they may opt to release the application for free and need not pay any costs to release or distribute the application except for the membership fee.

Since its release, there has been some controversy regarding the refund policy in the fine print of the Developer Agreement with Apple. According to the agreement that developers must agree to, if someone purchases an app from the app store, 30% of the price goes to Apple, and 70% to the developer. If a refund is granted to the customer (at Apple's discretion), the 30% is returned to the customer from Apple, and 70% from the developer; however, Apple can then take another 30% of the cost from the developer to make up for Apple's loss

For more information visit: http://developer.apple.com

 

Android

Developed by Google under the Open Handset Alliance, a group of hardware and software developers whose goal is to create a more open cell phone environment, Android is a software stack for mobile devices that includes an operating system, middleware and key applications. It has also been defined as the first truly opened platform for mobile devices, with all of the software required to run a mobile phone, but without the proprietary obstacles that have hindered mobile innovation in the past years.

What makes Android really different is its open and fair architecture relying over a robust Linux kernel. Windows Mobile and Apples iPhone provide now a richer, simplified development environment for mobile applications. However, unlike Android, they are built on proprietary operating systems that often prioritize native applications over those created by third parties and restrict communication among applications and native phone data. Android provides instead hardware access to all applications through a series of API libraries, and a fully supported (while carefully controlled) application interaction.

Moreover, third-party and native Android applications are written using the same APIs (based on the Java language) and are executed on the same run time (a custom Java Virtual Machine called Dalvik ). In this way users can remove and replace any native application with a third-party developer alternative, even the dialer and the home screens. On the other side, developers are able to build applications by composing self made code with application already installed on the operative system (like maps, contacts etc.).

For more information visit: http://developer.android.com

 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  Next 
  •  End 
  • »


Page 1 of 2

Latest News

The BRISEIDE project has been presented during the workshop at the ASITA Conference 2011 held in Reggia di Colorno (Parma), 15-18 November 2011....
On the 11th November 2011, the city of Trento will be the battleground of a "Big Risiko Live" match. The pieces will be the participants...
The BRISEIDE presentation video has been included in the schedule of the Sperimentarea Web TV. The video is available at the following link:...
Graphitech has joined the kickoff of the Smart-Islands EU project in Malta on 30th August 2011. SMART-ISLANDS delivers a GeoPlatform/Globe with 8...
After the success of the public received in Brussels (more than 25,000 visitors in 6months), the exhibit "ETRUSCHI IN EUROPA" (The Etruscan...

   

Follow Us on

YouTube Channel LinkedIn Company Profile