2024.11.29 17:36 JustJazzedToBeHere [FORUM][18+] An active, gritty sci-fi and realistic powers RP
Ordinary people, with extraordinary abilities...
On December 11th, 2023, the world changed forever. In a calamitous event, New York City was brought to its knees by people with spectacular and destructive abilities. In the wake of this “attack” a mysterious Company came forward promising safety, answers, and a way forward in this new world where seemingly normal citizens could manifest remarkable and dangerous powers. But can they be trusted?
Who are we kidding, absolutely not.
Eclipse Reborn is a unique, gritty and realistic Superpowers RP. Taking inspiration from the likes of Heroes, X-Men, The Boys and others, we're looking to carve our own new path, navigating a world coming to grips with what it means to have truly extraordinary people among them. We are an adult roleplay, open to all levels, have no word count and knowledge of fandoms is not required. Our new chapter, VOLUME VI: PACT is underway, making unlikely allies out of old enemies, so drop by our active Discord and say hi to the community!
Join us, and find out if you were always destined to be a Hero... or a Villain.
submitted by JustJazzedToBeHere to forumrpgs [link] [comments]
2024.11.29 17:36 DapperDuelist2 34 [M4F] east side friends with benefits? actually friends pls
so yeah after two failed tries at a proper relationship this year im done. i just want a friend i can fuck. coz this dudes getting hella rusty in bed. i love to play video games so maybe we can be gaming, if you play games, ( alsocute low key dates too why not) and NSFW buddies? hehe. but i do actually really wanna be friends rin. hard to be intimate with someone i dont have any connection with in my experience.
about me: 5'7, 59 kg (pretty sure thats normal BMI), chinito, from the east near marcos highway
about you: shorter ideally, slim to normal BMI, nearby since we do want the convenience in this.
submitted by DapperDuelist2 to PHR4Rhookups [link] [comments]
2024.11.29 17:36 suitoflights California
submitted by suitoflights to mrbungle [link] [comments] |
2024.11.29 17:36 FewFaithlessness4065 Someone asked for mnemonics for agriculture, kisi aur ko chahiye toh yelo (Bhot weird hai i know)
https://preview.redd.it/nw6vmkoqmv3e1.png?width=704&format=png&auto=webp&s=57577f54809d8efee123f2c955e3576fc9005e69 submitted by FewFaithlessness4065 to CBSE [link] [comments] |
2024.11.29 17:36 SnapScienceOfficial Compute Shaders CPU Write
I am trying to learn about compute shaders in Bevy, I have worked with compute shaders in WGPU, but my understanding is that bevy does things slightly different due to it's ECS system. I looked at the Game_of_life example and the gpu_readback examples and have landed on something that seems to partially work. The code is designed to create a red image on the GPU, return that data to the CPU and then save it. While it does output an image, it is red with slanted black lines (not what I want). If anyone could lend assistance, it would be appreciated, I know there is a distinct lack of examples on this topic and I am hoping this could be a learning resource if it gets solved. I have ran this through chatGPT (Don't judge), and it has gotten me closer to a solution, but not fully there yet. I've put the code in two files so it can be run simply.
[package] name = "GameOfLife" version = "0.1.0" edition = "2021" [dependencies] bevy = "0.15.0-rc.3" image = "0.25.5"[package] name = "GameOfLife" version = "0.1.0" edition = "2021" [dependencies] bevy = "0.15.0-rc.3" image = "0.25.5" @group(0) @binding(0) var outputImage: texture_storage_2d; @compute @workgroup_size(8, 8, 1) fn main(@builtin(global_invocation_id) GlobalInvocationID: vec3) { let size = textureDimensions (outputImage); let x = GlobalInvocationID.x; let y = GlobalInvocationID.y; // Ensure this thread is within the bounds of the texture if (x >= size.x || y >= size.y) { return; } // Set the color to red let color = vec4(1.0, 0.0, 0.0, 1.0); // Write the color to the texture textureStore (outputImage, vec2(i32(x), i32(y)), color); }@group(0) @binding(0) var outputImage: texture_storage_2d; @compute @workgroup_size(8, 8, 1) fn main(@builtin(global_invocation_id) GlobalInvocationID: vec3) { let size = textureDimensions(outputImage); let x = GlobalInvocationID.x; let y = GlobalInvocationID.y; // Ensure this thread is within the bounds of the texture if (x >= size.x || y >= size.y) { return; } // Set the color to red let color = vec4(1.0, 0.0, 0.0, 1.0); // Write the color to the texture textureStore(outputImage, vec2(i32(x), i32(y)), color); } use std::borrow::Cow; use bevy::{ prelude::*, render::{ extract_resource::{ExtractResource, ExtractResourcePlugin}, gpu_readback::{Readback, ReadbackComplete}, render_asset::{RenderAssetUsages, RenderAssets}, render_graph::{self, RenderGraph, RenderLabel}, render_resource::{ binding_types::texture_storage_2d, *, }, renderer::{RenderContext, RenderDevice}, texture::GpuImage, Render, RenderApp, RenderSet, }, }; use std::fs::File; use std::io::Write; use bevy::render::renderer::RenderQueue; use bevy::render::RenderPlugin; use bevy::render::settings::{Backends, RenderCreation, WgpuSettings}; // The size of the generated Perlin noise image const IMAGE_WIDTH : u32 = 512; const IMAGE_HEIGHT : u32 = 512; /// Path to the compute shader const SHADER_ASSET_PATH : &str = "shaders/perlin_noise.wgsl"; fn main() { App:: new () .add_plugins(( DefaultPlugins .set( RenderPlugin { render_creation: RenderCreation:: Automatic (WgpuSettings { backends: Some (Backends:: VULKAN ), ..default() }), ..default() } ), GpuPerlinNoisePlugin, ExtractResourcePlugin:::: default (), )) .insert_resource(ClearColor(Color:: BLACK )) .add_systems(Startup, setup) .run(); } // Plugin to manage the compute pipeline and render graph node struct GpuPerlinNoisePlugin; impl Plugin for GpuPerlinNoisePlugin { fn build(&self, _app: &mut App) {} fn finish(&self, app: &mut App) { // Access the RenderApp after it's initialized let render_app = app.sub_app_mut(RenderApp); render_app .init_resource::() .add_systems( Render, ( prepare_bind_group .in_set(RenderSet:: Prepare ) .run_if(not(resource_exists::))), ) .add_systems(Render, run_compute_shader_system.in_set(RenderSet:: Queue )); } } fn run_compute_shader_system( pipeline_cache: Res, pipeline: Res, bind_group: Res, render_device: Res, render_queue: Res, ) { if let Some (init_pipeline) = pipeline_cache.get_compute_pipeline(pipeline.pipeline) { let mut encoder = render_device.create_command_encoder(&CommandEncoderDescriptor { label: Some ("Compute Command Encoder"), }); { let mut pass = encoder.begin_compute_pass(&ComputePassDescriptor { label: Some ("Perlin noise compute pass"), timestamp_writes: None , }); pass.set_pipeline(init_pipeline); pass.set_bind_group(0, &bind_group.0, &[]); let workgroup_size = 8; let x_groups = ( IMAGE_WIDTH + workgroup_size - 1) / workgroup_size; let y_groups = ( IMAGE_HEIGHT + workgroup_size - 1) / workgroup_size; pass.dispatch_workgroups(x_groups, y_groups, 1); } render_queue.submit(std::iter::once(encoder.finish())); } } #[derive(Resource, ExtractResource, Clone)] struct PerlinNoiseImage(Handle); fn setup(mut commands: Commands, mut images: ResMut>) { // Create a storage texture to hold the Perlin noise image let size = Extent3d { width: IMAGE_WIDTH , height: IMAGE_HEIGHT , depth_or_array_layers: 1, }; let mut image = Image:: new_fill ( size, TextureDimension:: D2 , &[0, 0, 0, 0], TextureFormat:: Rgba8Unorm , RenderAssetUsages:: RENDER_WORLD , ); // Enable COPY_SRC and STORAGE_BINDING for the texture image.texture_descriptor.usage |= TextureUsages:: COPY_SRC | TextureUsages:: STORAGE_BINDING ; let image_handle = images.add(image); // Spawn a readback component for the texture commands .spawn(Readback:: texture (image_handle.clone())) .observe(|trigger: Trigger| { // Get the image data as bytes let data: &[u8] = &trigger.event().0; // Save the image data to a PNG file save_image( IMAGE_WIDTH , IMAGE_HEIGHT , data); }); commands.insert_resource(PerlinNoiseImage(image_handle)); } // Function to save the image data to a PNG file fn save_image(width: u32, height: u32, data: &[u8]) { use image::{ImageBuffer, Rgba}; // Check the data length if data.len() < (width * height * 4) as usize { error!("Data length does not match expected image size."); return; } let buffer: ImageBuffer, _> = ImageBuffer:: from_raw (width, height, data.to_vec()).unwrap(); buffer.save("perlin_noise.png").unwrap(); info!("Image saved as perlin_noise.png"); } #[derive(Resource)] struct GpuPerlinNoiseBindGroup(BindGroup); fn prepare_bind_group( mut commands: Commands, pipeline: Res, render_device: Res, image: Res, images: Res>, ) { let image = images.get(&image.0).unwrap(); let bind_group = render_device.create_bind_group( None , &pipeline.layout, &BindGroupEntries:: single (image.texture_view.into_binding()), ); commands.insert_resource(GpuPerlinNoiseBindGroup(bind_group)); } #[derive(Resource)] struct ComputePipeline { layout: BindGroupLayout, pipeline: CachedComputePipelineId, } impl FromWorld for ComputePipeline { fn from_world (world: &mut World) -> Self { let render_device = world.resource::(); let layout = render_device.create_bind_group_layout( None , &BindGroupLayoutEntries:: single ( ShaderStages:: COMPUTE , texture_storage_2d( TextureFormat:: Rgba8Unorm , StorageTextureAccess:: WriteOnly , ), ), ); let shader = world.load_asset( SHADER_ASSET_PATH ); let pipeline_cache = world.resource::(); let pipeline = pipeline_cache.queue_compute_pipeline(ComputePipelineDescriptor { label: Some ("Perlin noise compute shader".into()), layout: vec![layout.clone()], push_constant_ranges: vec![], shader: shader.clone(), shader_defs: vec![], entry_point: "main".into(), }); ComputePipeline { layout, pipeline } } } /// Label to identify the node in the render graph #[derive(Debug, Hash, PartialEq, Eq, Clone, RenderLabel)] struct ComputeNodeLabel; /// The node that will execute the compute shader #[derive(Default)] struct ComputeNode {} impl render_graph::Node for ComputeNode { fn run( &self, _graph: &mut render_graph::RenderGraphContext, render_context: &mut RenderContext, world: &World, ) -> Result<(), render_graph::NodeRunError> { let pipeline_cache = world.resource::(); let pipeline = world.resource::(); let bind_group = world.resource::(); if let Some (init_pipeline) = pipeline_cache.get_compute_pipeline(pipeline.pipeline) { let mut pass = render_context .command_encoder() .begin_compute_pass(&ComputePassDescriptor { label: Some ("Perlin noise compute pass"), ..default() }); pass.set_bind_group(0, &bind_group.0, &[]); pass.set_pipeline(init_pipeline); // Dispatch enough workgroups to cover the image let workgroup_size = 8; let x_groups = ( IMAGE_WIDTH + workgroup_size - 1) / workgroup_size; let y_groups = ( IMAGE_HEIGHT + workgroup_size - 1) / workgroup_size; pass.dispatch_workgroups(x_groups, y_groups, 1); } Ok (()) } }use std::borrow::Cow; use bevy::{ prelude::*, render::{ extract_resource::{ExtractResource, ExtractResourcePlugin}, gpu_readback::{Readback, ReadbackComplete}, render_asset::{RenderAssetUsages, RenderAssets}, render_graph::{self, RenderGraph, RenderLabel}, render_resource::{ binding_types::texture_storage_2d, *, }, renderer::{RenderContext, RenderDevice}, texture::GpuImage, Render, RenderApp, RenderSet, }, }; use std::fs::File; use std::io::Write; use bevy::render::renderer::RenderQueue; use bevy::render::RenderPlugin; use bevy::render::settings::{Backends, RenderCreation, WgpuSettings}; // The size of the generated Perlin noise image const IMAGE_WIDTH: u32 = 512; const IMAGE_HEIGHT: u32 = 512; /// Path to the compute shader const SHADER_ASSET_PATH: &str = "shaders/perlin_noise.wgsl"; fn main() { App::new() .add_plugins(( DefaultPlugins .set( RenderPlugin { render_creation: RenderCreation::Automatic(WgpuSettings { backends: Some(Backends::VULKAN), ..default() }), ..default() } ), GpuPerlinNoisePlugin, ExtractResourcePlugin::::default(), )) .insert_resource(ClearColor(Color::BLACK)) .add_systems(Startup, setup) .run(); } // Plugin to manage the compute pipeline and render graph node struct GpuPerlinNoisePlugin; impl Plugin for GpuPerlinNoisePlugin { fn build(&self, _app: &mut App) {} fn finish(&self, app: &mut App) { // Access the RenderApp after it's initialized let render_app = app.sub_app_mut(RenderApp); render_app .init_resource::() .add_systems( Render, ( prepare_bind_group .in_set(RenderSet::Prepare) .run_if(not(resource_exists::))), ) .add_systems(Render, run_compute_shader_system.in_set(RenderSet::Queue)); } } fn run_compute_shader_system( pipeline_cache: Res, pipeline: Res, bind_group: Res, render_device: Res, render_queue: Res, ) { if let Some(init_pipeline) = pipeline_cache.get_compute_pipeline(pipeline.pipeline) { let mut encoder = render_device.create_command_encoder(&CommandEncoderDescriptor { label: Some("Compute Command Encoder"), }); { let mut pass = encoder.begin_compute_pass(&ComputePassDescriptor { label: Some("Perlin noise compute pass"), timestamp_writes: None, }); pass.set_pipeline(init_pipeline); pass.set_bind_group(0, &bind_group.0, &[]); let workgroup_size = 8; let x_groups = (IMAGE_WIDTH + workgroup_size - 1) / workgroup_size; let y_groups = (IMAGE_HEIGHT + workgroup_size - 1) / workgroup_size; pass.dispatch_workgroups(x_groups, y_groups, 1); } render_queue.submit(std::iter::once(encoder.finish())); } } #[derive(Resource, ExtractResource, Clone)] struct PerlinNoiseImage(Handle); fn setup(mut commands: Commands, mut images: ResMut>) { // Create a storage texture to hold the Perlin noise image let size = Extent3d { width: IMAGE_WIDTH, height: IMAGE_HEIGHT, depth_or_array_layers: 1, }; let mut image = Image::new_fill( size, TextureDimension::D2, &[0, 0, 0, 0], TextureFormat::Rgba8Unorm, RenderAssetUsages::RENDER_WORLD, ); // Enable COPY_SRC and STORAGE_BINDING for the texture image.texture_descriptor.usage |= TextureUsages::COPY_SRC | TextureUsages::STORAGE_BINDING; let image_handle = images.add(image); // Spawn a readback component for the texture commands .spawn(Readback::texture(image_handle.clone())) .observe(|trigger: Trigger| { // Get the image data as bytes let data: &[u8] = &trigger.event().0; // Save the image data to a PNG file save_image(IMAGE_WIDTH, IMAGE_HEIGHT, data); }); commands.insert_resource(PerlinNoiseImage(image_handle)); } // Function to save the image data to a PNG file fn save_image(width: u32, height: u32, data: &[u8]) { use image::{ImageBuffer, Rgba}; // Check the data length if data.len() < (width * height * 4) as usize { error!("Data length does not match expected image size."); return; } let buffer: ImageBuffer, _> = ImageBuffer::from_raw(width, height, data.to_vec()).unwrap(); buffer.save("perlin_noise.png").unwrap(); info!("Image saved as perlin_noise.png"); } #[derive(Resource)] struct GpuPerlinNoiseBindGroup(BindGroup); fn prepare_bind_group( mut commands: Commands, pipeline: Res, render_device: Res, image: Res, images: Res>, ) { let image = images.get(&image.0).unwrap(); let bind_group = render_device.create_bind_group( None, &pipeline.layout, &BindGroupEntries::single(image.texture_view.into_binding()), ); commands.insert_resource(GpuPerlinNoiseBindGroup(bind_group)); } #[derive(Resource)] struct ComputePipeline { layout: BindGroupLayout, pipeline: CachedComputePipelineId, } impl FromWorld for ComputePipeline { fn from_world(world: &mut World) -> Self { let render_device = world.resource::(); let layout = render_device.create_bind_group_layout( None, &BindGroupLayoutEntries::single( ShaderStages::COMPUTE, texture_storage_2d( TextureFormat::Rgba8Unorm, StorageTextureAccess::WriteOnly, ), ), ); let shader = world.load_asset(SHADER_ASSET_PATH); let pipeline_cache = world.resource::(); let pipeline = pipeline_cache.queue_compute_pipeline(ComputePipelineDescriptor { label: Some("Perlin noise compute shader".into()), layout: vec![layout.clone()], push_constant_ranges: vec![], shader: shader.clone(), shader_defs: vec![], entry_point: "main".into(), }); ComputePipeline { layout, pipeline } } } /// Label to identify the node in the render graph #[derive(Debug, Hash, PartialEq, Eq, Clone, RenderLabel)] struct ComputeNodeLabel; /// The node that will execute the compute shader #[derive(Default)] struct ComputeNode {} impl render_graph::Node for ComputeNode { fn run( &self, _graph: &mut render_graph::RenderGraphContext, render_context: &mut RenderContext, world: &World, ) -> Result<(), render_graph::NodeRunError> { let pipeline_cache = world.resource::(); let pipeline = world.resource::(); let bind_group = world.resource::(); if let Some(init_pipeline) = pipeline_cache.get_compute_pipeline(pipeline.pipeline) { let mut pass = render_context .command_encoder() .begin_compute_pass(&ComputePassDescriptor { label: Some("Perlin noise compute pass"), ..default() }); pass.set_bind_group(0, &bind_group.0, &[]); pass.set_pipeline(init_pipeline); // Dispatch enough workgroups to cover the image let workgroup_size = 8; let x_groups = (IMAGE_WIDTH + workgroup_size - 1) / workgroup_size; let y_groups = (IMAGE_HEIGHT + workgroup_size - 1) / workgroup_size; pass.dispatch_workgroups(x_groups, y_groups, 1); } Ok(()) } }
submitted by SnapScienceOfficial to bevy [link] [comments]
2024.11.29 17:36 bayern80 Raja, da li znate što nema opcije za registraciju na klix forumu
submitted by bayern80 to bih [link] [comments] |
2024.11.29 17:36 Dry-Property-639 I love how amazing these HomePods sound!!
Im Playing Surviver feels like I I’m using a high end expensive 5.1 surround system!! submitted by Dry-Property-639 to HomePod [link] [comments] |
2024.11.29 17:36 Spirited_Gain6581 what trait (or traits) do you have that you have given your character(s)?
it can be a physical trait or a personality trait!
i’ll go first— my fursona Lycan is clumsy, and my oc Billy has anger issues, who also stutters when he gets angry (inconvenient😭), upset, or scared
submitted by Spirited_Gain6581 to OriginalCharacter [link] [comments]
2024.11.29 17:36 picu124 Sr.K depois que lançou Matrix
https://reddit.com/link/1h2r41f/video/c5jorr8omv3e1/player
submitted by picu124 to jovemnerd [link] [comments]
2024.11.29 17:36 PrestigiousCloud9 Is Detroit Become Human worth it in 2024 ? I am getting it at 719/- during the sale
https://preview.redd.it/u33jfgwnmv3e1.png?width=1185&format=png&auto=webp&s=bba8a7a497e275ed4c453e6276c10cc97bffef0d submitted by PrestigiousCloud9 to IndianGaming [link] [comments] |
2024.11.29 17:36 Ok-Print-6799 3D printer models for Tokens?
Hi everyone, Are you aware of any good 3D print models for tokens or "quality of life" accessories? I would be happy if you could share what you know!
submitted by Ok-Print-6799 to lotrlcg [link] [comments]
2024.11.29 17:36 helmoot89 Ready for Christmas!
Here’s my adorable basenji mix, Brie! Typical basenji side eye: submitted by helmoot89 to Basenji [link] [comments] |
2024.11.29 17:36 averageraginfeminist Why are teenagers today more immature than teens from centuries ago?
This is kind of a weird question. Teens before used to be getting married and settling won at 15-19. I know today that seems unthinkable but why was it so normal back then? I think this was a common thing amongst many eras and social castes from back then. 17, for instance, was considered old and people of this age would already be in the workforce. So what happened along the way that made people realize that teens are still kids?
submitted by averageraginfeminist to NoStupidQuestions [link] [comments]
2024.11.29 17:36 No-Ebb-2772 Get ready for brar the finisher
submitted by No-Ebb-2772 to PunjabKings [link] [comments] |
2024.11.29 17:36 Ok_Beyond_7371 Doom with less dramatic vocals
After some recommendations I got around here, and Spotify suggestions, I've really come to love Electric Wizard, Acid Mammoth, OM, Acid Witch and most of all, Sleep.
One thing I really like about Sleep and OM are the what I can only describe as "low key" vocals, vs. the very dramatic and somewhat overplayed vocals of e.g. Acid Witch.
The almost quiet chanting of nonsensical lyrics makes Sleep very powerful for me, and I'd really like to find more music with a similar style.
submitted by Ok_Beyond_7371 to doommetal [link] [comments]
2024.11.29 17:36 Own_Pickle9746 30M from London. Happy Friday :)
Hi I’m 30m and have a real person name which you can unlock by not being weird.
I like chatting with new people and getting to know them, so here I am.
I’m into music, travelling, cooking and working out. Tell me about your favourite artists, countries, food etc :)
submitted by Own_Pickle9746 to MeetNewPeopleHere [link] [comments]
2024.11.29 17:36 catfight_War_5753 Who will win wrestling match? Priyanka vs Kareena?
submitted by catfight_War_5753 to Actressfighting [link] [comments] |
2024.11.29 17:36 Cockalorum F'ing Ansur
submitted by Cockalorum to BaldursGate3 [link] [comments]
2024.11.29 17:36 rudyten testing why images do not show up on post
submitted by rudyten to cactiLosAngeles [link] [comments] |
2024.11.29 17:36 beyoncefan2023 Your favorite spice jars?
Trying to buy a large set of spice jars this weekend. Any recommendations? Would prefer glass to avoid microplastics!
submitted by beyoncefan2023 to moderatelygranolamoms [link] [comments]
2024.11.29 17:36 averagenolifeguy finally got this guy
submitted by averagenolifeguy to bloxfruits [link] [comments] |
2024.11.29 17:36 Possible_Being_6247 What is this bug?
Found it close to the roof in my house, dead already. What is it?
submitted by Possible_Being_6247 to insects [link] [comments]
2024.11.29 17:36 Maximum-Stay-8388 Codes??
submitted by Maximum-Stay-8388 to Goatapp [link] [comments]
2024.11.29 17:36 Overall_Safety4809 DM to jerk or chat
submitted by Overall_Safety4809 to addisonraebootycomm [link] [comments]
2024.11.29 17:36 Philippp1103 Fußball Hobbie Gruppe
Servus zusammen, ich bin auf der Suche nach einer Fußball Gruppe die sich vielleicht einmal die Woche zum kicken irgendwo in Innsbruck trifft. Ob Kleinfeld oder Großfeld ist ganz egal. Wenn jemand zufällig von so einer Gruppe gehört hat, sehr gerne melden 👋🏼 Wenn sich ein paar Leute finden, könnten wir auch eine neue Gruppe gründen, also bei Interesse am kicken, auch gerne melden:)
submitted by Philippp1103 to Innsbruck [link] [comments]