1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 14:50:03 -04:00

egui-wgpu renderer renaming (#2021)

- `RenderPass` -> `Renderer`
- `RenderPass::execute` -> `Renderer::render`
- `RenderPass::execute_with_renderpass` -> `Renderer::render_onto_renderpass`
- reexport `Renderer` in `lib.rs`
This commit is contained in:
Luis Wirth
2022-09-07 14:20:21 +02:00
committed by GitHub
parent 0e62c0e50b
commit 4b6826575e
5 changed files with 62 additions and 56 deletions

View File

@@ -4,7 +4,7 @@ use egui::mutex::RwLock;
use tracing::error;
use wgpu::{Adapter, Instance, Surface};
use crate::renderer;
use crate::{renderer, Renderer};
/// Access to the render state for egui, which can be useful in combination with
/// [`egui::PaintCallback`]s for custom rendering using WGPU.
@@ -13,7 +13,7 @@ pub struct RenderState {
pub device: Arc<wgpu::Device>,
pub queue: Arc<wgpu::Queue>,
pub target_format: wgpu::TextureFormat,
pub egui_rpass: Arc<RwLock<renderer::RenderPass>>,
pub renderer: Arc<RwLock<Renderer>>,
}
struct SurfaceState {
@@ -90,14 +90,13 @@ impl<'a> Painter<'a> {
let (device, queue) =
pollster::block_on(adapter.request_device(&self.device_descriptor, None)).unwrap();
let rpass =
renderer::RenderPass::new(&device, target_format, self.msaa_samples, self.depth_bits);
let renderer = Renderer::new(&device, target_format, self.msaa_samples, self.depth_bits);
RenderState {
device: Arc::new(device),
queue: Arc::new(queue),
target_format,
egui_rpass: Arc::new(RwLock::new(rpass)),
renderer: Arc::new(RwLock::new(renderer)),
}
}
@@ -151,7 +150,7 @@ impl<'a> Painter<'a> {
surface_state.height = height_in_pixels;
if self.depth_bits > 0 {
render_state.egui_rpass.write().update_depth_texture(
render_state.renderer.write().update_depth_texture(
&render_state.device,
width_in_pixels,
height_in_pixels,
@@ -272,12 +271,17 @@ impl<'a> Painter<'a> {
};
{
let mut rpass = render_state.egui_rpass.write();
let mut renderer = render_state.renderer.write();
for (id, image_delta) in &textures_delta.set {
rpass.update_texture(&render_state.device, &render_state.queue, *id, image_delta);
renderer.update_texture(
&render_state.device,
&render_state.queue,
*id,
image_delta,
);
}
rpass.update_buffers(
renderer.update_buffers(
&render_state.device,
&render_state.queue,
clipped_primitives,
@@ -286,7 +290,7 @@ impl<'a> Painter<'a> {
}
// Record all render passes.
render_state.egui_rpass.read().execute(
render_state.renderer.read().render(
&mut encoder,
&output_view,
clipped_primitives,
@@ -300,9 +304,9 @@ impl<'a> Painter<'a> {
);
{
let mut rpass = render_state.egui_rpass.write();
let mut renderer = render_state.renderer.write();
for id in &textures_delta.free {
rpass.free_texture(id);
renderer.free_texture(id);
}
}