-
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 :) |
Amazing!! |
Working on adapting zoom image to Notan rendering. Opening really big grayscale images got extremely faster! |
Simplified code for texture generation. Fixing code warnings
@woelper I thought about using a texture n times wider (double the width for La images) and writing a shader which always "consumes" n adjacent pixels for rendering. Do you have a better idea in mind? This feels a little bit hacky. |
I would probably just convert them to rgb8 or rgba8 from the DynamicImage I think. |
Okay, maybe we should then limit the type conversion stuff to RGBA and Grey (for 8, 16 and 32 float bit depths) only? But maybe this degree of freedom is a good thing just to convert images? Please just think about it and tell me which option fits best :) |
@B-LechCode @woelper I've merged my branch with some additional tests you can use for this PR. There's a shell script located in the tests folder which creates a bunch more for some possible edge cases like odd resolutions, yuvs, bit depths, formats, etc. |
…to dynamicimage
feat: enable thumbnails in image browser
I think this is because it draws last and does not sort with egui. How about we hide the info if file browser is open? |
What about a second egui context which renders after? Could both be a possible solution. |
That could be an option if it works with notan. We'd need to deal with multiple contexts and UI and determine when to use what, which might not be obvious. An advantage would be that we could use it to draw elements auch as gizmos last. |
The problem I think here is it removes the overlay / window feel which makes the "file manager" feel more like a "file overlay". I think making it an overlay doesn't make much sense to do without making other windows separate from the main instance or also overlays as they have the same kind of feeling at the moment. I would prefer avoiding these directions as it's already a bit of a headache on tiling window managers dealing with some applications which create additional windows for something which could easily integrate into the main window UX and UI wise. |
No description provided.