我正在用direct3d和DXUT编写一个基本的程序。 我正在使用D3D11CreateDeviceAndSwapChain()手动创build一个direct3d设备,并使用DXUTSetD3D11Device()函数将其传递给DXUT,根据文档应该是正确的。 令我困惑的是,当调用DXUTSetD3D11Device()时,我得到一个LNK2019: unresolved external symbol错误。 我可以调用DXUTCreateWindow()等其他DXUT函数,也可以自己构buildDXUT并正确链接到它。 当我查看DXUT.h时,我可以findDXUTSetD3D11Device()的声明,但是当我查看DXUT.cpp时,找不到任何对此函数的引用,所以我认为这可能是我得到此链接器错误的原因。 这似乎和我的一样。 我将在这里留下相关的代码,以防万一: bool DXUTEngine::Initialise() { HR(DXUTCreateWindow(m_appname)); if(!m_pDirect3D->Initialise(DXUTGetHWND(), m_width, m_height)) { OutputDebugString(L"\n\n Failed to initialise Direct3D\n\n"); return false; } HR(DXUTSetD3D11Device(m_pDirect3D->GetDevice(), m_pDirect3D->GetSwapChain())); return true; } 这里是我创build设备的地方: result = D3D11CreateDeviceAndSwapChain(NULL, driverType, NULL, 0, &featureLevel, 1, D3D11_SDK_VERSION, &swapChainDesc, &m_pSwapChain, &m_pDevice, NULL, &m_pContext); 目前我认为自己做的事情非常错误,或者这个function不存在。 我真的很感激任何帮助。 提前致谢。
比其他任何东西更感兴趣,但是你可以在linux下编译一个DirectX应用程序吗? 显然没有官方的SDK,但我认为这可能是用酒。 据推测,葡萄酒有执行DirectX界面,以运行游戏? 有没有可能与此相关? (编辑:这就是所谓的winelib) 如果没有,也许是一个明显的交叉编译器与应用程序运行在酒下。 这里只有一半回答我自己的问题,但是想知道有没有人听说过这样的事情?
我正在研究一个directx应用程序,并想知道如何给应用程序添加一个常规窗口,其中有文本框,命令button和所有的窗口。
DirectInput需要大量的初始化函数和cetera来检测键盘input,那么使用它有什么好处,而不是GetAsyncKeyState()函数呢?
在c ++ windows应用程序(visual studio 2010)中播放实时videostream的最好和最简单的方法是什么,并在stream显示上写一些注释(例如,这是一个蓝色的球)? 的ActiveX? 的DirectX? 闪? 我有Windows SDK 7.1安装。 我是否需要安装其他软件? 欣赏任何指针。
我正在尝试使用DirectInput键盘,而我的代码正在抛出一个奇怪的错误。 我可以通过创build和设置的一切,他们都返回S_OK,但是当我尝试运行 HRESULT hr; hr = m_pDIKeyboard->GetDeviceState( sizeof(keyBuffer), (LPVOID)&keyBuffer ); 小时回来作为(hex地址)“访问代码是无效的”,当我做一个检查 if(FAILED(hr)) 它会以E_ACCESSDENIED的forms返回,keyBuffer或行的任何部分都没有错误(或有关该事件的警告)。 对此有任何想法
如何在IMFMediaBuffer对象上绘制文本,并将其写出到另一个IMFMediaBuffer对象? 上下文是我正在build立一个MFT,最初我尝试使用Direct2D和Direct3D11来实现这一点,但无济于事。
在Windows 8中,当您最小化游戏并将其切换回来时,游戏将显示得非常快。 在你告诉你的电脑显示游戏之前,看起来屏幕已经准备好了。 当你在Windows 7中做同样的事情,那么直到你看到游戏,它会花一秒钟。 这一次看起来像Direct X被暂停,video卡需要时间来准备屏幕。 所以问题是,Windows 8是否在后台渲染游戏,Windows 7是否会在显示时渲染? 或者是因为Windows API的改变?
我正在使用Windows 8上的DirectX 11程序,我认为顶点着色器存在问题。 我尝试启动DirectX诊断模式([Alt] + [F5]),并且程序正常运行时,如果打开诊断模式时不会引发exception,则在调用“CreateSwapChainForHwnd”时会出现以下错误消息 MyApplication.exe中的0x0097C004未处理的exception:0xC0000096:特权指令。 DirectXdebugging是否不适用于Windows Store应用程序? 它似乎在特定的Win32应用程序场景中工作正常,但我似乎遇到很多情况下,它不起作用。 更新: 除此之外,我安装了DirectXdebugging符号,并获得了一个稍微更详细的信息。 在MyApplication.exe 0x000007FDED063589(dxgi.dll)未处理的exception:0xC0000005:访问冲突读取位置0x0000000000000000。 所以它看起来是微软最后一个代码的空引用exception。
所以我试图学习如何在DirectX中制作一个精灵并下载一个示例文件,但是在这个例子中有一个错误,我无法克服,必须知道如何解决,每当附加到窗口的精灵被移出在释放鼠标左键之前,屏幕和返回到离开屏幕的精灵部分不会被重新绘制。 我读了RenderFrame()函数中的所有内容,希望find一些设置来改变,但没有成功。 这里是一个问题的例子animation(我无法find任何文件共享服务,因为某些奇怪的原因,我的video没有502错误。) 这里是源代码: // main.cpp : Defines the entry point for the application. // #include <windows.h> #include "C:\Program Files\Microsoft DirectX SDK (August 2008)\Include\D3dx9core.h" #include "C:\Documents and Settings\Death\My Documents\Downloads\DXSprite\DXSprite\resource.h" //—————————————————————————– // GLOBALS //—————————————————————————– HWND g_hWnd = NULL; LPDIRECT3D9 g_pD3D = NULL; LPDIRECT3DDEVICE9 g_pD3DDevice = NULL; ID3DXSprite * g_pD3DXSprite = NULL; LPDIRECT3DTEXTURE9 g_pTexture = NULL; const […]