Questions tagged [direct3d]

Direct3D is a high-performance, COM-based API for accessing graphics hardware (GPUs) in a device-independent way on Microsoft platforms.

Direct3D is a high-performance, COM-based API for accessing graphics hardware (GPUs) in a device-independent way on Microsoft platforms.

It is typically used for video game development, in contrast to the OpenGL API, which is more often used in data visualization tasks.

There are several versions of the Direct3D API, each of which corresponding to a different generation of graphics hardware.

  • Direct3D 7 incorporated hardware-accelerated transformation and lighting (NVidia Geforce, ATi Radeon).
  • Direct3D 8 added limited support for programmable graphics hardware (pixel and vertex shaders) using a specially-designed shader assembler syntax (NVidia Geforce 3, ATi Radeon 8500).
  • Direct3D 9 greatly improved support for programmable shader hardware, allowing for fairly complex shader programs (NVidia Geforce FX, ATi Radeon 9500), as well as incorporating a high-level language for writing shader programs (HLSL, basically identical to NVidia Cg).
  • Direct3D 10 featured a completely restructured API while removing support for fixed-function hardware and assembler shader programs (NVidia Geforce 8). While previous versions of Direct3D were backwards-compatible, Direct3D 10 works only on capable hardware.
  • Direct3D 11 added support for different levels of graphics hardware functionality, unifying support for "modern" (fully-programmable) as well as "legacy" (fixed-function or partially-programmable) GPUs.

Microsoft's XBox game consoles' GPUs are programmed using a variant of Direct3D (a Direct3D 8 variant on the original XBox, and an improved Direct3D 9 variant on the XBox 360, with added support for some Direct3D 10 features such as tesselation).

More information at http://en.wikipedia.org/wiki/Direct3D

1464 questions
5
votes
1 answer

Implement API to wait for d3d10 commands to finish

I am implementing some functionality which requires me to implement an API to wait for d3d10 to finish rendering.Basically i am trying to implement synchronize access to a shared texture such that i can update a texture after d3d10 is successfully…
Bharat Ahuja
  • 394
  • 2
  • 15
5
votes
3 answers

Do we still need DirectX SDK to develop dx application in windows10?

Most courses said that we need the directX SDK. However they are early in 2012, the age of Windows 7. And I see that some of directX's header files and lib files has been included in windows kits (C:\Program Files (x86)\Windows Kits). And some name…
FireFLO
  • 81
  • 1
  • 1
  • 5
5
votes
3 answers

Deferred shading anti-aliasing

Many people note that MSAA does not work with deferred shading. Why is that? It sounds okay in my head. According to wikipedia: ... due to separating the lighting stage from the geometric stage, hardware anti-aliasing does not produce correct…
McLovin
  • 3,295
  • 7
  • 32
  • 67
5
votes
1 answer

Why doesn't Direct3D have it's own vertex structure?

I've always wondered the reasoning behind why we must always define D3DVERTEX. Is it because Microsoft wants to allow the opportunity to put this in a class and overload operators, or is there another reason? Thanks
jmasterx
  • 52,639
  • 96
  • 311
  • 557
5
votes
1 answer

CreateComputeShader returns E_INVALIDARG when using doubles

I need double precision for some GPGPU calculations using DirectCompute. When I make everything a float, the shader compiles and runs just fine. However, when I try to use doubles anywhere in my shader, it will compile, but calling…
NmdMystery
  • 2,778
  • 3
  • 32
  • 60
5
votes
2 answers

Using Windows SDK 8.1 for development on Windows 7

Can I install Windows SDK for Windows 8.1 on my computer with Windows 7 and use its libraries for development? Specifically I'd like to use the Direct3D libraries/headers.
pseudomarvin
  • 1,477
  • 2
  • 17
  • 32
5
votes
2 answers

DirectX/C++ 3D Engine programming: Learn now, or wait for DirectX 12?

I'm a relatively ok-ish programmer, but my main focus has been in application development with C# so far. I have almost zero experience with game development and 3d engines - I've begun reading up on how 3d Engines work in general, e.g. there was a…
Bogey
  • 4,926
  • 4
  • 32
  • 57
5
votes
2 answers

Properly Handling Alt-Enter / Alt-Tab Fullscreen Resolution

The MSDN page on DXGI gives instructions on how to handle fullscreen resolutions different from the desktop resolution. It says to call IDXGISwapChain::ResizeTargets() before calling IDXGISwapChain::SetFullscreenState() to prevent flickering, among…
NmdMystery
  • 2,778
  • 3
  • 32
  • 60
5
votes
4 answers

From Direct3d to OpenGL

I currently rewrite an old Visual Basic application in java, a large part of the work involves replacing Direct3d with jogl. Since I have no experience in dealing with Direct3d and only minimal experience using Opengl, I am stuck on finding…
josefx
  • 15,506
  • 6
  • 38
  • 63
5
votes
4 answers

Direct3D rendering 2D images with "multiply" blending mode and alpha

I'm trying to replicate the Photoshop filter multiply with Direct3D. I've been reading and googling about the different render states and I've got the effect almost working. The problem is that it's ignoring the alpha value of the textures. Here's…
user35268
  • 87
  • 2
  • 4
5
votes
3 answers

CoreImage for Win32

For those not familiar with Core Image, here's a good description of it: http://developer.apple.com/macosx/coreimage.html Is there something equivalent to Apple's CoreImage/CoreVideo for Windows? I looked around and found the DirectX/Direct3D stuff,…
Jim Crafton
  • 351
  • 2
  • 9
5
votes
4 answers

How do I draw transparent DirectX content in a transparent window?

I want to draw DirectX content so that it appears to be floating over top of the desktop and any other applications that are running. I also need to be able to make the directx content semi-transparent, so other things show through. Is there a way…
Garth
  • 923
  • 2
  • 10
  • 15
5
votes
1 answer

What are the exact color spaces of DXGI_FORMATs?

In the official documentation of DXGI_FORMAT, it tells us that only a format with _SRGB enumeration postfix is in sRGB color space. I thought other format without this postfix are all in the linear space. But I found a very strange behavior of…
SeaStar
  • 1,217
  • 1
  • 10
  • 15
5
votes
2 answers

Uploading texture very slow in OpenGL

I have written an emulator which I am in the process of porting to Linux. At the moment to do the video I am using Direct3D 11, which I am porting to OpenGL (which I'm running on Windows for now). I render to a 1024x1024 texture which I upload to…
spencercw
  • 3,320
  • 15
  • 20
5
votes
1 answer

How can I improve performance of Direct3D when I'm writing to a single vertex buffer thousands of times per frame?

I am trying to write an OpenGL wrapper that will allow me to use all of my existing graphics code (written for OpenGL) and will route the OpenGL calls to Direct3D equivalents. This has worked surprisingly well so far, except performance is turning…
Andrew Garrison
  • 6,977
  • 11
  • 50
  • 77