Skip to content

Instantly share code, notes, and snippets.

@DGriffin91
DGriffin91 / main.rs
Last active July 21, 2022 07:46
Copy from GPU texture to CPU with using mutex example
// License: Apache-2.0 / MIT
use std::sync::{Arc, Mutex};
use bevy::prelude::*;
use bevy::render::camera::RenderTarget;
use bevy::render::render_asset::RenderAssets;
use bevy::render::render_graph::{self, NodeRunError, RenderGraph, RenderGraphContext};
use bevy::render::renderer::{RenderContext, RenderDevice, RenderQueue};
use bevy::render::{Extract, RenderApp, RenderStage};
@DGriffin91
DGriffin91 / main.rs
Last active July 21, 2022 07:45
Copy from GPU texture to CPU with using channel example
// License: Apache-2.0 / MIT
use std::sync::Mutex;
use bevy::prelude::*;
use bevy::render::camera::RenderTarget;
use bevy::render::render_asset::RenderAssets;
use bevy::render::render_graph::{self, NodeRunError, RenderGraph, RenderGraphContext};
use bevy::render::renderer::{RenderContext, RenderDevice, RenderQueue};
use bevy::render::{RenderApp, RenderStage};
@DGriffin91
DGriffin91 / main.rs
Last active July 6, 2022 16:36
Double Buffer Swap Example
// License: Apache-2.0 / MIT
use bevy::{
core_pipeline::clear_color::ClearColorConfig,
prelude::*,
render::{
camera::RenderTarget,
render_resource::{
Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages,
},
@DGriffin91
DGriffin91 / main.rs
Last active September 5, 2022 15:33
GPU image copy plugin example
// License: Apache-2.0 / MIT
// Shows how to render to a buffered texture that is copied and can then be used on the same render layer.
use bevy::prelude::*;
use bevy::render::camera::RenderTarget;
use bevy::render::render_asset::RenderAssets;
use bevy::render::render_graph::{self, NodeRunError, RenderGraph, RenderGraphContext};
use bevy::render::renderer::{RenderContext, RenderQueue};
use bevy::render::{RenderApp, RenderStage};
@DGriffin91
DGriffin91 / bevy_texture_to_png.rs
Last active January 5, 2024 20:12
Bevy Texture to PNG
// License: Apache-2.0 / MIT
use bevy::core_pipeline::{
draw_3d_graph, node, AlphaMask3d, Opaque3d, RenderTargetClearColors, Transparent3d,
};
use bevy::prelude::*;
use bevy::reflect::TypeUuid;
use bevy::render::camera::{ActiveCamera, CameraTypePlugin, RenderTarget};
use bevy::render::render_asset::RenderAssets;
use bevy::render::render_graph::{NodeRunError, RenderGraph, RenderGraphContext, SlotValue};
@DGriffin91
DGriffin91 / main.rs
Created September 11, 2021 23:00
Load & Store slice cranelift using value in cranelift to index
/*
[dependencies]
cranelift = "0.76.0"
cranelift-jit = "0.76.0"
cranelift-module = "0.76.0"
*/
use cranelift::{
codegen::{self, ir::immediates::Offset32},
frontend::{FunctionBuilder, FunctionBuilderContext},
@DGriffin91
DGriffin91 / main.rs
Created September 11, 2021 01:51
Return a slice from a function defined in cranelift that calls a rust function that returns a slice
/*
[dependencies]
cranelift = "0.76.0"
cranelift-module = "0.76.0"
cranelift-jit = "0.76.0"
*/
use cranelift::{
codegen::{ir::immediates::Offset32, ir::ArgumentPurpose, Context},
prelude::*,
@DGriffin91
DGriffin91 / main.rs
Last active September 11, 2021 00:34
Return a slice from a function defined in cranelift
/*
[dependencies]
cranelift = "0.76.0"
cranelift-jit = "0.76.0"
cranelift-module = "0.76.0"
*/
use cranelift::{
codegen::{
self,
@DGriffin91
DGriffin91 / main.rs
Last active September 9, 2021 23:50
Load & Store slice cranelift
/*
[dependencies]
cranelift = "0.76.0"
cranelift-jit = "0.76.0"
cranelift-module = "0.76.0"
*/
use cranelift::{
codegen::{
self,
@DGriffin91
DGriffin91 / main.rs
Last active September 5, 2021 19:54
Setup cranelift to build a function that calls a rust function
/*
[dependencies]
cranelift = "0.76.0"
cranelift-module = "0.76.0"
cranelift-jit = "0.76.0"
*/
use cranelift::{codegen::Context, prelude::*};
use cranelift_jit::{JITBuilder, JITModule};
use cranelift_module::{FuncId, Linkage, Module};