问题标签 [directxtk]
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.
c++ - 带有 NuGet 包的 LNK1104:DirectXTKAudioWin8.lib
我有一个 Direct3D 应用程序。
我们使用 NuGet 包directxtk_desktop_2015
。在最近的包中,如directxtk_desktop_win10
or directxtk_uwp
,我有WICTextureLoader
我想要和需要的其他标志。但是,当我将这些包添加到 NuGet 时,我收到链接器错误
链接:致命错误 LNK1104:无法打开文件“DirectXTKAudioWin8.lib”
我该如何解决这个问题?这是我当前的packages.config:
c++ - 为什么 DirectXToolkit 毁了我的深度测试
我敢肯定,我只是错过了一些简单的步骤,到目前为止我已经太盲目而没有注意到,但我似乎根本无法进行深度测试。这是 DirectX 11。
应该设置它的代码:
当然,在每一帧之前,我都会调用以下内容:
但不幸的是,结果最终是这样的(请注意,冷冻纳米服模型位于地精头部后面)我相信这也可能是地精模型即使在单独时也无法正确渲染但尚未弄清楚的原因。
只有妖精,从一个角度看
如果有人能帮我弄清楚为什么它不起作用,我将不胜感激!
编辑
经过一些更令人沮丧的测试后,我发现深度测试被破坏了,因为我正在使用 DirectX ToolKit 的 SpriteBatch 和 SpriteFont 类进行一些测试文本渲染。有没有人遇到过这个问题?除了文本渲染和加载 dds 纹理之外,我真的不想要/不需要工具包,所以我希望如果我想使用这些类,我不需要彻底改变我现有的代码?
c++ - D3D11 DirectXTK Spritebatch 全屏问题
我正在使用 DirectXTK 和 Spritebatch 开发低分辨率 2D 游戏。在窗口模式下一切正常,但是每当我开始或切换到全屏时,图像都会模糊以拉伸后缓冲区以适应屏幕。
I 使用以下设置初始化设备和交换链:
采样器状态设置如下:
在 Windows 消息处理程序中,当窗口大小发生变化时,我会重新创建资源,如果我使用新的窗口大小作为后缓冲尺寸或原始游戏尺寸,那么无论哪种方式,游戏都会变得模糊。
有谁知道如何解决这个问题?Chuck Walbourn 用户:3780494 能否说明情况?
非常感谢。
directx - DirectXTK 3D 音频仅使用左声道
我决定尝试 DirectXTK12 音频,除了 3D 声音外,它工作正常。我正在遵循wiki 的指南,但无论我如何定位听者/发射器,声音总是在左扬声器中。怎么了?我的代码如下所示:
它应该在中心,但它只使用左声道,虽然输出中没有错误,输出中唯一说的是:
在没有 3D 的情况下播放声音会按预期使用两个扬声器。
directxtk - DirectX12 ToolKit 项目中未解析的符号仅适用于 x64
我有一个我之前参与过的 dxtk12 项目。目前我正在使用另一种 Windows 架构 - x64 和 VS - 2019 版本(早期 - x86 和 vs2017)。
我尝试为 x64 版本编译我的项目,但出现链接器错误:
当我将构建选项切换到 x86 发布时,所有编译成功。
我尝试添加#pragma comment(lib, "RuntimeObject.lib")
,它没有帮助。
我究竟做错了什么?
c++ - Windows 8.1 中的 DXGI 翻转?
Windows 8.1 是否支持 DXGI 翻转模型?即DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
和DXGI_SWAP_EFFECT_FLIP_DISCARD
?我在网上看到相互矛盾的信息。
Link1和link2表示至少DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
受 Windows 8 支持,但测试 DXGI 翻转模型支持的常用方法是:
这似乎在 Windows 8.1 上失败了。我正在使用带有 Windows SDK 版本 10.0.14393.0 的 Visual Studio 2019。这是我的 GPU 信息:
作为一个快速的健全性检查,我从 Xbox-ATG-Samples / DirectXTK 运行了 SimpleInstancingPC 示例。它指出:
如果DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL
Windows 8.1 实际上支持但不支持,那么在该方法失败DXGI_SWAP_EFFECT_FLIP_DISCARD
的情况下,检查此功能的正确方法是什么?IDXGIFactory4
directx - DirectX 边界框绘图
这个想法是在显示我的DiretXTK模型后将边界框绘制为屏幕上的 2D 角。
我从 DirectXKT 中得到了边界框角std::vector<DirectX::SimpleMath::Vector3>
,所以
这些坐标无效,我在将每个角的 XYZ 转换为屏幕投影时做错了。
非常感谢你的帮助。
c++ - 在 C++ DirectX Tool Kit 中渲染纹理问题
我正在尝试使用 DirectX 工具包中的函数 CreateWICtextureFromFile 从 .jpg 文件加载纹理。我的图像作为纹理加载,但输出有抖动和缺失信息。这是我的代码快照
====================================
====================================
像素着色器文件
================================
c++ - 如何访问加载到 ID3D11ShaderResourceView 中的动画 GIF 的各个帧?
我使用DirectXTK 中的 CreateWICTextureFromFile()来加载动画 GIF 纹理。
然后我将它显示在一个ImageButton
亲爱的 IMGUI 库上:
但它只显示静止图像(GIF 文件的第一帧)。
我想我必须分别给它每一帧的纹理。但我不知道怎么做。你能给我一个提示吗?
fbx - DirectX 12 中 Assimp 的骨骼动画错误
我正在使用 Assimp 将带有动画的 FBX 模型(在 Blender 中创建)加载到我的 DirectX 12 游戏中,但是我遇到了游戏应用程序渲染的动画的一个非常令人沮丧的错误。
测试模型是一个简单的“旗杆”,包含四个骨骼,如下所示:
骨骼0 -> 骨骼1 -> 骨骼2 -> 骨骼3
当绕过关键帧动画时,模型在其静止姿势中正确渲染。
当动画仅通过根骨骼 (Bone0) 旋转模型时,模型也会正确渲染和动画。
但是,当导入在第一个关节(即 Bone1)处旋转的模型时,聚集在每个关节周围的顶点似乎“卡在”其原始位置,而“骨骼”周围的顶点似乎会跟随正确的动画.
结果是拉伸几何的蹩脚之字形,如下所示:
相反,该模型在其动画姿势结束时应类似于“六角扳手”形状,如 AssimpViewer 实用工具中呈现的相同模型所示:
由于模型在 AssimpViewer 中正确渲染,因此可以合理地假设 Blender 导出的 FBX 文件没有问题。然后我检查并确认“卡在”关节周围的顶点确实确实由游戏加载代码正确分配了它们的顶点权重。C++ 模型加载和动画代码基于流行的 OGLDev 教程:https ://ogldev.org/www/tutorial38/tutorial38.html
现在令人生气的是,由于 AssimpViewer 工具正确地渲染了模型动画,我还从该工具中复制了 SceneAnimator 和 AnimEvaluator 类,以通过该代码分支生成最终的骨骼变换......只是最终得到完全游戏中同样的曲折错误!
我有理由相信在初始化时找到骨骼层次结构没有任何问题,所以这里是遍历层次结构并在每帧插入关键帧的关键函数。
我刚刚在这里包含了旋转插值,因为缩放和平移函数是相同的。对于那些不知道的人,Assimp 的 aiMatrix4x4 类型遵循列向量数学约定,所以我没有弄乱原始矩阵乘法顺序。
关于我的代码和我采用的两个基于 Assimp 的代码分支之间的唯一偏差是要求使用此转换函数将最终转换从 aiMatrix4x4 类型转换为 DirectXTK SimpleMath 矩阵(实际上是 XMMATRIX):
由于 aiMatrix4x4 Assimp 矩阵的列向量方向,最终的骨骼变换不会转置以用于 HLSL 消耗。最终骨骼变换数组被传递到蒙皮顶点着色器常量缓冲区,如下所示。
请注意,我正在使用上述代码中 DirectXTK12 库中的图形资源内存管理帮助器对象。最后,这是我正在使用的蒙皮顶点着色器。
我在发布之前尝试的最后一些测试:
我使用从 Blender 导出的 Collada (DAE) 模型测试了代码,只是在 Win32 桌面应用程序中观察到相同的扭曲曲折。
我还确认加载模型的 aiScene 对象返回全局根变换的单位矩阵(也在 AssimpViewer 中验证)。
我已经盯着这段代码大约一个星期了,我快疯了!真的希望有人能发现我错过的东西。如果您需要更多代码或信息,请询问!