directx相关内容
我需要根据特定深度(用于光线投射)将 2D 鼠标坐标转换为 3D 世界坐标.我没有直接在 C++ 中使用 DirectX,我使用的是专有语言,但如果你用 C++ 或伪代码(首选 C++)给我答案,我可以转换它. 我可以访问世界矩阵、视图矩阵和投影矩阵以及各种矩阵操作功能. 如果需要将 vector4 乘以 matrix4,我唯一可以使用 vector4 和 matrix4 的函数是 t
..
我们使用模型视图投影矩阵的目的是什么?为什么着色器需要模型视图投影矩阵? 解决方案 模型、视图和投影矩阵是三个独立的矩阵.模型从对象的局部坐标空间映射到世界空间,从世界空间到相机空间的视图,从相机到屏幕的投影. 如果您将所有三个组合在一起,您可以使用一个结果从对象空间一直映射到屏幕空间,使您能够计算出需要从传入的可编程管道传递到下一阶段的内容顶点位置. 在旧的固定功能管道中,您
..
我正在尝试向我的应用程序添加凹凸贴图功能,但我得到了非常多面的模型: 发生这种情况的原因是因为我正在计算每个面的切线、副法线和法线,而完全忽略了我从模型文件中获得的法线. 计算目前使用三角形的两条边和纹理空间向量得到切线和副法线,然后通过叉积计算法线.模型加载后,这一切都在 CPU 上完成,然后将值存储为模型几何的一部分. vector1 = vertex2.coords - ve
..
我希望能够在没有用户上下文或登录用户的服务器上使用硬件加速来渲染复杂的 2D 和 3D 图像.到目前为止我能做的最好的事情是 Mesa3D,但因为它是纯软件 3D渲染它很慢并且没有利用视频硬件加速.可以是 Windows 或 Linux.到目前为止,我的大部分工作都是在 Windows 中完成的. 有关如何使用 OpenGL 或 DirectX 执行此操作的任何建议? 解决方案 对于
..
我目前正在尝试习惯 DirectX API,我想知道在 DirectX 11 中渲染精灵的常用方法是什么(例如用于俄罗斯方块克隆). 是否有与 ID3DX10Sprite 类似的界面,如果没有,在 DirectX 11 中绘制精灵的常用方法是什么? 编辑:这是对我有用的 HLSL 代码(投影坐标的计算可以做得更好): struct SpriteData{浮动2位置;float2 大小
..
我只想在 C# 中绘制简单的 2D 对象,例如圆、线、正方形等.我怎么做?回到 Turbo C++ 时代,我记得初始化一些图形库来做同样的事情.我需要在 .NET 中做类似的事情吗?3D 对象有什么不同吗?DirectX 之类的东西会让这更容易吗?非常感谢任何指向教程或示例的链接. 解决方案 正如其他人所说,请查看 系统绘图.(我只是为了完整性而重复这一点.) System.Drawing
..
除了MFC、WIN32、Winforms之外,还有没有可以和DirectX一起使用的GUI API和 WPF? 解决方案 如果您要进行自己的 DirectX 渲染,则可以对公开 HWND 的窗口使用任何 GUI 技术. 只需在您想要的任何工具包中使用“面板"等效项,并将其句柄 (HWND) 输入 DirectX 以初始化设备.无论您使用 MFC、Windows Forms、WPF、Q
..
我将 Directx 嵌入到我的应用程序的子窗口中,并希望仅在它位于该客户区上方时隐藏窗口光标.我知道如何在一般情况下隐藏光标,并且确实设法找到了一个临时示例,如果只在光标不在任何客户区域上方时显示它,但这对此没有帮助.如何仅在光标位于特定客户区(/子窗口)上方时隐藏光标? 编辑:这与我得到的一样接近,但光标在 dx 区域上方不可预测地闪烁(随着鼠标移动) case WM_SETCURSO
..
我正在使用 DirectXMath 构建我的 3D 模拟项目 void SetConstantBuffer(ID3D11DeviceContext*_device_context, DirectX::XMMATRIX _world, DirectX::XMMATRIX _view, DirectX::XMMATRIX _projection){ConstantBuffer const_buff
..
我之前问过一个相关问题,并意识到不调用 ValidateRect 在应用程序中作为对 WM_PAINT 的响应会导致极大的减速. 这是为什么?这如何以这种方式影响 DirectX 应用程序? //-------------------------------------------------------------------------//名称:MsgProc()//Desc: 窗口的
..
我使用的是 iball 笔记本,但我没有足够的内存来安装 Visual Studio.我在使用 VS 代码时没有问题,我能够制作和创建控制台应用程序的可执行文件.我需要学习游戏开发,但每个人都说我需要为它安装visual studio 不过,我确实找到了有关该主题的关于 monogame 的 Fourm,并发现可以(至少在 Linux 上)在 VS 代码中使用 Monogame. ht
..
我正在尝试使用 DirectX dll 播放和音频文件. Audio.FromFile("Message 1.mp3").Play(); 但是检测到一个loader lock异常如下图:我不是分析堆栈跟踪的专家.如何分析解决loader锁问题? 检测到 LoaderLock 消息:DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2
..
我一直在努力解决软件中的内存泄漏问题,其中共享内存会慢慢用尽我的应用程序的虚拟地址空间.从内存泄漏的数量来看,它很明显是纹理对象的形式. 我已将错误隔离到以下代码示例.我创建了一个可共享的DX9纹理对象,从D3D11设备打开它,然后释放它.在此示例中,在Windows 8.1的NVIDIA GeForce 780 Ti上运行,我的32位进程很快用完了VAS,因为这些纹理似乎没有释放.
..
我有一个基于SharpDX的C#应用程序.在某些情况下,允许用户编辑线性渐变,但是由于我没有找到修改 ID2D1GradientStopCollection (又称为 SharpDX.Direct2D1.GradientStopCollection )的方法,我只是在为用户调整渐变光阑的偏移量的每一帧设置并重新创建渐变. 但是,我注意到,如果我将渐变停止调整了足够的次数(即,在每秒重新创
..
我遇到了问题,但我不知道为什么.我不愿此来学习DirectX.我使用了此来配置解决方案. 这是我的代码: 标题: #include#include#include#include#include#include#include#pr
..
我认为很多人使用应用程序"Fraps"来录制游戏视频.我用它来显示游戏中的FPS(每秒帧数).游戏运行时,Fraps可以在屏幕的一角显示数字. 我想显示处理器的核心温度.我会发现温度,但我需要知道如何在游戏中显示?(我需要它来测试游戏中的核心温度,因为Everest/AIDA64的压力测试不会给系统带来太大的负担. 想使用C#(但可以收听所有解决方案,C ++,Java) 范例游戏:
..
背景:我正在Visual Studio 2013中进行开发,目标是在Windows 7上运行的.Net 4.5.我一直试图使DirectX在WPF上下文中运行,并被称为SharpDX.,并使用该示例程序: http://sharpdxwpf.codeplex.com/SourceControl/latest#SharpDX.WPF.sln 当我尝试构建它时,出现错误,因为缺少'd3dcomp
..
我正在尝试使用C ++在DirectX11中绘制100x100网格,但是会发生以下问题: 对于Direct3D 11,您可以使用MSAA(这是常规的抗锯齿选项),或者如果不使用MSAA,则可以使用特定的行算法.请参见 D3D11_RASTERIZER_DESC AntialiasedLineEnable 和 MultisampleEnable . 请参见别名和
..
我正在研究一个根据本文进行直接组合的项目: 我尝试更改每段代码,但仍然抛出异常.我是Directx的新手,代码中的 IDCompositionDevice3 设备实际上是由我自己创建的,我不知道它是对还是错,因为Microsoft提供的文档中没有太多描述. 这是完整的项目代码:
..
我正在尝试使用NSight在VS2012中调试HLSL着色器,但无法启动. 当我单击“开始图形调试"时,似乎启动了应用程序片刻,然后将其关闭(NSight的输出窗口显示了几行“着色器已加载"/“着色器已卸载"行).Windows事件日志不显示任何内容("NVIDIA Network Service"无法启动,但据我所知,这与更新有关.) 另一方面,如果我开始进行GPU性能分析,那么它将
..