AllExperts > Experts 
Search      

3D Graphics/Virtual Reality

Volunteer
Answers to thousands of questions
 Home · More Questions · Answer Library  · Encyclopedia ·
More 3D Graphics/Virtual Reality Answers
Question Library

Ask a question about 3D Graphics/Virtual Reality
Volunteer
Experts of the Month
Expert Login

Awards

About Us
Tell friends
Link to Us
Disclaimer

 
 
 
 
About Olaf Piesche
Expertise
Any general 3D graphics and math related question, any OpenGL related question, including but not limited to, rendering pipelines, optimization, shading, vertex and fragment processing, special effects.

Experience
4 years of gaming industry experience, 6 years of OpenGL experience, 9 years of general 3D graphics experience.

 
   

You are here:  Experts > 3D Graphics/Virtual Reality > OpenGL

Topic: 3D Graphics/Virtual Reality



Expert: Olaf Piesche
Date: 8/15/2004
Subject: OpenGL

Question
1.Whats the difference between OpenGL and DirectX
2. Although I have 64.0 MB Graphic Card, but I cant use "Motion Blur" while using OpenGL. How can I solve My problems?
thanx


Answer
1. Loaded question.
OpenGL and DirectX are not directly comparable. DirectX encompasses
APIs (see http://en.wikipedia.org/wiki/API) like DirectInput, DirectShow and Direct3D. Direct3D is Microsoft's 3D API, which could be compared to OpenGL as in it's a 3D API.

Both OpenGL and Direct3D expose the features of modern 3D hardware to programmers. Basically, they provide higher-level functionality to wrap low-level functions like vertex processing, texturing or lighting, which are often implemented in video hardware and exposed through the driver. In other words, the video hardware has certain functionality that the driver for the specific video card knows how to use. OpenGL or Direct3D are APIs that provide easy ways to access this functionality:

        OpenGL / Direct3D
                |
              Driver
                |
             Hardware

However, keep in mind that the actual implementation of the OpenGL and Direct3D functions can be considered part of the driver itself.
In general principle, both are just different ways to access the functionality of the video hardware.

There are many differences between Direct3D and OpenGL. I personally found OpenGL more consistent and easier to learn and use. OpenGL is administered by the OpenGL ARB (Architecture Review Board), a consortium of hardware and software vendors (for example ATI, NVIDIA, Apple, 3DLabs, IBM, among others). The ARB meets several times annually to discuss new features and decide on their implementation into OpenGL.

New features are usually introduced to OpenGL as 'extensions'. While the OpenGL core (the minimum functionality that is specified by the OpenGL version) holds proven and widely adopted functionality, companies have the possibility of introducing optional extensions into their OpenGL drivers, and exposing new functionality, for example in the latest video cards, to developers. Developers of video games, for example, can query the driver for support of a certain extension (in different terms, the functionality that this extension specifies), and use the API functions the driver provides for this functionality.

If an extensions is widely used, the ARB usually modifies it to address issues it might have, and promotes it to ARB status. Once this happens, extensions are normally very quickly integrated by other hardware vendors into their own drivers. If an ARB extension exposes mature functionality that is widely used, it can be promoted to core functionality (integrated into the minimum OpenGL specification of the current version).
Extensions have the advantage of exposing new hardware features very early to developers, but the disadvantage that they can be supported by a certain video card or not. This can make supporting the latest features a little more complicated, but makes OpenGL a more flexible base for developing across multiple platforms while squeezing the maximum of performance and functionality out of a certain piece of hardware.

Direct3D on the other hand, is administered only by Microsoft. It has a very stable specification, because only one entity (Microsoft) determines the features to be incorporated. There is no extension mechanism, so once a feature set is defined and a Direct3D version released, no new functionality can be added until the next release.

Because OpenGL is an open specification, many companies are involoved in defining its specification. OpenGL is a platform independent specification (OpenGL drivers for all major video cards exist for pretty much any computer platform imaginable). Through this, OpenGL is used for the majority of scientific visualisation and opens a possibility for running the same graphics code without major changes on multiple operating systems.

2. What "Motion Blur" are you talking about? In a specific game or application? What is the application and the circumstances? Please describe in more detail.

Add to this Answer    Ask a Question



  Rate this Answer
   Was this answer helpful?
Not at allDefinitely              
   12345  

     
About Us | Advertise on This Site | User Agreement | Privacy Policy | Help
Copyright  © 2008 About, Inc. About and About.com are registered trademarks of About, Inc. The About logo is a trademark of About, Inc. All rights reserved.