jjzjj

DirectX9

全部标签

windows - 不能在 VS2015 中包含 DirectX header

我正在尝试在VisualStudio2015的C++项目中设置DirectX。我在D:\ProgramFiles(x86)\DirectXSDK中安装了DirectXSDK,我的环境变量名为DXSDK_DIR。在VisualStudio中,我尝试通过以下所有方式将其添加到C/C++-->General-->AdditionalIncludeDirectories:$(DXSDK_DIR)\Include%(DXSDK_DIR)\Include%%"(DXSDK_DIR)\Include"%%(DXSDK_DIR)%\Include但它们似乎都不起作用。 最佳

c++ - 在 DirectX 中跨线程传递纹理的数据竞争

我在具有两个线程的DirectX应用程序中遇到数据竞争:一个消费者和一个生产者。第一个线程(producer)是一个屏幕抓取器,它使用desktopduplication获取纹理中的桌面图像。它在适配器X上创建ID3D11Device和ID3D11DeviceContext。dxgi_dd->AcquireNextFrame(INFINITE,&frame_info,&desktop_resource);ID3D11Texture2D*desktop_texture;desktop_resource->QueryInterface(__uuidof(ID3D11Texture2D),(

c++ - DirectX OMSetRenderTargets 中的访问冲突

在D3D_FEATURE_LEVEL_9_1中运行DirectX11的Triangle示例应用程序时,我收到以下错误(Lesson2.Triangles.exe中0x527DAE81(d3d11_1sdklayers.dll)处的未处理异常:0xC0000005:访问冲突读取位置0x00000000)>。这个错误发生在OMSetRenderTargets函数中,如下所示,如果我从程序中删除该函数就不会发生(但是,屏幕是蓝色的,并且不渲染三角形)////THISCODEANDINFORMATIONISPROVIDED"ASIS"WITHOUTWARRANTYOF////ANYKIND,E

windows - Windows 服务的 DirectX 访问

DirectXAPI可以在session0上运行的Windows服务中使用吗?我知道服务无法显示GUI。我想调用不涉及GUI显示的API。API调用会失败吗?Windows8及更高版本值得关注。 最佳答案 我不太确定您想使用什么,但可以在Windows服务中使用DirectX数据类型。您所说的GUI调用将不会显示。取决于您调用的电话(示例):绘制到屏幕会失败保存DirectX数据类型的对象/在您的服务中使用DirectX数据类型与您可能会使用的其他变量进行交互。 关于windows-Wi

c++ - 具有透明缓冲区的 DirectX11 ClearRenderTargetViewback?

我正在尝试创建一个使用directx在透明View(即桌面显示)之上绘制不透明内容的窗口。使用DirectX11,我正在尝试执行以下操作,但它不会使背景透明。事实上,我输入的任何不透明度值都会给我完全相同的结果。我在做什么:floatcolor[4]={0.0f,0.0f,0.0f,0.0f};deviceContext->ClearRenderTargetView(backBuffer,color);工作重现代码(main.cpp):#include#include#pragmacomment(lib,"Winmm.lib")#include#pragmacomment(lib,"d

c# - 以编程方式选择用于 DirectX 渲染的最佳显卡

我正在开发一种产品,该产品使用DirectX渲染一些更密集的图像。到目前为止,我知道有些计算机有多个GPU,我通过以下方法找到具有最大AdapterRam的GPU来选择要渲染的GPU:using(ManagementObjectSearchersearcher=newManagementObjectSearcher("select*fromWin32_VideoController")){foreach(ManagementObjectmoinsearcher.Get()){varadapterRam=mo.Properties["AdapterRAM"].Value;//Usethi

c++ - DirectX 9 中的简单剪辑

我对Directx9中的简单矩形裁剪很感兴趣。在最上面的图片上,您会看到我得到的。我想在不更改坐标和/或视口(viewport)的情况下获取底部图片上的内容。意思是,我将绘制整个圆圈,但Directx9只会剪切它。剪辑矩形最好在WINDOW坐标中给出,这样它就不会受到当前状态转换的影响。此外,它应该会影响从现在到窗口的所有内容,包括多边形、Sprite、纹理、文本等。有人可以建议如何做到这一点吗? 最佳答案 您正在描述directx设备中内置的剪刀测试。参见ScissorTest更具体地说,您只需使用SetScissorRect在屏

c++ - DirectX Device Present 钩子(Hook)为什么走弯路不起作用?

我正在创建一个Hook,它允许从DirectX9设备HookPresent方法,我这样做如下:#include#include#include#include#pragmacomment(lib,"d3d9.lib")typedefHRESULT(PresentDef)(constRECT*pSourceRect,constRECT*pDestRect,HWNDhDestWindowOverride,constRGNDATA*pDirtyRegion);PresentDef*Real_Present;PresentDefMine_Present;HRESULTMine_Present(

c++ - 最低 DirectX 9.0c 版本以及如何检查它

我们基于WindowsC++Ogre的游戏即将完成。在公开发布之前,我们必须解决这个问题:如果没有更新到最新的Dx9.0c版本,Ogre会在许多测试计算机上崩溃。所有这些计算机都已经安装了9.0c,但那一定是预装了较旧的操作系统的子版本,因此崩溃..?第一个问题是:我如何确保用户拥有正确的9.0c版本,这样游戏就不会在用户面前崩溃,而是显示一条消息,如“从there获取最新的9.0c版本……”?第二个问题是:在游戏安装过程中,是否有一种标准的自动化方法可以将用户的计算机更新到最新的9.0c版本?那将是最好的解决方案。非常感谢,比尔 最佳答案

c++ - 如何在 Windows 上捕获桌面,以便它可以同时捕获 directX 和正常呈现的屏幕部分?

简单的例子-一方面我们看到相机通过标准软件渲染“输入”,另一方面(标记为“输出”)通过一些directX东西渲染(至少在我看来是这样):那么windowsapi或DirectXapi提供了什么功能来捕获这种混合场景? 最佳答案 TightVNCServer可以做到,你可能想看看他们在做什么。简单浏览一下他们的源代码,他们似乎正在创建一个镜像主屏幕的虚拟屏幕。不过,具体来说,看看CreateCompatibleDC和CreateDIBSectionAPI 关于c++-如何在Windows上