Use one texture with two channels for video
This commit is contained in:
+7
-19
@@ -2,7 +2,7 @@ use imgui::*;
|
||||
use imgui_wgpu::{Renderer, RendererConfig};
|
||||
use imgui_winit_support::WinitPlatform;
|
||||
use pollster::block_on;
|
||||
use std::{num::NonZero, sync::Arc, time::Instant};
|
||||
use std::{sync::Arc, time::Instant};
|
||||
#[cfg(target_os = "windows")]
|
||||
use winit::platform::windows::{CornerPreference, WindowAttributesExtWindows as _};
|
||||
use winit::{
|
||||
@@ -69,27 +69,15 @@ impl AppWindow {
|
||||
}))
|
||||
.unwrap();
|
||||
|
||||
let (device, queue) = block_on(adapter.request_device(
|
||||
&wgpu::DeviceDescriptor {
|
||||
required_features: wgpu::Features::TEXTURE_BINDING_ARRAY,
|
||||
..wgpu::DeviceDescriptor::default()
|
||||
},
|
||||
None,
|
||||
))
|
||||
.unwrap();
|
||||
let (device, queue) =
|
||||
block_on(adapter.request_device(&wgpu::DeviceDescriptor::default(), None)).unwrap();
|
||||
let queue = Arc::new(queue);
|
||||
let eyes = [
|
||||
Arc::new(GameRenderer::create_texture(&device, "left eye")),
|
||||
Arc::new(GameRenderer::create_texture(&device, "right eye")),
|
||||
];
|
||||
let eyes = Arc::new(GameRenderer::create_texture(&device, "eye"));
|
||||
client.send_command(EmulatorCommand::SetRenderer(GameRenderer {
|
||||
queue: queue.clone(),
|
||||
eyes: eyes.clone(),
|
||||
}));
|
||||
let eyes = [
|
||||
eyes[0].create_view(&wgpu::TextureViewDescriptor::default()),
|
||||
eyes[1].create_view(&wgpu::TextureViewDescriptor::default()),
|
||||
];
|
||||
let eyes = eyes.create_view(&wgpu::TextureViewDescriptor::default());
|
||||
let sampler = device.create_sampler(&wgpu::SamplerDescriptor::default());
|
||||
let texture_bind_group_layout =
|
||||
device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
|
||||
@@ -103,7 +91,7 @@ impl AppWindow {
|
||||
view_dimension: wgpu::TextureViewDimension::D2,
|
||||
multisampled: false,
|
||||
},
|
||||
count: NonZero::new(2),
|
||||
count: None,
|
||||
},
|
||||
wgpu::BindGroupLayoutEntry {
|
||||
binding: 1,
|
||||
@@ -119,7 +107,7 @@ impl AppWindow {
|
||||
entries: &[
|
||||
wgpu::BindGroupEntry {
|
||||
binding: 0,
|
||||
resource: wgpu::BindingResource::TextureViewArray(&[&eyes[0], &eyes[1]]),
|
||||
resource: wgpu::BindingResource::TextureView(&eyes),
|
||||
},
|
||||
wgpu::BindGroupEntry {
|
||||
binding: 1,
|
||||
|
||||
Reference in New Issue
Block a user