Skip to content
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

OpenGL and/or Generic 3D View support #9405

Open
4 of 7 tasks
jeromelaban opened this issue Aug 1, 2022 · 11 comments · Fixed by #16621
Open
4 of 7 tasks

OpenGL and/or Generic 3D View support #9405

jeromelaban opened this issue Aug 1, 2022 · 11 comments · Fixed by #16621
Labels
difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding epic platform/all Categorizes an issue or PR as relevant to the all platforms project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools

Comments

@jeromelaban
Copy link
Member

jeromelaban commented Aug 1, 2022

What would you like to be added:

An OpenGL and/or Generic 3D view which supports the ability to use 3D primitives, exposed through Silk.NET, for instance.

  • Support for Skia Desktop Windows
  • Support for Skia Desktop X11
  • Support for Skia Desktop macOS
  • Support for iOS Native
  • Support for Android Native
  • Support for WinAppSDK
  • Support for Wasm Native

Why is this needed:

Render 3D content in apps.

For which Platform:

All available platforms, where ever OpenGL is supported.

@jeromelaban jeromelaban added kind/enhancement New feature or request project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. labels Aug 1, 2022
@sbartolett3
Copy link

Has anything like this been added?

@sasakrsmanovic
Copy link
Contributor

sasakrsmanovic commented Jul 13, 2023

Hello - we prioritize the roadmap based on volume of community requests or based on paid client support requests, a process described here https://platform.uno/blog/sustaining-the-open-source-uno-platform/ . It would be great to understand your timelines and needs - would you mind reaching out at info@platform.uno please?

Uno Platform
Uno Platform is free and Open Source (Apache 2.0). We explain and document our sustainability model here so it is easily referenceable.

@MartinZikmund MartinZikmund added difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding platform/all Categorizes an issue or PR as relevant to the all platforms and removed difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. labels Jul 31, 2023
@lindexi
Copy link
Contributor

lindexi commented Jun 17, 2024

After #15166 , we can draw 3D to OpenGL and then draw OpenGL to Skia.

@anose001
Copy link

@lindexi, @jeromelaban, will this be implemented by copying to the buffer of a WriteableBitmap or rather having some sort of GpuInterop implementation?

@lindexi
Copy link
Contributor

lindexi commented Jul 11, 2024

@anose001 Copy buffer to WriteableBitmap will slowly.

@anose001
Copy link

Bummer to hear that, but thank you

@lindexi
Copy link
Contributor

lindexi commented Jul 11, 2024

@anose001 After #15166 , we can use the UI drawing Skia surface to render anything. And it means that we can skip the buffer copy to WriteableBitmap.

@anose001
Copy link

anose001 commented Jul 11, 2024

@lindexi, very cool to hear that. Looking forward to give this a try once this is out on a nightly build or so. Do you know if this is a matter of weeks or months?

Also, will this be constrained to OpenGL on desktop or will other platforms (android, iOS, etc) be able to draw to a SkiaVisual via their own graphics APIs?

@lindexi
Copy link
Contributor

lindexi commented Jul 11, 2024

@anose001 I use the hack way to do this now, see #17083 and #15097 (reply in thread)

@anose001
Copy link

anose001 commented Jul 11, 2024

Also, will this be constrained to OpenGL on desktop or will other platforms (android, iOS, etc) be able to draw to a SkiaVisual via their own graphics APIs?

To answer my above question, it looks like this here says SkiaVisual will only be available for Skia Desktop net8.0-desktop. Really curious to see how well this will work on macOS since they have discontiuned OpenGL support. Nonetheless, a very welcoming development.

@lindexi, is an ANGLE implementation for mobile support considerably more work to implement this functionality?

@jeromelaban
Copy link
Member Author

@anose001 net8.0-desktop is supported on macOS, and macOS still supports OpenGL even if it's discontinued. ANGLE is a consideration for supporting targets that do not provide OpenGL at all, or severely limited.

@jeromelaban jeromelaban reopened this Sep 11, 2024
@jeromelaban jeromelaban added epic and removed kind/enhancement New feature or request labels Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty/challenging 🤯 Categorizes an issue for which the difficulty level is reachable with internals understanding epic platform/all Categorizes an issue or PR as relevant to the all platforms project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants