Directx 如何在Direct3D 9中使用无窗口?

Directx 如何在Direct3D 9中使用无窗口?,directx,direct3d,directx-9,direct3d9,Directx,Direct3d,Directx 9,Direct3d9,我知道directshow可以通过VMR-9使用无窗口。VMR-9基于Direct3D。 我可以直接使用Direct3D编写一个无窗口应用程序吗?我想您可以按如下方式进行尝试 创建Direct3D库,比如说一个dll并公开两个接口, 一个是InitD3D,它将hwnd作为参数(创建设备时需要它),另一个是render(),可以调用它来绘制场景 在客户端应用程序代码中,首先调用InitD3D进行初始化 然后,在消息循环中调用render来显示您的Direct3D内容 没有要处理的消息时的场景 我想

我知道directshow可以通过VMR-9使用无窗口。VMR-9基于Direct3D。
我可以直接使用Direct3D编写一个无窗口应用程序吗?

我想您可以按如下方式进行尝试

  • 创建Direct3D库,比如说一个dll并公开两个接口, 一个是InitD3D,它将hwnd作为参数(创建设备时需要它),另一个是render(),可以调用它来绘制场景
  • 在客户端应用程序代码中,首先调用InitD3D进行初始化 然后,在消息循环中调用render来显示您的Direct3D内容 没有要处理的消息时的场景

  • 我想你可以试一下如下

  • 创建Direct3D库,比如说一个dll并公开两个接口, 一个是InitD3D,它将hwnd作为参数(创建设备时需要它),另一个是render(),可以调用它来绘制场景
  • 在客户端应用程序代码中,首先调用InitD3D进行初始化 然后,在消息循环中调用render来显示您的Direct3D内容 没有要处理的消息时的场景

  • 如果不需要窗口,渲染到哪里?我的同事正在使用Direct3D实现一个库。hwnd应该从客户端应用程序传递,例如,浏览器插件应该将其hwnd传递给我们的库。因此,您仍然需要一个窗口,尽管它是由客户端应用程序创建的,但它将hwnd传递给您。是的,当我说无窗口时,我的意思是我的由Direct3D实现的库没有自己的窗口,请使用客户端应用程序的hwnd。“无窗”是MSDN中的一个术语,不是我创建的。:)如果不需要窗口,渲染到哪里?我的同事正在使用Direct3D实现一个库。hwnd应该从客户端应用程序传递,例如,浏览器插件应该将其hwnd传递给我们的库。因此,您仍然需要一个窗口,尽管它是由客户端应用程序创建的,但它将hwnd传递给您。是的,当我说无窗口时,我的意思是我的由Direct3D实现的库没有自己的窗口,请使用客户端应用程序的hwnd。“无窗”是MSDN中的一个术语,不是我创建的。:)对不起,我的问题不是关于如何设计库API的接口。我只是想知道Direct3D 9是否支持无窗口功能。如果你想渲染某个东西,那么你必须使用一个窗口,或者自己创建,或者与其他应用程序一起传递,否则,你不需要,清楚吗?我的同事说只有Direct 10或11支持此功能,无窗口功能。对不起,我的问题不是如何设计库API的接口。我只是想知道Direct3D 9是否支持无窗口功能。如果你想渲染某个东西,那么你必须使用一个窗口,要么自己创建,要么与其他应用程序一起传递,否则,你不需要,清楚吗?我的同事说只有Direct 10或11支持此功能,即无窗口功能。