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
9
votes
2 answers

Struggling With Vertex And Index Buffers In Direct3D

I've tried for many months to learn how IDirect3DVertexBuffer9 and IDirect3DIndexBuffer9 work. I've read multiple books, e-books and forums and I still can't get the hang of how they work. Can somebody help me understand how they work and how they…
DeadCapacitor
  • 209
  • 4
  • 11
9
votes
1 answer

Why is the geometry shader processed after the vertex shader?

In both the OpenGL and Direct3D rendering pipelines, the geometry shader is processed after the vertex shader and before the fragment/pixel shader. Now obviously processing the geometry shader after the fragment/pixel shader makes no sense, but…
9
votes
1 answer

What is the purpose of using the QueryInterface method? (Direct3D)

i understand what the QueryInterface method actually does- it only returns a pointer to a specific interface. But my question is, why would i want to use this method? I mean, what is the difference between QueryInterface(__uuidof(IDXGIResource),…
9
votes
1 answer

Is it possible to use OpenGL ES code with a WPF application via a D3DImage and ANGLE?

Summary (TL:DR version) Ultimately our goal is to be able to utilize OpenGL ES code in a WPF application natively (i.e. not SharpGL, etc.) and without Airspace or driver issues, possible using Google's ANGLE project. Background: One of the things I…
Mark A. Donohoe
  • 28,442
  • 25
  • 137
  • 286
9
votes
1 answer

How to find out real screen refresh rate (not the rounded number)

According to this article by Microsoft the screen refresh rate set by the user can be (and is mostly) a fractional number. The user sets 59Hz but the screen runs according to the on screen display at 60Hz, but in reality it's 59.94Hz. What I need…
Steffen Binas
  • 1,463
  • 20
  • 30
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
  • 6,051
  • 5
  • 47
  • 69
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
1 answer

Triangle drawing order in DirectX/OpenGL

Is the order of drawing triangles in a 3D API guaranteed to be the same as their order in the index buffer? For example if I have two overlapping triangles in a single draw call, and depth testing is disabled, will the first or second triangle be…
kaalus
  • 4,475
  • 3
  • 29
  • 39
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,383
  • 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
  • 29,554
  • 19
  • 87
  • 130
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
  • 60,845
  • 93
  • 320
  • 589
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

Rendering Windows screenshot capture bitmap as DirectX texture

I'm making progress developing a '3d desktop' directx app that needs to display the current contents of a desktop window (e.g. "Calculator") as a 2D texture on a rectangular surface in directx (11). I'm sooo close but really struggling with the…
Bambam
  • 3,729
  • 1
  • 16
  • 16
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…
Andreas Bonini
  • 44,018
  • 30
  • 122
  • 156
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
  • 952
  • 1
  • 10
  • 16
1 2
3
97 98