问题标签 [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.
delphi - DirectX9 如何找到相交点?
我找到了与函数“D3DXIntersectTri”的交点距离。现在,使用距离值,我怎样才能找到该点值?
IDE:德尔福 - 绝地
语言:帕斯卡
DirectX 9
编辑:实际上我有 2 个圆柱体,只想渲染 3 维中的相交部分。见图片:
c++ - 计算 2 个 D3DXVECTOR3 之间的向量,与距离无关
所以这是我的场景:我有一个宇宙飞船游戏,每艘宇宙飞船都可以瞄准另一艘飞船并发射鱼雷,而鱼雷需要一个方向矢量才能行进,矢量需要与距离无关。
我正在寻找创建一个返回这样D3DXVECTOR3
构造的方法:
D3DXVECTOR3 TargetVector(D3DXVECTOR3 *target, D3DXVECTOR3 *firer)
有没有人有这方面的经验?如果有人能向我指出任何体面的、易于理解的 D3D 数学教程,那就太好了,因为到目前为止我所发现的都是基于渲染图像而不是数学方程。
谢谢!
-瑞安
directx - Direct3D11,模型的某些部分总是在其他部分之前,可能与深度有关
我是一名新的 D3D 程序员。
当我尝试渲染模型时,我遇到了一个奇怪的问题。!
你可以看到图片,模型的某些部分总是在其他部分的前面。
模型顶点仅包含以下数据
我尝试在 opengl 和 webgl ( http://nalol.azurewebsites.net/ ) 中渲染它,效果很好。但在 D3D11 中,我遇到了这个奇怪的问题。
我尝试了谷歌并找到了一些关于深度的东西,但我不知道如何处理它。
以下是我的代码的一部分:
HLSL 文件
顶点结构
输入布局对象
渲染函数
缓冲区更新功能
directx - DirectX CreateRenderTargetView 未正确初始化
由于某种原因,我似乎无法初始化我的RenderTargetView
(它保持NULL
),这会导致访问冲突。
这是应该初始化 RenderTargetView 的行:
pBackBuffer
是后台缓冲区,它得到一个值,它不是NULL
。但是,rendertagetview 会NULL
在整个过程中保持不变。知道为什么吗?
c++ - DirectX、C++ 中的映射缓冲区
所以我的问题是我有一个叫做“lightbuffer”的缓冲区,里面有一堆东西,我希望能够修改它的一个或多个元素,而不必再次重写整个东西。具体来说,如果我这样做:
这段代码几乎删除了除“漫反射”之外的所有内容,因为我使用了“D3D11_MAP_WRITE_DISCARD”。我尝试使用“D3D11_MAP_WRITE”,所以光缓冲区的其余部分不会搞砸,但 FAILED(result) 返回为真,所以映射不起作用。我在 MSDN 上读到,如果我想这样做,我需要在缓冲区描述中使用“D3D11_CPU_ACCESS_WRITE”,但是我这样做了,我的缓冲区描述如下:
那么我需要做什么才能修改缓冲区的元素而无需再次重写整个内容?
translation - DirectX11 - 矩阵转换
我正在创建一个 3D 场景,并且我刚刚在其中插入了一个立方体对象。它在原点处渲染得很好,但是当我尝试旋转它然后翻译它时,我得到一个巨大的变形立方体。这是我的代码中的问题区域:
我发现这是转置的 cubeMOVE 部分给我带来了问题,但我不知道为什么。
这会正确旋转立方体:
这可以正确翻译多维数据集:
但这会创建变形的网格:
我对 DirectX 很陌生,所以非常感谢任何帮助。
directx - 具有多个表面/纹理的 DirectX9 AlphaBlend
我目前正在编写一个 2D 窗口框架(gui 引擎)。每个控件(窗口、按钮、面板等)都绘制在单独的表面上。在绘制树中的所有控件之后,这些表面将合并在一起。
例如(窗口包含面板和按钮 3,面板包含按钮 1 和按钮 2):
- 油漆窗口
- 油漆面板
- 油漆按钮 1
- 将按钮 1 表面与面板表面合并
- 油漆按钮 2
- 将按钮 2 表面与面板表面合并
- 油漆按钮 3
- 将按钮 3 表面与面板表面合并
- 油漆面板
- 将面板表面与窗口表面合并
我们的问题是合并曲面时正确的 alpha 混合计算。我们尝试了不同的配置,但 alpha 值对所有配置都表现得“奇怪”。最大的问题是 alpha 孔(完全透明的像素,即使顶层表面(窗口)几乎是不透明的)。
作为快速修复,我们目前使用以下渲染状态:
但这些显然是不正确的,因为添加了两个重叠控件的 alpha 值(使两个 127 alpha 控件完全不透明)。
是否可以像这样混合表面:
最好的问候扎切尔
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
c++ - DirectX 矩阵变换
我正在尝试使用 D3DXVec3TransformCoordArray 和世界矩阵来定位和旋转三角形,但是当我绘制变换后的三角形时,它们会严重扭曲。我究竟做错了什么?(顺便说一句。我需要在 CPU 上执行此操作,这不是用于绘图目的......)
当我注释掉最后一行时D3DXVec3TransformCoordArray(tri, 1, tri, 1, &transM, 3);
,对象渲染得很好,但是,当然,没有转换......
编辑:另外,obj->getPosition()
并obj->getRotation()
返回正确的值。
EDIT2:好吧,看起来像
代替
解决问题。
谁能告诉我如何D3DXVec3TransformCoordArray
正确使用?(MSDN 不是很有帮助)
c++ - D3DX 字体看起来很奇怪
我目前正在开发一个小型引擎,因此我使用几个月前编写的自己的 GUI 系统。最近我用一些字体选项更新了它。
以下是一些截图:
所以问题是,我做错了什么?
怪异的