-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamicimage #495
base: master
Are you sure you want to change the base?
Dynamicimage #495
Conversation
@woelper I started looking in that and tried to render grayscale textures - which didn't work. I created them as R8, but I can't tell notan to add a swizzle mask or something else to render it grayscale. Doing "imageops::crop_imm" on a "DynamicImage" will always result in an rgba image, even if the underlying data is grayscale. I didn't find any flaws in your implementation so far. |
Thanks so much for looking at it! Regarding grey textures, that is of course bad news. Maybe we can use a shader to convert red to grey? Would it make sense to open an issue in |
I thought about asking in notan's issue section, too. Yes, we maybe could define a default shader, doing conditional conversion? |
Great! Yeah, a shader could make sense anyways for HDR and other things! |
@woelper do you know where to inject a pixel shader to do that? That's beyond my knowledge. Maybe you got some hints. Then I would try to commit a dynamic rendering for R8 at least. |
I was going to post the same URL :) I am quite happy with the progress, your idea to have a convert operator was amazing. The pixel operators and image operators already support some additional data types and you can convert on the fly between them. |
I got it for image rendering, but not for egui::image. Edit: I committed my changes, I hope it's okay for you! Due to the special behavior of imageops::crop_imm on dynamic image, I needed to match the types. Maybe you can have a look at it, if this is a bug or intention. |
@woelper is the branach dynamicimage_zoom supposed to combine the new zoom image and dynamic image? |
Hi! I tried to combine them by merging zoom into it and made it build, but I think I am missing something. If you have time maybe you can try integrating the changes from your zoom window branch directly into this one? I can delete the |
Done :) |
@woelper thanks for fixing this!
@Stoppedpuma I'm working on this. I hope to get this to work within the next week. |
img.height(), | ||
(*amt as u32).clamp(2, 254), | ||
libblur::FastBlurChannels::Channels4, | ||
libblur::ThreadingPolicy::Adaptive, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libblur's have gated feature image with prebuilt handling DynamicImage
if this makes sense in latest versions
https://github.com/awxkee/libblur/blob/03341a4e4df05d88bf61f69187cbe2c16cee7770/src/lib/stack_blur_image.rs#L46.
Just to confirm because it is not clear from context: it is a mistake that immediately leads to artifacts to perform blur/scaling/any blending operation on the image with unpremultiplied alpha. The DynamicImage
type from image
crate always considers an image as unpremultiplied, therefore to perform any blending operation you have to premultiply alpha first. Thus this leads to question, does here DynamicImage
holds an image with already premultiplied alpha?
No description provided.