Skip to content

Instantly share code, notes, and snippets.

@DGriffin91
DGriffin91 / main.rs
Last active July 21, 2022 07:45
Basic Bevy Mipmap Generation
// License: Apache-2.0 / MIT
use std::num::NonZeroU8;
use bevy::{
asset::HandleId,
prelude::*,
render::{
render_resource::{
Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages,
@DGriffin91
DGriffin91 / letterboxing.rs
Last active December 5, 2022 22:20 — forked from cart/letterboxing.rs
Basic Letterboxing
// License: Apache-2.0 / MIT
use bevy::{
core_pipeline::clear_color::ClearColorConfig,
prelude::*,
render::{camera::RenderTarget, render_resource::*, view::RenderLayers},
};
fn main() {
App::new()
@DGriffin91
DGriffin91 / main.rs
Last active July 21, 2022 07:45
Bevy game of life in fragment shader
// License: Apache-2.0 / MIT
use bevy::{
prelude::*,
reflect::TypeUuid,
render::{
camera::{Camera, RenderTarget},
render_resource::{
AsBindGroup, Extent3d, ShaderRef, TextureDescriptor, TextureDimension, TextureFormat,
TextureUsages,
@DGriffin91
DGriffin91 / main.rs
Last active July 21, 2022 07:46
Bevy Lambert Material Example
// License: Apache-2.0 / MIT
// lambert_material.wgsl:
/*
#import bevy_pbr::mesh_view_bindings
#import bevy_pbr::mesh_bindings
#import bevy_pbr::pbr_types
#import bevy_pbr::utils
#import bevy_pbr::clustered_forward
@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},