This page contains answers to common questions about
DirectX programming.  Additional information can be found at Microsoft's official
DirectX 
7 Developer FAQ and
DirectX 8 Developer FAQ.  You might also 
check the DirectX MVP FAQ for 
the
microsoft.public.win32.programmer.directx.graphics newsgroup.
DirectX
9 Graphics
How can I determine 
what assembly level shader code is generated from HLSL shader code in my effect 
file?
DirectX
8 Graphics
  After installing the
  DX 8 SDK, I receive the error LNK1104: Cannot Open File "d3dim.lib"
  when attempting o compile my program.
I am using Direct3D to
draw a tile map to the screen.  Why can't get the edges to match properly?
  When I use the D3DX
  shape creation functions to generate a mesh, there are no texture coordinates
  in the vertices.  How can I set texture coordinates?
  How can I render to 
  multiple windows under DirectX 8 Graphics?
  When loading a texture with the D3DX 
  texture creation functions I specify a color key, but no transparency appears 
  when I render the image.
  I am rendering alpha blended 
  polygons and setting the alpha of the diffuse vertex component to determine 
  the opacity.  It works when there is no texture set, but as soon as I set 
  a texture the alpha that I set is no longer applied.  Why?
Why does rendering of pre-transformed 
vertices appear to be slower in DX 8?
Why does rendering of an ID3DXMesh 
object slow down significantly after I define subsets?
Why doesn't Intellisense offer code 
completion options for DX 8 interfaces under VC++?
Will applications that I compile with 
the DirectX 8.1 SDK be compatible with systems  with the DirectX 8.0 
runtimes?
I have heard that DirectX 8.1 no 
longer supports Windows 95.  Can I compile applications compatible with 
Windows 95 if I have the DirectX 8.1 SDK installed?
Why do my calls to 
IDirect3DDevice8::Getxxxx 
fail?
When I draw an image using 
ID3DXSprite::Draw() with 1:1 scaling, the sprite is different than the original 
image size.  Why?
  Why does my programmable vertex 
  shader fail during creation on some hardware?
General
Issues - Application Installers
  Once my
  application is installed on an end user's system, how can I find out which
  drive it's CD is in?
General
Issues - Compiler
  Can I
  Program for DirectX in Borland C++ ?
  When 
  attempting to compile under the DirectX 8 SDK, I recieve a compiler error 
  stating that  DirectInputCreateEx or DirectInputCreate is an undeclared 
  identifier.
  After installing the DX 8 SDK, I
recieve the error LNK1104: Cannot Open File "d3dim.lib" when
attempting o compile my program.
  Why doesn't Intellisense 
  offer code completion options for DX 8 interfaces under VC++?
General
Issues - Timing and Motion
  How Should I
  Perform Timing in my Game?
  How
  can I achieve a consistent rate of motion, regardless of the machine my
  program is executed on?
DirectDraw
Issues
  How Can
  I Draw a Pixel Directly to a DirectDraw Surface?
  How
  can I load  images onto surfaces with a different pixel format?
  Why does my Color Key
  fail when using 16 bit color depth?
  Why does my full
  screen DirectDraw application drop frames at times, displaying a black screen
  momentarily?
   What are the equations to covert
between Y'UV and RGB color?
Direct3D
Immediate Mode
  Why do
  my pre-lit vertices appear black under DirectX 7?
  Why
  are my Indexed Primitive calls so slow?
  My
  existing application successfully renders with the DrawPrimitive method, but
  when I started using the Direct3DDevice3 Interface, the primitives are not
  rendered properly.  Why?
  Why
  are some or all of my triangles are not visible when I render them?
  My
  world matrix scales an item, and the normals are scaled as well.  How can
  I prevent this from affecting my lighting?
  After installing the DX 8 SDK, I
recieve the error LNK1104: Cannot Open File "d3dim.lib" when
attempting o compile my program.
Direct3D
Retained Mode
  How do I construct a
  mesh if I have all the necessary information on its vertices?
  Can I map my
  texture on a surface without using IDirect3DRMWrap?
  If I create an
  animated character in 3D Studio, how do I use it in my program?
  How do I make use of
  triple buffering in my D3DRM full screen application?
  Can I use
  single/multiple pass multi-texture in D3DRM?
  How can I use
  mipmapping in D3DRM?
  What about
  anti-aliasing in D3DRM?
DirectSound
Issues
  If I wish to play
  overlapping copies of a sound, do I have to load multiple copies?
  Why, when compiling
  in DirectX 7, does using the DSBCAPS_CTRLDEFAULT cause an error?
DirectPlay
Issues
  What
  support is offered for Proxy Servers?

Notes on this FAQ Page
This page is made available to provide answers to Frequently Asked Questions
that are encountered by software developers using DirectX.  The questions
are selected from the experience of myself and others in the DirectX community,
experience gained both from our own trials and through the assistance we provide
to the developer community through the public newsgroups.
This list is a work in progress, and will continue to grow as new issues
arise.  If you see issues that are not covered here, please let us know
through our Feedback Page, or if you have problems
with the forms there drop me
a line.
Note that this FAQ is, for the sake of size, not intended to provide a full
tutorial on these subjects.  Rather, it will provide short, concise answers
that will point you in the right direction to find a solution.  As this
site advances, we will do our best to include pointers to articles and samples
that illustrate each topic.
Special thanks to Eric DeBrosse, Rich Thomson, Klaus Hartmann, Michael Lundberg,
and all the others who have assisted in
compiling this and other pages... their assistance has helped make the X-Zone a reality.