public static async Task <ContextWebGL> GetContextWebGLAsync(this IJSRuntime js, ElementReference canvas, bool alpha = true, bool desynchronized = false, bool antialias = false, bool depth = false, bool fail_if_major_performance_caveat = false, PowerPreference power_preference = PowerPreference.Default, bool premultiplied_alpha = false, bool preserve_drawing_buffer = false, bool stencil = false) { throw new NotImplementedException("Sorry, not yet implemented"); var arguments = PrepareArguments(alpha, desynchronized, antialias, depth, fail_if_major_performance_caveat, power_preference, premultiplied_alpha, preserve_drawing_buffer, stencil); var(context_id, command) = BuildEvalCommand(canvas, "webgl", arguments); await js.InvokeVoidAsync("eval", command); return(new ContextWebGL(context_id, js)); }
private static string PrepareArguments(bool alpha, bool desynchronized, bool antialias, bool depth, bool fail_if_major_performance_caveat, PowerPreference power_preference, bool premultiplied_alpha, bool preserve_drawing_buffer, bool stencil) { return($@"{{ alpha: {alpha.ToString().ToLowerInvariant()}, desynchronized: {desynchronized.ToString().ToLowerInvariant()}, antialias: {antialias.ToString().ToLowerInvariant()}, depth: {depth.ToString().ToLowerInvariant()}, failIfMajorPerformanceCaveat: {fail_if_major_performance_caveat.ToString().ToLowerInvariant()}, powerPreference: ""{power_preference.ToJsEnumValue()}"", premultipliedAlpha: {premultiplied_alpha.ToString().ToLowerInvariant()}, preserveDrawingBuffer: {preserve_drawing_buffer.ToString().ToLowerInvariant()}, stencil: {stencil.ToString().ToLowerInvariant()} }}"); }
protected abstract GraphicsDevice CreateDeviceImpl(PowerPreference powerPreference);
public GraphicsDevice CreateDevice(PowerPreference powerPreference = PowerPreference.Default) { return(CreateDeviceImpl(powerPreference)); }
public Task <ContextWebGL> GetContextWebGLAsync( bool alpha = true, bool desynchronized = false, bool antialias = false, bool depth = false, bool fail_if_major_performance_caveat = false, PowerPreference power_preference = PowerPreference.Default, bool premultiplied_alpha = false, bool preserve_drawing_buffer = false, bool stencil = false) => js.GetContextWebGLAsync(canvas, alpha, desynchronized, antialias, depth, fail_if_major_performance_caveat, power_preference, premultiplied_alpha, preserve_drawing_buffer, stencil);
protected override GraphicsDevice CreateDeviceImpl(PowerPreference powerPreference) { return(new DeviceD3D11(DXGIFactory, Validation)); }