|
|
DirectX
|
ActiveMac
|
Downloads
|
Forums
|
Interviews
|
News
|
MS Games & Hardware
|
Reviews
|
Support Center
|
Windows 2000
|
Windows Me
|
Windows Server 2003
|
Windows Vista
|
Windows XP
|
|
|
|
News Centers
|
Windows/Microsoft
|
DVD
|
Apple/Mac
|
Xbox
|
News Search
|
|
|
|
ActiveXBox
|
Xbox News
|
Box Shots
|
Inside The Xbox
|
Released Titles
|
Announced Titles
|
Screenshots/Videos
|
History Of The Xbox
|
Links
|
Forum
|
FAQ
|
|
|
|
Windows
XP
|
Introduction
|
System Requirements
|
Home Features
|
Pro Features
|
Upgrade Checklists
|
History
|
FAQ
|
Links
|
TopTechTips
|
|
|
|
FAQ's
|
Windows Vista
|
Windows 98/98 SE
|
Windows 2000
|
Windows Me
|
Windows Server 2002
|
Windows "Whistler" XP
|
Windows CE
|
Internet Explorer 6
|
Internet Explorer 5
|
Xbox
|
Xbox 360
|
DirectX
|
DVD's
|
|
|
|
TopTechTips
|
Registry Tips
|
Windows 95/98
|
Windows 2000
|
Internet Explorer 5
|
Program Tips
|
Easter Eggs
|
Hardware
|
DVD
|
|
|
|
ActiveDVD
|
DVD News
|
DVD Forum
|
Glossary
|
Tips
|
Articles
|
Reviews
|
News Archive
|
Links
|
Drivers
|
|
|
|
Latest Reviews
|
Xbox/Games
|
Fallout 3
|
|
Applications
|
Windows Server 2008 R2
|
Windows 7
|
|
Hardware
|
iPod Touch 32GB
|
|
|
|
Latest Interviews
|
Steve Ballmer
|
Jim Allchin
|
|
|
|
Site News/Info
|
About This Site
|
Affiliates
|
Contact Us
|
Default Home Page
|
Link To Us
|
Links
|
News Archive
|
Site Search
|
Awards
|
|
|
|
Credits
©1997-2012, Active Network, Inc. All Rights Reserved.
Please click
here
for full terms of use and restrictions or read our Light Tower
Privacy
Statement.
|
|
DirectX
7 Info
DirectX for Visual Basic
DirectX has traditionally been the domain of C and C++ developers
developing game content. By providing language support for Visual
Basic, the DirectX API
is opened up to a new kind of developer writing similar or very
different kinds of applications. The goal of the project is
simply to provide the same access to high performance multimedia
functionality that's available to C developers. To that end, we've
also extended the SDK with Visual Basic sample code and helper
controls to make DirectX accessible and easier to understand for the
Visual Basic programmer.
DirectX for Visual Basic
At the core of DirectX for Visual Basic is a DLL that marshals objects
between the DirectX run time and Visual Basic. The DLL exposes DirectX
functionality using types that are friendly to Visual Basic and
insulates the Visual Basic language developer from some of DirectX's
object semantics. To provide the most flexibility and speed, the
object model mirrors that of C.
WHAT'S CHANGED
By far the biggest new addition to the SDK is the addition of DirectX
for Visual Basic. However, there are other updates,
modifications and bug fixes in other areas of the API.
These modifications are listed by component below:
Direct3DIM
Direct3D for DirectX 7.0 introduces a new set of interfaces which
offer a simplified programming model and higher performance, as well
as a number of new features. The programming model is simplified
though a consolidation of Direct3D interfaces. Material,
viewport, and light information is now part of the device state
instead of being separate objects. The need for separate texture
objects has been eliminated, and textures are now simply DirectDraw
surfaces.
Features enabled through these new interfaces
include:
- hardware transform and lighting
- vertex blending
- arbitrary clip planes
- cube environment maps
- texture transforms and projected textures
- enhanced texture management
- state blocks
DirectDraw
- For DX7 there is a new DirectDraw Interface. This is IDirectDraw7.
Note that the relationship between older DirectDraw interfaces and
Direct3D
interfaces is as follows:
-The DirectDraw7 objects will support QueryInterface for any IDirect3D
interface,
but will only allow subsequent QueryInterface calls for the same level
of
interface. This means for example that once IDirect3D7 has been
obtained from
any DirectDraw object, no earlier IDirect3D interfaces will be
available from
that object. Similarly, once any legacy IDirect3D interface has
been obtained
from a DirectDraw object, IDirect3D7 will not be available from that
object.
-Additionally, IDirectDraw7-created surfaces do not
allow Direct3D related
QueryInterface calls (they will return E_NOINTERFACE). Applications
may only
obtain IDirect3Dtexture interfaces from surfaces created by
IDirectDraw4 or
lower interfaces.
The practical result is that to use legacy Direct3D interfaces,
applications
should not use version 7 DirectDraw interfaces, and to use DirectX 7
Direct3D
interfaces, applications should use DirectX 7 DirectDraw interfaces.
Additionally, in previous interfaces textures were
created through the
IDirect3DTexture interface. With DX7 this interface goes away. Instead
the
GetTexture, SetTexture and Load methods on IDirect3DDevice7 take
IDirectDrawSurface7 pointers. The IdirectDrawSurface7 interface
includes
the following related methods:
- SetPriority and GetPriority
- SetLOD and GetLOD
In addition to these interface changes, DirectDraw has support for two
new
features. These are:
Stereo - This includes support for stereo flipping
surfaces and refresh
rate enumeration.
Cubic environment mapping - DirectDraw supports the
atomic creation of
these complex surface structures. The application can then treat
each individual face in the structure as a DirectDraw surface, and
thus lock, GetDC, or BLT images into these surfaces, or use them as
render targets.
|