问题标签 [directx-10]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
472 浏览

visual-studio-2010 - 在 DirectX10 中绘制 IDirect3DSurface9

我使用过 DirectX 9 相当多,最近才切换到 DirectX 10。我注意到很多 9 的设备方法已经丢失或被更改。例如,在 DX9 中,StretchRect 方法用于在屏幕上绘制表面。

我的问题是:我有一个需要在屏幕上绘制的 IDirect3DSurface9,但我使用的是 DirectX 10。10 的图形设备可以做到这一点吗?还是我需要获得 9 的图形设备并用那个来做?甚至可以同时拥有 IDirect3D9Device 和 IDirect3D10Device 吗?

0 投票
1 回答
797 浏览

directx - 使用 HLSL 几何着色器对二十面体进行多重细分

目前我正在使用以下几何着色器细分一个二十面体:

但是,我想指定细分级别。是否有可能使用输出的顶点再次调用着色器,还是我需要遵循其他方法?

0 投票
1 回答
336 浏览

memory - 如果您想修复 Visual Studio 2008 上 f5 和 ctrl + F5 之间的错误?

当我构建我的项目并运行游戏时,我总是会收到这个错误。

当我调试这个错误时,我可以看到 free.c 源文件。

......

……

当我跟踪这个调试路径时,我发现我的 screen.cpp 文件的这一行发生了错误。

我不知道为什么我运行这个游戏时总是出现这个错误。

需要你的帮助!

哦是的。

我忘记了一件事。

当我按 F5 键运行项目时,无论是在全屏模式还是窗口模式下运行,游戏都运行良好。

只有当我按 Ctrl + F5 时,才会发生错误。

0 投票
1 回答
706 浏览

visual-studio-2008 - 使用 Visual Studio 2008 的链接错误(涉及 DirectX 库)

我正在尝试查看我的大学提供给我的 DirectX 示例,但是当我尝试在 Visual Studio 2008 中编译它(在调试模式下)时,它给了我以下错误 -

错误 1 ​​致命错误 LNK1104:无法打开文件 'd3d10.lib,'

我不确定问题可能是什么。我有另一个来自同一个模块的 DirectX 示例,我已经广泛研究过这个示例,并且没有遇到这个问题。

通过在 VC 目录中将目录设置为 \include 和 \Lib\x86,我确保 Visual Studio 知道在哪里查找链接文件。

我还去了解决方案属性并将以下文件添加到 Properties->Linker->Input

d3d10.lib、d3dx10d.lib、dxerr.lib、dxguid.lib

(对于另一个示例,这两件事都是相同的,并且它可以完美地编译和工作)

任何关于可能是什么问题的建议将不胜感激 - 谢谢。

0 投票
1 回答
496 浏览

c++ - DirectX 框架无法创建交换链和设备

我的 DirectX10 框架工作代码存在重大问题。

D3D10CreateDeviceAndSwapChain()代码在参数的函数中停止ID3D10Device并输出:

pD3DDevice CXX0017:错误:找不到符号“”

我在几乎所有东西上都得到了这个,我的错误处理程序,pSwapChain等等pDepthStencilView

我的代码结构如下:dxGeometry -> dxD3D -> dxSystem -> winMain

这是我的代码:dxD3D.hdxSystem.h

感谢您的帮助,这是过去两天的问题,我几乎尝试了所有方法,但我无法看到解决方案。

0 投票
2 回答
2111 浏览

c++ - 将 c++ 应用程序从 Directx9 移植到 Directx10 之前的重要阅读

我即将在我们的软件中开始大规模的重构。目前,渲染组件仍然基于 DX9。新版本将使用DX10。

在我开始之前,是否有任何关于将 DX9 移植到 DX10 的重要且编写良好的指南或概述?我找到了一些次要信息,但找不到任何写得很好的帖子、指南或概述。我想防止自己犯“经典”错误,我可以通过在开始移植之前阅读来防止这些错误。

我的目的是阅读“通用”移植指南以及更具体的示例。该软件同时渲染网格和体积,因此非常感谢有关这些主题的信息。其他关键字 - 但不限于 - :缓冲区、内存管理和多 GPU。

0 投票
1 回答
334 浏览

directx - 在图形驱动程序中使用除 Draw() API 调用之外的 DirectX 10.0 或 11.0 顶点或像素着色器

我们的项目是分析 DirectX 10 或 11 SDK 应用程序或游戏(生化奇兵、孤岛惊魂等)应用程序中使用的各种顶点和像素、几何着色器。

现在我们需要对着色器(VS、GS、PS)何时被使用或在管道中执行时有一个技术性的了解,我们知道在 Draw() DirectX API 调用期间,设置着色器获取在管道内执行。

  1. 除了 Draw() 调用之外,是否还有其他 API 可以在内部执行或利用使用 SetShader() 设置到 Pipeline 的 Shader?

  2. 设备 API(例如 Map、unmap、getResourcem 和 Copy 资源)是否间接操纵着色器?

任何与 DirectX 运行时或图形驱动程序中的着色器使用相关的指针,而不是 DirectX Draw() API 调用,都将有助于我们识别并拥有健壮的实现。

0 投票
1 回答
2377 浏览

hlsl - 在 HLSL 中使用着色器资源(端口 DX9->DX10)

我正在尝试将我的 DX9 体积渲染器移植到 DX10 版本。目前,我遇到以下错误:

D3D10:错误:ID3D10Device::DrawIndexed:着色器代码中声明的视图尺寸与绑定到像素着色器单元的插槽 0 的视图类型不匹配。如果着色器实际使用视图,这是无效的(例如,由于着色器代码分支,它没有被跳过)。[执行错误#354:DEVICE_DRAW_VIEW_DIMENSION_MISMATCH]

我的猜测是我没有以正确的方式将 2D 和/或 3D 纹理(着色器资源)发送到着色器;或者不要以正确的 (dx10) 方式使用它们。DX9 代码类似于以下内容(为了这个问题而进行了简化):

HRESULT 小时;int nVertexShaderIndex = 0;

具有实际数据的 3D 体积纹理以类似方式发送。对应的像素着色器代码:

在 DX10 中我们可以简化一些着色器代码(据我了解)。我创建了一个空纹理并用 map()/unmap() 填充这个纹理。接下来我将它作为着色器资源绑定到我的 PS。c++ 和着色器代码如下:

绑定到着色器:

在着色器中使用:

请注意,此代码引入了错误只是有根据的猜测。如果上面的代码对您来说是正确的,请也回复(在评论中)。在这种情况下,寻找解决方案的新方向将受到重视。

0 投票
1 回答
591 浏览

c++ - 为什么 D3DXVec3Project 返回 D3DXVECTOR3?

此函数将 3D 点转换为屏幕坐标,但它返回一个 vector3。Z值的意义何在?为什么它不只返回一个 D3DXVECTOR2?

0 投票
2 回答
147 浏览

c++ - 如何在需要数组的方法调用中使用向量?

例如,这个方法:

这曾经很好,因为我在实例化时调用了这个方法一次,其中数组是预定义的大小。但是,有必要动态更改“数组”中的信息,所以我改用向量。向量中的信息是否保证是连续的?

我可以做类似的事情吗