Comments (3)
Here is a screenshot of the app running
from nannou.
It seems to be related to images producted from numpy arrays with python's PIL library
from nannou.
This could be fixed by either rendering with a special shader for grayscale images, or since many other common formats like rgb8, bgr8 and rgb16 all have a clone and convert step, "unsupported" image types like Luma could be converted as well.
A PR would involved changing
// line 511 nannou_wgpu/src/texture/image.rs
pub fn load_texture_from_image(
device: &wgpu::Device,
queue: &wgpu::Queue,
usage: wgpu::TextureUsages,
image: &image::DynamicImage,
) -> wgpu::Texture {
use image::DynamicImage::*;
match image {
ImageLuma8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageLumaA8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageRgba8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageBgra8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageLuma16(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageLumaA16(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageRgba16(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageRgb8(_img) => {
let img = image.to_rgba8();
load_texture_from_image_buffer(device, queue, usage, &img)
}
ImageBgr8(_img) => {
let img = image.to_bgra8();
load_texture_from_image_buffer(device, queue, usage, &img)
}
ImageRgb16(_img) => {
let img = image.to_rgba16();
load_texture_from_image_buffer(device, queue, usage, &img)
}
}
}
pub fn load_texture_from_image(
device: &wgpu::Device,
queue: &wgpu::Queue,
usage: wgpu::TextureUsages,
image: &image::DynamicImage,
) -> wgpu::Texture {
use image::DynamicImage::*;
match image {
ImageRgba8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageBgra8(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageRgba16(img) => load_texture_from_image_buffer(device, queue, usage, img),
ImageRgb8(_img) => {
let img = image.to_rgba8();
load_texture_from_image_buffer(device, queue, usage, &img)
}
ImageBgr8(_img) => {
let img = image.to_bgra8();
load_texture_from_image_buffer(device, queue, usage, &img)
}
ImageRgb16(_img) => {
let img = image.to_rgba16();
load_texture_from_image_buffer(device, queue, usage, &img)
}
_ => {
let img = image.to_rgba8();
load_texture_from_image_buffer(device, queue, usage, &img)
}
}
}
from nannou.
Related Issues (20)
- Not found tags 0.18.1
- StrokeOptions absent from crate documentation
- Memory leak when running examples
- State of nannou, thoughts on direction (bevy plugins?), maintainers welcome HOT 14
- Simplify High-Res capturing HOT 2
- Scaffold nannou bevy refactor
- Bevy Plugin Rework [Tracking Issue] HOT 4
- Port wgpu utils and render pipeline to bevy HOT 7
- Abstract the `nannou::draw` module into the new `bevy_nannou_draw` crate HOT 2
- Refactor `nannou` crate in terms of `bevy` and new `bevy_nannou_*` plugins
- Refactor manifests to take advantage of shared workspace `Cargo.toml` fields
- `nannou_egui` colours too light / incorrect gamma handling HOT 1
- Changelog seems to be stale HOT 2
- Use mid-level render APIs for render
- Window Transparency Issue win11 HOT 1
- egui_extras image loader not working HOT 2
- Use Bevy meshes as Nannou's rendering backend
- Inverted sinus and cosinus in docs
- [linux] Window scale factor and window actual size HOT 1
- Compute shader freezing system HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nannou.