问题标签 [d3dx]

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 投票
2 回答
265 浏览

delphi - DirectX9 如何找到相交点?

我找到了与函数“D3DXIntersectTri”的交点距离。现在,使用距离值,我怎样才能找到该点值?

IDE:德尔福 - 绝地

语言:帕斯卡

DirectX 9

编辑:实际上我有 2 个圆柱体,只想渲染 3 维中的相交部分。见图片: 在此处输入图像描述

0 投票
1 回答
1154 浏览

c++ - 计算 2 个 D3DXVECTOR3 之间的向量,与距离无关

所以这是我的场景:我有一个宇宙飞船游戏,每艘宇宙飞船都可以瞄准另一艘飞船并发射鱼雷,而鱼雷需要一个方向矢量才能行进,矢量需要与距离无关。

我正在寻找创建一个返回这样D3DXVECTOR3构造的方法:

D3DXVECTOR3 TargetVector(D3DXVECTOR3 *target, D3DXVECTOR3 *firer)

有没有人有这方面的经验?如果有人能向我指出任何体面的、易于理解的 D3D 数学教程,那就太好了,因为到目前为止我所发现的都是基于渲染图像而不是数学方程。

谢谢!

-瑞安

0 投票
1 回答
207 浏览

directx - Direct3D11,模型的某些部分总是在其他部分之前,可能与深度有关

我是一名新的 D3D 程序员。

当我尝试渲染模型时,我遇到了一个奇怪的问题。!

你可以看到图片,模型的某些部分总是在其他部分的前面。

kT8hz.png

模型顶点仅包含以下数据

我尝试在 opengl 和 webgl ( http://nalol.azurewebsites.net/ ) 中渲染它,效果很好。但在 D3D11 中,我遇到了这个奇怪的问题。

我尝试了谷歌并找到了一些关于深度的东西,但我不知道如何处理它。

以下是我的代码的一部分:

HLSL 文件

顶点结构

输入布局对象

渲染函数

缓冲区更新功能

0 投票
2 回答
1456 浏览

directx - DirectX CreateRenderTargetView 未正确初始化

由于某种原因,我似乎无法初始化我的RenderTargetView(它保持NULL),这会导致访问冲突。

这是应该初始化 RenderTargetView 的行:

pBackBuffer是后台缓冲区,它得到一个值,它不是NULL。但是,rendertagetview 会NULL在整个过程中保持不变。知道为什么吗?

0 投票
1 回答
916 浏览

c++ - DirectX、C++ 中的映射缓冲区

所以我的问题是我有一个叫做“lightbuffer”的缓冲区,里面有一堆东西,我希望能够修改它的一个或多个元素,而不必再次重写整个东西。具体来说,如果我这样做:

这段代码几乎删除了除“漫反射”之外的所有内容,因为我使用了“D3D11_MAP_WRITE_DISCARD”。我尝试使用“D3D11_MAP_WRITE”,所以光缓冲区的其余部分不会搞砸,但 FAILED(result) 返回为真,所以映射不起作用。我在 MSDN 上读到,如果我想这样做,我需要在缓冲区描述中使用“D3D11_CPU_ACCESS_WRITE”,但是我这样做了,我的缓冲区描述如下:

那么我需要做什么才能修改缓冲区的元素而无需再次重写整个内容?

0 投票
1 回答
4509 浏览

translation - DirectX11 - 矩阵转换

我正在创建一个 3D 场景,并且我刚刚在其中插入了一个立方体对象。它在原点处渲染得很好,但是当我尝试旋转它然后翻译它时,我得到一个巨大的变形立方体。这是我的代码中的问题区域:

我发现这是转置的 cubeMOVE 部分给我带来了问题,但我不知道为什么。

这会正确旋转立方体:

这可以正确翻译多维数据集:

但这会创建变形的网格:

我对 DirectX 很陌生,所以非常感谢任何帮助。

0 投票
0 回答
285 浏览

directx - 具有多个表面/纹理的 DirectX9 AlphaBlend

我目前正在编写一个 2D 窗口框架(gui 引​​擎)。每个控件(窗口、按钮、面板等)都绘制在单独的表面上。在绘制树中的所有控件之后,这些表面将合并在一起。

例如(窗口包含面板和按钮 3,面板包含按钮 1 和按钮 2):

  • 油漆窗口
    • 油漆面板
      • 油漆按钮 1
      • 将按钮 1 表面与面板表面合并
      • 油漆按钮 2
      • 将按钮 2 表面与面板表面合并
    • 油漆按钮 3
    • 将按钮 3 表面与面板表面合并
  • 将面板表面与窗口表面合并

我们的问题是合并曲面时正确的 alpha 混合计算。我们尝试了不同的配置,但 alpha 值对所有配置都表现得“奇怪”。最大的问题是 alpha 孔(完全透明的像素,即使顶层表面(窗口)几乎是不透明的)。

作为快速修复,我们目前使用以下渲染状态:

但这些显然是不正确的,因为添加了两个重叠控件的 alpha 值(使两个 127 alpha 控件完全不透明)。

是否可以像这样混合表面:

最好的问候扎切尔

0 投票
2 回答
5980 浏览

c++ - Windows 8 sdk 中的 d3dx11.h

序言:
我正在使用VS 2013制作一个项目,我尝试过#include <d3dx11.h>,但没有找到。我做了一些搜索,找到了这个报价

D3DX 不被视为在 Windows 8 中使用 Direct3D 的规范 API,因此不包含在相应的 Windows SDK 中。研究使用 Direct3D API 的替代解决方案。

这个页面

然后我进行了更多搜索,发现了这个 SO question,我尝试了答案,但它最终只是打破了所有包含。所以是的,我做了一些搜索

问:你在VS 2013中
如何使用?d3dx11

0 投票
1 回答
622 浏览

c++ - DirectX 矩阵变换

我正在尝试使用 D3DXVec3TransformCoordArray 和世界矩阵来定位和旋转三角形,但是当我绘制变换后的三角形时,它们会严重扭曲。我究竟做错了什么?(顺便说一句。我需要在 CPU 上执行此操作,这不是用于绘图目的......)

当我注释掉最后一行时D3DXVec3TransformCoordArray(tri, 1, tri, 1, &transM, 3);,对象渲染得很好,但是,当然,没有转换......

编辑:另外,obj->getPosition()obj->getRotation()返回正确的值。

EDIT2:好吧,看起来像

代替

解决问题。

谁能告诉我如何D3DXVec3TransformCoordArray正确使用?(MSDN 不是很有帮助)

0 投票
0 回答
245 浏览

c++ - D3DX 字体看起来很奇怪

我目前正在开发一个小型引擎,因此我使用几个月前编写的自己的 GUI 系统。最近我用一些字体选项更新了它。

以下是一些截图:

12, 24 看起来不错 - 但 16 只是马车

这是 12 号,也有问题

所以问题是,我做错了什么?

怪异的