Open Kation opened 7 months ago
I have tried to use SharpDX to create backend. But I found there is no api define in libSkiaSharp
because compile without define SK_Direct3D
.
👍👍👍
The code demonstrates a deep understanding of the domain, incorporating relevant design patterns and domain-specific optimizations that reflect your expertise and intimate familiarity with the subject matter
@mgood7123
Skia have define D3D functions: https://github.com/mono/skia/blob/a0008792c861228872a0a21f5f3422c4c8824720/include/gpu/GrDirectContext.h#L105-L112
But our SkiaSharp does not add those define: https://github.com/mono/skia/blob/a0008792c861228872a0a21f5f3422c4c8824720/include/c/gr_context.h#L28-L33
Just as a warning here. Over the years I've run into various areas where Direct2D performs in degraded ways compared to Skia software or Skia OpenGL/Vulkan backends. Mostly this has to do with conversion of Path geometry into tessellated meshes. If you have paths with high frequency changes in direction, this seems to be a terrible performance case for Direct2D.
Now, maybe the Direct3D backend for skia sidesteps this stuff if it is using lower level primitives and skipping all the Direct2D stuff. But I'd keep an eye out for degraded path rendering scenarios if the backend touches any of the high level stuff.
Is your feature request related to a problem?
GRContext.CreateVulkan
will return null.GRContext.CreateGl
will return null.Without Vulkan and OpenGL, we can only use CPU to render images.
Describe the solution you would like
Add D3D support with Windows os.
Describe alternatives you have considered
Add define
SK_Direct3D
when compile native skia so that I can use it with pinvoke and reflection.Additional context
No response
Code of Conduct