问题标签 [directx-9]

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 投票
5 回答
100323 浏览

visual-studio-2010 - 无法打开包含文件“d3dx9.h”

编辑:当然,在工作了一个小时然后在这里发布之后,我发现了愚蠢的错误......

尝试#include <d3dx9.h>在项目中时遇到编译器错误。我收到“致命错误 C1083:无法打开包含文件:'d3dx9.h':没有这样的文件或目录”。

  • 我确实安装了 DirectX SDK(我也只是尝试重新安装它无济于事)。
  • 在项目属性中:
    • 对于所有配置, VC++ 目录分别设置为“ $(DXSDK_DIR)Include;$(IncludePath)”和“ $(DXSDK_DIR)Lib\x86;$(LibraryPath)”,包括和库目录,并且环境变量按预期%DXSDK_DIR%指向。C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
    • C/C++ > 常规设置已$(DXSDK_DIR)include在附加包含目录中列出
    • Linker > Input > Additional Dependencies 已d3dx9d.lib包含在 Debug 和d3dx9.libRelease 配置中。
  • 我能够从 DirectX 示例浏览器成功编译和运行教程项目
  • Visual Studio 的 Intellisense/autocomplete 将查找d3dx9.h并建议文件中的类型和函数名称(并且不包括在我正在讨论的任何其他内容#include中),因此 Intellisense 似乎可以找到它。

关于我忘记了什么或还有什么可以尝试的任何建议?

谢谢

0 投票
1 回答
1010 浏览

windows-phone-7 - Windows Phone 7 DirectX 开发

我知道这可能是一个愚蠢的问题,但对我来说真的很有趣。我知道我们可以使用 Silverlight 或 XNA 为 Windows Phone 7 创建应用程序,但是是否可以开发可以在 Windows Phone 7 上运行的纯 DirectX 9 应用程序?

提前感谢您的回答和时间。

0 投票
1 回答
708 浏览

c++ - DirectX9 中使用固定函数渲染管道的每个顶点预计算光照

我正在使用固定函数管道制作 DirectX 9 C++ 应用程序,给定每个顶点的预计算光照,(不管法线/等)如何将其应用于最终图像?

我目前正在使用带纹理的图元,我正在尝试整体更改颜色(在整个图元上 - 而不是使用渐变),并且由于灯光的数量和设计的应用程序,我必须预先计算照明即使在低端机器上也能获得不错的帧率。(即每盏灯一个通过是一个太多)

我的顶点结构看起来像

基本上我想添加一个光照值并使用每个顶点的固定函数管道应用它(不使用实际的“灯光”)

任何帮助将不胜感激...

0 投票
1 回答
1338 浏览

opengl - DX9 和 DX10):默认的像素(和顶点)着色器是什么?(如果可能,也可以使用 OpenGL。)

我知道我可以选择在 DX9 中指定着色器,并且我需要在 DX10 中指定着色器。我的问题是,如果我说我想使用着色器但我没有指定一个着色器会发生什么。一句话,我正在寻找的是默认行为。有默认着色器吗?

我对以下场景感兴趣:

  • DX10,不指定像素着色器。(我必须调用 PSSetShader(NULL) 吗?如果我不调用怎么办?)将运行的默认着色器是什么?
  • 同样的问题,顶点着色器。
  • DX9,如果我指定我将使用像素着色器,但没有指定一个,会发生什么?有默认吗?如果我选择使用固定功能接口,是否有默认值?这些默认值是否相同?
  • 额外问题:OpenGL 和 GLSL 怎么样?与DX9相同的问题。

我很想看到一个指向此文档的指针——我仔细阅读了 Microsoft 在线 DX 文档,但在找到任何类型的默认行为方面确实无处可去。

谢谢!

0 投票
2 回答
886 浏览

directx - 结构内的HLSL采样器可能吗?

我正在使用 DirectX 9 效果框架。

我想创建一个包含这样一个采样器的结构:

然而,着色器编译器失败:

似乎 this-relative 引用的想法是可行的,但我需要以某种方式在函数中声明它,但我不确定它是如何工作的,因为在函数内部声明采样器不起作用?有人有想法么?

0 投票
1 回答
416 浏览

c++ - 在 D3D 中渲染 2D 图形的速度

在 d3d 中哪种渲染 2D 图形的方法更快?使用精灵或纹理四边形/其他多边形?

0 投票
4 回答
38814 浏览

random - 我可以在像素着色器中生成一个随机数吗?

我正在尝试编写一个非常简单的着色器,为适用的对象添加随机闪光。我想这样做的方法是在像素着色器中的像素值中添加一个随机的白色阴影(R = G = B)。

这似乎noise()不像我希望的那样工作:

它给了我“错误 X4532:无法将表达式映射到像素着色器指令集”,指的是对noise().

由于我不知道在对着色器的调用之间保留数字的方法,我认为我不能只根据渲染前传入的种子编写一个简单的随机数生成函数。

有没有办法从像素着色器内部产生一个随机数?如果有办法,怎么做?

0 投票
2 回答
212 浏览

visual-c++ - 在 C++ 中使用直接 x 9 表示顶部的 3d 图标

我正在做一个模拟器视觉效果,其中有很多代表模拟元素的 2D 图标,并且我有一个代表另一个更重要元素的 3D(使用 Blender 制作的.x)图标。

我需要在其他二维图标(.tga)之上制作这个,但我找不到制作这个的方法。Direct x 是否可以在其余 2d 图标上绘制 3d 图标?此时,2D 图标总是出现在 3D 之上。

请有人帮我解决这个问题。我正在用 C++ 编程 非常感谢。

0 投票
2 回答
1559 浏览

c++ - DirectX 9 固定功能纹理

使用 DirectX 9 中的固定函数渲染管道,通过执行以下操作很容易设置纹理和渲染顶点:

但是,我想为每个顶点添加一个额外的浮点值,然后乘以从纹理输出的结果颜色。(因此该值将介于 0 和 1 之间)

EG(伪代码)Colour = TextureColour(u, v) * CustomFloat

我认为有一种使用方法device->SetTextureStageState,但我不确定该怎么做......有人可以帮助我吗?

0 投票
1 回答
2423 浏览

graphics - 使用 directX 捕获和绘制屏幕截图

我正在尝试让 DirectX (DX9) 抓取桌面的屏幕截图并立即将其绘制回(以较小的尺寸)到我的表单中。

我让 DirectX 能够处理设备与几个表面一起创建的容量,并且我可以将它们渲染到屏幕上。我正在使用一个表面F3F3Surf9_SS来获取桌面屏幕截图。

这是我的变量声明和初始化

...

这是我用来抓取然后渲染屏幕截图的代码

但是,这不起作用。

图像不会被绘制到屏幕上。如果我将表面 A 或 B 绘制到屏幕上,这可行,但它不适用于 Surface SS。但是我知道 Surface SS 中有屏幕截图,因为如果我调用D3DXSaveSurfaceToFile我放在硬盘上的生成位图是一个有效的屏幕截图。

关于正确方法的任何想法?