我正在寻找一个优雅的,希望bevy风格的渲染到wgpu::Texture
的方式。原因是我正在实现一个WebXR
库,而WebXRFramebuffer
必须在沉浸式XR中呈现。
let framebuffer = //get framebuffer from web_sys
let texture: wgpu::Texture = unsafe {
device.create_texture_from_hal::<wgpu_hal::gles::Api>(
wgpu_hal::gles::Texture {
inner: wgpu_hal::gles::TextureInner::ExternalFramebuffer {
inner: framebuffer,
...
我的问题是,一旦我创建了这个wgpu::Texture
,是否有一种方法可以:
1.将其设置为bevy引擎的主要通道纹理
1.将摄像机渲染到bevy::Image
并将其blit到wgpu::texture
我已经看到像超导体引擎这样的例子做了很多低级别的wgpu工作来实现这一点,但感觉应该有一个更简单的方法来实现最近的bevy功能,如渲染图和相机渲染目标。
1条答案
按热度按时间xwbd5t1u1#
从Bevy
0.11
开始支持渲染到TextureView
,有关更多信息,请参阅pr。下面是我的
web_xr
crate的一个expert,它将gl_layer
中的TextureView
设置为相机可以渲染的目标。在这里创建相机,在这里应用纹理视图。