From ec956d859b0c46401d77ef34683b9c82a864883f Mon Sep 17 00:00:00 2001 From: Chad Brokaw Date: Sun, 8 Jan 2023 18:34:22 -0500 Subject: [PATCH] add function to render directly from an encoding --- src/render.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/render.rs b/src/render.rs index ab751e1..427b503 100644 --- a/src/render.rs +++ b/src/render.rs @@ -3,6 +3,7 @@ use bytemuck::{Pod, Zeroable}; use crate::{ + encoding::Encoding, engine::{BufProxy, ImageFormat, ImageProxy, Recording, ResourceProxy}, shaders::{self, FullShaders, Shaders}, Scene, @@ -134,12 +135,20 @@ pub fn render_full( shaders: &FullShaders, width: u32, height: u32, +) -> (Recording, ResourceProxy) { + render_encoding_full(&scene.data(), shaders, width, height) +} + +pub fn render_encoding_full( + data: &Encoding, + shaders: &FullShaders, + width: u32, + height: u32, ) -> (Recording, ResourceProxy) { use crate::encoding::{resource::ResourceCache, PackedEncoding}; let mut recording = Recording::default(); let mut resources = ResourceCache::new(); let mut packed_scene = PackedEncoding::default(); - let data = scene.data(); packed_scene.pack(&data, &mut resources); let (ramp_data, ramps_width, ramps_height) = resources.ramps(packed_scene.resources).unwrap(); let gradient_image = if data.patches.is_empty() {