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
13
votes
1 answer

Correct way to wait for VBLANK on windows 10 in windowed mode

What is the correct way to wait for VBLANK to present on windows 10 in windowed mode? Currently I'm doing the following: D3DKMTWaitForVerticalBlankEvent(&waitData); swapchain->Present(0, 0); However this leads to occasional stutter. My current…
douglasquaid84
  • 433
  • 4
  • 14
13
votes
2 answers

3 index buffers

So, in both D3D and OpenGL there's ability to draw from an index buffer. The OBJ file format however does something weird. It specifies a bunch of vertices like: v -21.499660 6.424470 4.069845 v -25.117170 6.418100 4.068025 v -21.663851 8.282170…
bobobobo
  • 57,855
  • 58
  • 238
  • 337
13
votes
3 answers

How to get current display mode (resolution, refresh rate) of a monitor/output in DXGI?

I am creating a multi-monitor full screen DXGI/D3D application. I am enumerating through the available outputs and adapters in preparation of creating their swap chains. When creating my swap chain using DXGI's IDXGIFactory::CreateSwapChain method,…
Allen Pestaluky
  • 1,357
  • 1
  • 12
  • 17
13
votes
4 answers

Nvidia 3d Video using DirectX11 and SlimDX in C#

Good day, I am trying to display a real-time stereo video using nvidia 3DVision and two IP cameras. I am totally new to DirectX, but have tried to work through some tutorials and other questions on this and other sites. For now, I am displaying two…
Ryan Lucke
  • 131
  • 1
  • 3
12
votes
13 answers

Would it be possible to write a 3D game as large as World of Warcraft in pure Python?

Would it be possible to write a 3D game as large as World of Warcraft in pure Python? Assuming the use of DirectX / D3D bindings or OpenGL bindings. If not, what would be the largest hold-up to doing such a project in Python? I know games tend to…
BCharles
12
votes
2 answers

Converting a 32bit directx9 app to be large address aware

We are running into issues with an old closed-source game engine failing to compile shaders when memory nears 2GB. The issue is usually with D3DXCreateEffect. Usually it returns HResult "out of memory", sometimes d3dx9_25.dll prints random errors in…
user1108591
  • 130
  • 6
12
votes
6 answers

How to do exactly one render per vertical sync (no repeating, no skipping)?

I'm trying to do vertical synced renders so that exactly one render is done per vertical sync, without skipping or repeating any frames. I would need this to work under Windows 7 and (in the future) Windows 8. It would basically consist of drawing a…
slazaro
  • 248
  • 3
  • 8
11
votes
2 answers

Direct2D Depth Buffer

I need to draw a list of shapes and I am using Direct2D. I get the list of shapes from a file. The list is sorted and the order of the elements inside the file represents the order these shapes will be drawn. So, if for example the file specifies…
Nick
  • 9,515
  • 17
  • 75
  • 175
11
votes
5 answers

3D Character/Model Creator

I'm in a project to create a 3d game using XNA/C#, and the game will use a lot of 3d characters. Looking at the current 3d games, in some they create near to hundreds of characters, what lead me to think that there are some good 3d character/model…
Click Ok
  • 8,402
  • 16
  • 66
  • 98
11
votes
2 answers

Learning DirectX in 2013

I know there are several topics about this question, but I want to specifiy what Iam looking for. So I learned OpenGL and got the basics of shaders (programmable pipeline), vertex buffers, index buffers, all together so called "Modern OpenGL". Iam…
DonCalito
  • 113
  • 1
  • 4
10
votes
1 answer

New to Direct3D programming: 11 vs 12

For a newbie in D3D programming, should one just learn D3D12 directly or is D3D11 necessary before diving into D3D12? Assuming starting from scratch and decent knowledge of C++, which way should I go?
CodeAngry
  • 11,799
  • 3
  • 46
  • 52
9
votes
2 answers

Loading a precompiled HLSL shader into memory for use with CreatePixelShader

I need to load a compiled pixel shader into memory to use with CreatePixelShader but I can't use any D3DX calls. How can I do this? (I'm using Visual Studio 2010 as my compiler and C++ as the language)
Calin Leafshade
  • 1,175
  • 1
  • 11
  • 21
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
  • 3
  • 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

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
  • 23,825
  • 17
  • 116
  • 235
1
2
3
90 91