The Active Network

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.

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:

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

- 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.


This site is not related to the Microsoft Corporation in any way. Windows and the Windows logo are trademarks of the Microsoft Corporation. ActiveWindows is an independent site. The information and sources here are obtained from series of hard work & research.