草庐IT

directx-9

全部标签

c++ - d3d->CreateDevice 中的 D3DERR_INVALIDCALL 导致 Allegro 5 D3D 程序启动时窗口闪烁

在创建启用多重采样的Allegro5Direct3D窗口时,我正在调试窗口创建闪烁。我已将问题缩小到在allegro的d3d_disp.cpp源文件中创建窗口。但是,我无法从DirectX获得任何调试输出。闪烁仅在D3D模式(而非OpenGL)下发生,并且仅在启用多重采样时发生。还要注意,只有在NVIDIAGPU上运行程序时才会发生这种情况,而不是在我的集成Intel上。我运行的是Windows10。我已尝试在VisualStudio2017中对此进行调试,但它不会从DX捕获调试输出。我在2010年6月安装DirectXSDK时安装了DirectX调试符号。我已尝试在gcc中重建all

c++ - Photoshop 在 DirectX 中的 "Screen"模式

编辑:问题解决了!见文末。如何在DirectX8中从Photoshop实现“屏幕”混合模式?信息,我找到了有关此主题的信息(http://www.ziggyware.com/readarticle.php?article_id=228):Result=1–(1–destination)*(1–source)Result=1–(1–source–destination+destination*source)Result=1–1+source+destination–destination*sourceResult=source+destination–destination*source

c++ - 设置 DirectX9 表面像素

我试图在D3DSURFACE9中设置单个像素,但它们到处都是。我想我以前做过这个,但这次似乎做不好。3DLOCKED_RECTlrt;if(D3D_OK==lpThis->sfRenderingCanvas->LockRect(&lrt,NULL,0)){UINTpitch=lrt.Pitch;VOID*data;data=lrt.pBits;UINTY=(UINT)xmsg.Y;UINTX=(UINT)xmsg.X;for(intz=0;xmsg.iNum;z++){if(xmsg.iDataBlock[z]>0)((DWORD*)data)[X+Y*pitch+z]=0xFFFFF

c++ - 了解 DirectX11 和 Directx11.1 示例 msdn 代码

在为win32初始化DirectX11.1时,我遵循了MSDN示例代码。代码声明了两个Direct3d设备:ID3D11Device*g_pd3dDevice=nullptr;ID3D11Device1*g_pd3dDevice1=nullptr;然后像这样获取设备:D3D_FEATURE_LEVELfeatureLevels[]={D3D_FEATURE_LEVEL_11_1,D3D_FEATURE_LEVEL_11_0,D3D_FEATURE_LEVEL_10_1,D3D_FEATURE_LEVEL_10_0,};UINTnumFeatureLevels=ARRAYSIZE(fea

c++ - DirectX11 桌面复制不适用于 NVIDIA

我也在尝试使用DirectXdesktopduplicationAPI.我尝试从运行exmapleshttp://www.codeproject.com/Tips/1116253/Desktop-Screen-Capture-on-Windows-via-Windows-Desk从https://code.msdn.microsoft.com/windowsdesktop/Desktop-Duplication-Sample-da4c696a这两个都是使用DXGI进行屏幕捕获的示例。我的机器上有NVIDIAGeForceGTX1060和Windows10Pro。它具有Intel™Cor

c++ - 如何在 DirectX 10 中正确更新顶点缓冲区

一些背景知识:我正在使用C++开发一个项目,在该项目中,我试图根据实时配置文件数据绘制对象的3D表示。分析数据是从外部分析硬件收集的。系统沿着一个物体移动,并以每秒300次的速度为我的软件提供剖面切片。每个切片由约8000个X-Y点的列表组成。轮廓仪的移动由编码器记录。编码器信息提供扫描的第3个维度。另一个需要注意的重要事项是探查器可能会在对象上来回移动。发生这种情况时,我想用新的(基于编码器位置)替换以前读取/绘制的切片。截至目前,我正在通过我按编码器计数存储的切片循环缓冲区来实现这一点。这也意味着当缓冲区填满并开始覆盖旧切片时,我将要丢弃切片。为了在屏幕上显示适当数量的主题片段——

c++ - 我的 DirectX 游戏引擎的 WPF 世界编辑器

我正在使用DirectX使用C++开发一个小型游戏和游戏引擎。目的是教育和娱乐。我的下一个目标是构建一个使用游戏引擎的简单世界编辑器。为此,我需要将引擎移动到一个dll中,以便游戏和/或编辑器可以使用它。世界编辑器将是一个独立的工具,而不是游戏的一部分。世界编辑器的主要目的是读入和显示我的(自定义)场景文件,并允许我注释/修改世界对象(网格)的属性、克隆对象、拾取和移动对象并放下它们、缩放对象等,然后保存修改后的场景,以便游戏稍后读取。有人建议我使用wxWidgets作为编辑器。一些研究让我觉得wxWidgets有点陈旧和笨拙,尽管我确信可以使用它编写非常好的GUI。这只是一个我不期待

c++ - DirectX 屏幕捕获和输出为视频

我正在进行桌面屏幕捕获,并希望输出为视频文件。目前我有代码来自here输出png图像。我稍微修改了代码以将输出更改为JPEG文件,然后使用openCV3.0.0将其转换为avi视频输出。我需要JPEG文件作为输出的原因是因为我在Windows8.1上运行,而OpenCVVideoWriter::fourcc('M','J','P','G')是唯一适合我的选项。PNG图像输出完美,但不是JPEG。图像上有垂直线,生成JPEG输出的时间比PNG相对长得多。这里我有两个选择:改进JPEG文件的输出以更快地工作并获得清晰的图像。摆脱OpenCV3.0.0接受PNG文件输入并能够输出视频文件的问

c++ - 将 DirectX SDK 代码转换为新的 Windows 8.1 SDK 代码

我目前正在创建视频游戏+引擎。我找到了somereallyamazingtutorialsonDirectX11programmingatRasterTek.不幸的是,他们使用的是已贬值的DirectXSDK,而我使用的是VS2013以及WindowsSDK中包含的新DirectXSDK。我正在转换代码以使用WindowsSDK,但我在教程4中遇到了一些问题(是的,我将转换所有49个教程,并且可能会有更多问题)来自WorkingwithD3DXMath,有人告诉我D3DXVECTOR3应该转换为XMFLOAT3。然后我尝试在已转换为XMVector3TransformCoord的D3D

c++ - 顶点缓冲区对象中的颜色 - DirectX 与 OpenGL

我正在开发一个小型游戏引擎。它的特点之一是它应该支持DirectX和OpenGL渲染。我正在使用顶点缓冲区对象,我有一个结构来定义我的顶点格式。问题是我希望能够对DirectX和OpenGL使用相同的结构,这样我就可以在不更改对象顶点的情况下从DirectX渲染组件切换到OpenGL渲染组件。这可能吗?目前,我正在为DirectX使用以下结构:structVertex{floatposition[3];//x,y,zfloatnormal[3];//nx,ny,nzDWORDcolour;//Thevertexcolorfloattexture[2];//u,v};连同:#define