Sunteți pe pagina 1din 12

3D Graphics -

Current Technologies

• Open GL (Open Graphics Language)


– SGI Silicon Graphics

• Direct 3D
– Microsoft Direct X Technology

• Java3D
– Sun MicroSystems

• RDX (Realistic Display Mixer)


– Intel MMX Technologies
Open GL

• Platform Independent 3D API


• Texture Mapping
• Z-Buffering
• Double Buffering
• Lighting Effects
• Smooth Shading
• Material Properties
• Alpha Blending
• Transformation matrices
OpenGL
• GLUT (OpenGL Utility Toolkit)
– Window system independent API for binding OpenGL
API. (No need to learn Win32API,MFC, Xlib or Motif)
– Very Simple to use .
– Reduces learning and code overhead for OpenGL
applications.
– Features supported
• Multiple windows for OpenGL rendering.
• Callback driven event processing.
• An `idle' routine and timers.
• Utility routines to generate various solid and wire frame objects.
• Support for bitmap and stroke fonts.
• Miscellaneous window management functions.
Direct X - DirectDraw
• Very Fast - DirectDraw bypasses GDI and directly
accesses video memory on graphics card (via
surface object)
• PRIMARYSURFACE - direct access to display
memory area.
• OFFSCREENSURFACE - offscreen “behind the
scene drawing area”
Display Architecture in Win95

Windows Application

Direct3D
Graphics Realistic Video for Active Retained
Device Display Windows Movie Mode
Interface Mixer (VFW) (Win95)
(GDI) (RDX) Direct3D
Immediate Mode

DIBENG DirectDraw Direct3D Hardware


Emulator Hardware Emulation Direct Video Emulation Layer
Layer (HEL) (HEL)

Windows Device DirectDraw & Direct3D Hardware Abstraction Layer


Driver Interface (HAL) / Device Driver Interface
(DDI)

Graphics Device
Direct3D - Modes of Operation

• Direct3D Retained Mode


– Sophisticated Geometry Engine to create entire scene to
be manipulated with high level API calls. -
Functionality comes at performance cost (similar to
OpenGL).

• Direct3D Immediate Mode


– A device independent way for accessing low-level
hardware acceleration (however programmers must
design their own geometry and lighting modules).
– Very Fast! But difficult to program!
Direct3D

• Advantages:
• Faster than OpenGL (Direct hardware accelaration)
• Used in Games

• Disadvantages:
• Platform Dependent (PC Windows platform)
• Very difficult use (steep learning curve) with large
code overhead incomparison to OpenGL.
Java3D API
• Provides a Java 3D API that sits on top of
OpenGL.
• Advantages:
– Platform Independent
– Ability to distribute over the web (3D Applets)
– Small Code size (similar to OpenGL overhead)
– Also-Magician is a front-end to OpenGL
– Java Language:-NO Pointers->No Headaches!!!!!!

• Disadvantages:
– Slow (Java Byte code is interpreted by the Java Virtual
Machine, which then talks to Lower Level OpenGLLayer
Comparison
OpenGL Direct3D Java3D API
PC Driver
support for Very Poor. Java3d
GFX Poor Good designed to run on
accelerator top of other API
Cards

Platform Multiplatform Windows Multiplatform (?)

Speed 7.5:10 10:10 3:10

Easy to 10:10 2:10 9:10


Program

Documentation Fair :-Books Fair :-Books are No Programming


are 2 years 2-3 years old. guide, only a
old. OpenGL Microsoft has specification
superbible, yet to produce (available on the
OpenGL Direct3d web, so no need to
programming documentation. buy in on
Guide Probably bookstore!)
reccommend wont.since
ed. On-Line FAHRENHEIT
GLUT doc is in progess !!
up-to-date.
References
• OPENGLProgramming for Windows 95/NT
• DIRECTX, RDX, RSX, MMX TECHNOLOGY (High perf API, Rohan Coelho)
• High PerformaceWindows Graphics Programing

• www.mesa3d.org
• http://www.microsoft.com.../directx/dxm/help/da/frameset/cpp_right.htm
• http://cc.usu.edu/~sljwm/index.html
• http://cc.usu.edu/~sljwm/OpenGL.html
• http://trant.sgi.com/opengl/toolkits/glut-3.5/progs/mui/mui.html
• http://www.rezio.com/d3d/
• http://www.cmlab.csie.ntu.edu.tw/~robin/JavaGL/
• htttp://java.sun.com
• http://www.opengl.org/
• http://trant.sgi.com/opengl/toolkits/glut-3.5/progs/progs.html
• http://java3d.sdsc.edu/
• http://www.jars.com
• http://www.wksoftware.com/publications/mcd_icd.html
• http://reality.sgi.com/mjk_asd/glut3/glut3.html
• http://reality.sgi.com/mjk_asd/glut3/glut3.html
• http://ceu.fi.udc.es/SAL/F/3/index.shtml
INSTALLATION FOR Windows DRIVERS required for Demos:

OpenGL:

SGI OpenGL drivers for Windows95


================================
http://www.opengl.org/Downloads/DevDownloads.html
---ftp://ftp.microsoft.com/softlib/mslfiles/opengl95.exe
---http://www.berkelium.com/OpenGL/sgi-opengl.html

MESA OpenGL Implementation


===========================
http://www.mesa3d.org/download.html

GLUT:
=====
You can compile and re-build libraries given original GLUT source code, or just download necessary
binaris, DLLS etc avaliable at the following links:
Reccommended to download complete GLUT src and compile libraries (VC++
recommeded)..includes very nice OpenGL demos, like:
Ideas (SGI)
Atlantis
Chess
Manymore....

http://www.opengl.org/Documentation/GLUT.html //Good links


http://reality.sgi.com/mjk_asd/glut3/glut3.html
DirectX + RDX
=============

This links to Intels Download area for RDX SDK + samples and includes binary donwload for DirectX 3a.

http://developer.intel.com/ial/rdx/download.htm
http://developer.intel.com/ial/rdx/demos.htm

DirectX6
========
Microsoft has DirectX V6 out but is only available via purchasing its CD from microsoft (approx $12.50 inc
S/H).

http://www.microsoft.com/directx/resources/dx61sdk.htm (SDK includes sample code + demos)

Java3D + JDK1.2
===============
Import Note to set-up classpaths correclty for JDK1.2 installation.

http://java.sun.com/products/jdk/1.2/ //includes demo prgs for Java 2d + java 3D


http://java.sun.com/products/java-media/3D/

All These SDK/Driver installations were necessary to show the demos during the presentation.

S-ar putea să vă placă și