使用D3D时可以不创建Windows窗口吗?

本人需要使用D3D处理图像数据,但是并不需要显示绘制,也就是no display,所以不需要创建Windows窗口。
但是看D3D的代码,基本都是和Windows窗口关联的,很多函数参数都需要传递窗口句柄hWnd,
想问下,使用D3D时是否可以不创建Windows窗口,而纯粹的处理图像数据?

不需要创建,而且创不创建窗口没有关系,本质上还是处理texure,ID3D11Texture2D,最后画到窗口上,最后一步不需要就行了

你查的是windows编程的吧,当然是与窗口关联的函数。

如果是使用D3D处理图像数据,可以不创建窗口
你可以调用API
当然,还有其它文档,这里只是一个参考
https://docs.microsoft.com/zh-cn/uwp/win32-and-com/win32-apis
这个是打开图片使用D3D渲染的例子
https://docs.microsoft.com/en-us/windows/win32/direct3dgetstarted/understand-the-directx-11-2-graphics-pipeline

好像可以,使用D3D时不用创建窗口让它显示在桌面的一角吧,试试在代码里加上这个
// 显示在左上角,128×128宽
RECT rect;
rect.left = 0;
rect.right = 128;
rect.top = 0;
rect.bottom = 128;
// 显示
g_pd3dDevice->Present(0 , &rect , 0 , 0);

好像可以,使用D3D时不用创建窗口让它显示在桌面的一角吧,试试在代码里加上这个
// 显示在左上角,128×128宽
RECT rect;
rect.left = 0;
rect.right = 128;
rect.top = 0;
rect.bottom = 128;
// 显示
g_pd3dDevice->Present(0 , &rect , 0 , 0);

需要创建窗口,因为D3D设备需要提供窗口句柄,但是可以选择不显示
在CreateWindows()时style不包含WS_VISIBLE,或者不调用ShowWindow()

D3D本身就是做图像处理的, 所以建议创建一个隐身窗口就行了,如果觉得别扭建议你另外找个例子看看

可以参考这个

https://blog.csdn.net/PjBao/article/details/79140759?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-6.pc_feed_download_top3ask