Skip to content

Instantly share code, notes, and snippets.

@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 / 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 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 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: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: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 / 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
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 / main.rs
Last active August 3, 2022 10:36
Mesh with many quads
// License: Apache-2.0 / MIT
//camera controller from https://github.com/DGriffin91/bevy_basic_camera
use bevy::{
diagnostic::{FrameTimeDiagnosticsPlugin, LogDiagnosticsPlugin},
prelude::*,
render::render_resource::PrimitiveTopology,
};
use bevy_basic_camera::{CameraController, CameraControllerPlugin};
@DGriffin91
DGriffin91 / bitcast error
Last active October 10, 2022 18:55
rkyv LLVM Invalid bitcast
Compiling invalid-bitcast v0.1.0
Invalid bitcast
%38 = bitcast <2 x i32> %37 to <2 x i24>
Invalid bitcast
%40 = bitcast <2 x i32> %39 to <2 x i24>
in function _ZN4rkyv5impls4core89_$LT$impl$u20$rkyv..DeserializeUnsized$LT$$u5b$U$u5d$$C$D$GT$$u20$for$u20$$u5b$T$u5d$$GT$19deserialize_unsized17h8bf3deadc9a4552bE
LLVM ERROR: Broken function found, compilation aborted!
error: could not compile `invalid-bitcast`