ShaderProgram.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // WARNING - AUTOGENERATED - DO NOT EDIT
  2. //
  3. // Generated using `sharpie urho`
  4. //
  5. // ShaderProgram.cs
  6. //
  7. // Copyright 2015 Xamarin Inc. All rights reserved.
  8. using System;
  9. using System.Runtime.InteropServices;
  10. using System.Collections.Generic;
  11. using Urho.Urho2D;
  12. using Urho.Gui;
  13. using Urho.Resources;
  14. using Urho.IO;
  15. using Urho.Navigation;
  16. using Urho.Network;
  17. namespace Urho
  18. {
  19. /// <summary>
  20. /// Linked shader program on the GPU.
  21. /// </summary>
  22. public unsafe partial class ShaderProgram : RefCounted, IGPUObject
  23. {
  24. unsafe partial void OnShaderProgramCreated ();
  25. [Preserve]
  26. public ShaderProgram (IntPtr handle) : base (handle)
  27. {
  28. OnShaderProgramCreated ();
  29. }
  30. [Preserve]
  31. protected ShaderProgram (UrhoObjectFlag emptyFlag) : base (emptyFlag)
  32. {
  33. OnShaderProgramCreated ();
  34. }
  35. [DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
  36. internal static extern IntPtr ShaderProgram_CastToGPUObject (IntPtr handle);
  37. public GPUObject AsGPUObject ()
  38. {
  39. return new GPUObject (ShaderProgram_CastToGPUObject (handle));
  40. }
  41. [DllImport (Consts.NativeImport, CallingConvention = CallingConvention.Cdecl)]
  42. internal static extern IntPtr ShaderProgram_ShaderProgram (IntPtr graphics, IntPtr vertexShader, IntPtr pixelShader);
  43. [Preserve]
  44. public ShaderProgram (Graphics graphics, ShaderVariation vertexShader, ShaderVariation pixelShader) : base (UrhoObjectFlag.Empty)
  45. {
  46. Runtime.Validate (typeof(ShaderProgram));
  47. handle = ShaderProgram_ShaderProgram ((object)graphics == null ? IntPtr.Zero : graphics.Handle, (object)vertexShader == null ? IntPtr.Zero : vertexShader.Handle, (object)pixelShader == null ? IntPtr.Zero : pixelShader.Handle);
  48. Runtime.RegisterObject (this);
  49. OnShaderProgramCreated ();
  50. }
  51. }
  52. }