问题标签 [direct3d10]

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 投票
3 回答
2207 浏览

direct3d - Direct3D9ex 和 Direct3D10 资源共享

使用 Direct3D9ex,可以在设备之间共享资源。是否也可以将这些共享资源与 Direct3D10 设备一起使用?

0 投票
2 回答
918 浏览

c++ - Direct3D10:没有 32 位 ARGB 格式?

我开始添加 d3d10 支持以配合我现有的 d3d9 图形后端。

问题是所有现有代码(在几个应用程序中......)都使用 ARGB 格式的颜色,但是我找不到与 d3d10 匹配的格式模式。d3d10 根本不支持 ARGB 颜色格式还是我错过了什么?如果我没有错过什么是在它们之间进行转换的好方法,它只需要将第一个字节移到末尾,这似乎是一个非常简单的概念,但是除了将颜色分解成它的组件之外,我无论如何都看不到这样做并重建它......例如:

0 投票
1 回答
575 浏览

graphics - D3D9 中对应的 CopyResource 方法

我知道使用 IDirect3D10::CopyResource(...) 接口在 D3D10 中复制顶点/索引缓冲区很容易。

如何在 D3D9 中做同样的工作?有没有类似的API?

0 投票
1 回答
1732 浏览

c++ - 将值传递给着色器的问题

我在将值传递给我的着色器时遇到问题。我的应用程序编译得很好,但我的立方体对象不会着色。以下是我的大部分代码。

我与着色器通信的大部分代码都在 createObject 方法中

我的游戏.cpp

下面是我的着色器

效果.fx

0 投票
1 回答
996 浏览

c++ - 在 D3D10 的着色器常量缓冲区中设置纹理

好的,我在 D3D10 下编译了一个着色器。

我正在获取着色器反射以获取着色器中所有常量/全局变量的详细信息。但是我对某些事情有点困惑......如何将纹理设置为常量缓冲区?

我假设我不只是映射常量缓冲区并将 ID3D10Texture 指针复制到其中...我假设我使用 ID3D10ShaderResourceView 但我只是不确定如何在常量缓冲区中设置它。

任何帮助将非常感激!

0 投票
1 回答
1394 浏览

directx - SlimDX 与 DX10 共享资源

我正在尝试 DX10 的共享资源功能,因为我的一个项目需要这个功能。但我找不到太多示例或代码,尤其是使用 SlimDX。根据 DX10 文档,我只需要将资源指定为共享,然后我可以使用来自另一个应用程序的 OpenSharedResource() 打开它。在 SlimDX 中使用一个简单的测试应用程序,我做了以下

但我不断收到此错误

我似乎无法弄清楚出了什么问题,因为 tex.ComPointer 可能不是 OpenSharedResource 的正确指针或 Texture2D 不受支持(没有明确提到它不在文档中)

通过指定 pHandle 传递给 CreateTexture 函数的另一种替代方法在 SlimDX 中不可用,或者我不知道。

有没有人成功尝试过这个?一些帮助将不胜感激。

谢谢

0 投票
1 回答
2006 浏览

c++ - D3D10 HLSL:如何通过反射将纹理绑定到全局 Texture2D?

好的,假设我在着色器的某处有如下声明(注意我启用了旧版支持以在 DX9 和 DX10 之间共享着色器):

我可以毫无问题地编译着色器,但我对如何将 ShaderResourceView 绑定到“DiffuseMap”有点茫然。当我“反射”着色器时,我宁愿假设它会出现在常量缓冲区的变量中。它没有。事实上,我似乎无法在任何地方识别它。那么我怎么知道我应该绑定 ShaderResourceView 的纹理“阶段”(使用 DX9 术语)呢?

编辑:我发现我可以使用“GetResourceBindingDesc”来识别采样器名称。我不确定这是否对我有帮助:(

Edit2:同样我没有注意到它在 DX9 下也是一样的......即我只能得到采样器。

Edit3:我的 Texture2D 和 Sampler 看起来像这样:

现在在效果框架中,我可以通过语义“DiffuseTexture”获得 Texture2D。然后我可以将 ResourceView(D3D10)/Texture(D3D9) 设置为 Texture2D。唉,似乎没有任何方法可以使用沼泽标准着色器来处理“语义”(很高兴知道 D3D 是如何做到的,但是研究 D3D11 效果框架让我到目前为止一无所获。它似乎正在阅读它从二进制文件中,即编译后的数据中,我自己只能在其中看到“DiffuseSampler”)。

0 投票
3 回答
5583 浏览

opengl - OpenGL/D3D:如何获取在 Windows 中全屏运行的游戏的屏幕抓取?

假设我有一个全屏运行的 OpenGL 游戏(Left 4 Dead 2)。我想以编程方式获取它的屏幕截图,然后将其写入视频文件。

我已经尝试过 GDI、D3D 和 OpenGL 方法(例如 glReadPixels),要么接收到空白屏幕,要么在捕获流中闪烁。

有任何想法吗?

就其价值而言,与我想要实现的目标类似的典型示例是 Fraps。

0 投票
1 回答
312 浏览

directx - 直接3D 10 & 11

direct3d sdk 10 和 11 之间是否存在很大差异(在编码方式上,...),例如 direct3d 9 和 10 之间的“它是”?

谢谢

0 投票
3 回答
143 浏览

c++ - 创建具有所有语义类型的 Direct3D 顶点是否会降低性能?

在 Direct3D 中,您可以创建您喜欢的任何类型的顶点。您可以拥有一个仅包含位置信息的简单顶点,也可以添加颜色信息、纹理信息等。创建输入布局时,您可以定义已实现的顶点的哪些部分:

我的问题是,我是否应该使用所有输入类型(位置、颜色、纹理等)定义一个顶点结构。或者我应该创建几个顶点结构,每个都有不同类型的输入。

使用多个类的缺点是您必须创建和维护多个类,并且知道要使用哪种类型的顶点可能会令人困惑。具有 1 个顶点结构的缺点是什么?