API
When programmers want to create a 3D application they may chose to write code to
create and control the images as needed. Most code writing, however, is supplemented
by the use of special code libraries that either come with the Operating System,
or which are installed later. The code libraries functions are known as API - Application
Programming Interface - and allow programmers to use the functions within their own
applications. Most often, these code libraries allow developers to create faster,
smaller programs than they could otherwise create with existing code/code compilers
on the market. Often, the term "3D acceleration" is used to indicate the speed improvements
provided by these libraries.
Sometimes the libraries are freely available, and sometimes they are
commerical products which must be purchased before use.
DirectX
OpenGL
Proprietary
Web Technologies
Return to top of document
DirectX
Microsoft distributes free code libraries of a technology they call DirectX. Windows comes with
it and Microsoft issues updates regularly. DirectX contains a number of libraries - much more than
just 3D development features. The 3D portion of DirectX is actually called Direct3D, but the
industry often simply refers to it as DirectX.
Return to top of document
OpenGL
As part of their own advanced imaging capabilities for workstations, Silicon Graphics, Inc., (SGI)
has developed and freely released a code library called OpenGL. DirectX and OpenGL are
similar in nature - both providing a traditional graphics rendering pipeline.
Return to top of document
Proprietary 3D Code Libraries
Despite the attempts of Microsoft and Sun to promote the use of DirectX and OpenGL, the most
successful games do not use either code library. The fastest possible speeds are typically
achieved by programming an application directly in assembly language - rather than using a
higher level language which is then compiled to machine language. For that reason, many of
the top game authors have created their own personal libraries of 3D image display code and
rarely make them available to other authors.
There are however, some customer 3D code libraries which are available - either for free, or
for purchase. These 3D code libraries are often know as "3D engines". An older listing of 3D
engines is kept here.
A number of well-known applications, particularly in the CAD market, have added 3D capabilities
to by purchasing 3D code libraries developed by external sources. Some of the more popular
3D imaging libraries are listed below:
- Example1
- Example2
- Example3
Return to top of document
Web Technologies
The way in which 3D technologies can be used within a web site is much different than
the options available to an application installed on a PC.
Generally, there are two options available to webmasters and web site visitors. A
web may chose to offer materials which require a custom application for display the
material within the browser.
These custom applications can be grouped into two types.
Plug-Ins
A "plug-ins" is simply an application that you install on your PC and which allows
web materials (3D images and animations) to be displayed within the browser. All
popular browsers allow for the development of plug-ins by software developers.
The advantage of plug-ins is that the code size can be very large - and thus offer
very complete features sets. The down-side is that many users are unwilling to install
software simply to view the material at a particular site. Most often, users will
simply move on to web sites which do not require them to install software to view the content
of the site.
One well known exception to this rule is the Macromedia Flash plug-in, which is thought
to be installed on 90% of all users PCs. This is a very rare exception to the rule.
Applets
A second type of application that is used by webmasters to display custom content is
the "applet", most often associated with the Java programming language (a Sun product).
Java is discussed in more detail elsewhere on this site.
Applets are complete applications whose output is displayed entirely within the browser.
Each time you go to a web page that needs the applet to display its content, the applet
is downloaded to the local PC and used to display the content within the browser.
Many applets are fairly small - less than 50K bytes, but as you would expect the more features
an applet has the larger the size of the download. Users are often willing to wait for a small
download
For security reasons the read/write and information transfer capabilities of applets are
extremely restricted so applets typically have far fewer features than plug-ins. Even so,
the ability to download an applet on demand, rather than download and install a large plug-in,
have made applets very popular tools on the web.
|