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

1354 questions
9
votes
2 answers

Windows Phone: Log to console

Disclaimer: I'm quite new to the MSFT tech world and only started Windows Phone development a month or so ago. I am unable to figure out how to log information to the Visual Studio Output window from within a C# and C++ (Direct3D) Windows Phone 8…
aaronsnoswell
  • 5,652
  • 5
  • 41
  • 65
9
votes
2 answers

What are all the different HLSL sampler types for?

I'm working with DX9/SM3 at the moment, and the MSDN documentation on HLSL samplers seems to be sorely lacking in explaining how to use the different sampler types. What's worse is they try to cover DX9 and DX10 in a single article, so they jumble…
blah
9
votes
3 answers

What exactly is a surface in OpenGL ES or Direct3D?

I did not find a good definition of the concept of a drawing surface. What properties are associated with a surface? In the context of pure OpenGL there is no surface, since OpenGL has no notion of window system specific things. In OpenGL ES though…
nschmidt
  • 2,358
  • 16
  • 22
8
votes
2 answers

Freeing resources in D language

When using Direct3D in c++ I can write a "Cube" class for example, that contains a "ID3D11Buffer* vertexBuffer_" and ensure that the destructor for that Cube object calls vertexBuffer_->Release(). I can have a "Scene" class containing a "unique_ptr…
jcoder
  • 28,098
  • 16
  • 76
  • 120
8
votes
1 answer

Performance of different CG/GLSL/HLSL functions

There are standard libraries of shader functions, such as for Cg. But are there resources which tell you how long each takes... I'm thinking similar to how you used to be able to look up how many cycles each ASM op would take.
Mr. Boy
  • 52,885
  • 84
  • 282
  • 517
8
votes
3 answers

How are Direct3D and OpenGL instructions handled in a graphics card?

I am trying to understand better how GPUs work, and I am confused about how they handled high level APIs like Direct3D or OpenGL. It is very common to see graphic cards advertising they support Direct3D and OpenGL hardware acceleration. Does this…
cloudraven
  • 2,349
  • 1
  • 22
  • 44
8
votes
1 answer

C# Capturing Direct 3D Screen

I have been fooling around with screen capture for awhile now and I managed to capture the entire screen, certain areas on the screen etc... But when I go into a game and try to capture the screen, it completely ignores the game and instead,…
Or Betzalel
  • 2,141
  • 11
  • 41
  • 58
8
votes
0 answers

D3D11CreateDeviceAndSwapChain does not swap to full screen on 2nd monitor

The original problem that I ran into, was that I wasn't able to get my game to run in full screen on my 2nd monitor. Going to display settings and swapping main display from 2nd to 1st, lets my game run in full screen without any problems. The…
8
votes
2 answers

Disable alt-enter in a Direct3D (DirectX) application

I'm reading Introduction to 3D Game Programming with DirectX 10 to learn some DirectX, and I was trying to do the proposed exercises (chapter 4 for the ones who have the book). One exercise asks to disable the Alt+Enter functionality (toggle full…
Thomas Bonini
  • 40,716
  • 28
  • 117
  • 153
8
votes
2 answers

Multi-monitor 3D Application

I've been challenged with a C++ 3D application project that will use 3 displays, each one rendering from a different camera. Recently I learned about Ogre3D but it's not clear if it supports output of different cameras to different…
user16120
  • 942
  • 10
  • 15
8
votes
3 answers

d3dx11.lib not found?

I'm using Windows 8 / Visual Studio 2012, C++11 and Direct3D 11 for development. I include the Direct3D libraries like this #pragma comment(lib, "dxgi.lib") #pragma comment(lib, "d3d11.lib") #pragma comment(lib, "d3dx11.lib") // <-- error LNK1104:…
bytecode77
  • 12,331
  • 27
  • 101
  • 126
8
votes
1 answer

read pixel data from render target in d3d11

I set a texture2d as a device render target. After draw, how can i read and write pixels from render target directly , and present it then.
TheWind
  • 81
  • 1
  • 3
7
votes
2 answers

Requirements for target application for Visual Studio 11's Graphics Debugger

I was super happy when the "Graphics Debugger" feature was announced for Visual Studio 11, I immediately attempted to get it working on various projects I had, unfortunately I've only managed to get it working for Windows 8 Metro applications!…
Simon Buchan
  • 11,503
  • 2
  • 42
  • 51
7
votes
3 answers

Dumping 3d geometry data of a running Direct3D or OpenGL application

For a hobby project of mine involving a 3d printer I would like to capture 3d models from various computer games. The games are running on Windows and are usually using DirectX9 but there is also one which can be configured to use OpenGL. Is there…
CodeTwice
  • 2,756
  • 3
  • 15
  • 17
7
votes
2 answers

What exactly is "lightweight COM"?

While researching which COM apartment threading models are supported by Direct2D, I discovered that despite appearances and the fact that one can use the API from .NET using COM interoperability, Direct2D (like other DirectX APIs) is not actually a…
stakx - no longer contributing
  • 77,057
  • 17
  • 151
  • 248
1 2
3
90 91