120 likes | 130 Views
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
E N D
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 Properties
OpenGL Toolkits • 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”
Windows Application Realistic Display Mixer (RDX) Video for Windows (VFW) Graphics Device Interface (GDI) Active Movie (Win95) Direct3D Retained Mode Direct3D Immediate Mode DIBENG Emulator DirectDraw HardwareEmulation Layer (HEL) Direct Video Direct3D Hardware Emulation Layer (HEL) Windows Device Driver Interface (DDI) DirectDraw & Direct3D Hardware Abstraction Layer (HAL) / Device Driver Interface Graphics Device Display Architecture in Win95
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
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.