3 #if SILICONSTUDIO_PARADOX_GRAPHICS_API_OPENGL
5 using System.Collections.Generic;
8 #if SILICONSTUDIO_PARADOX_GRAPHICS_API_OPENGLES
9 using OpenTK.Graphics.ES30;
11 using OpenTK.Graphics.OpenGL;
14 namespace SiliconStudio.
Paradox.Graphics
16 public static class OpenGLConvertExtensions
18 public static ErrorCode GetErrorCode()
20 #if SILICONSTUDIO_PLATFORM_ANDROID || SILICONSTUDIO_PLATFORM_IOS
21 return GL.GetErrorCode();
27 public static PixelInternalFormat ToOpenGL(
this PixelInternalFormat
format)
32 public static BeginMode ToOpenGL(
this PrimitiveType primitiveType)
34 switch (primitiveType)
36 case PrimitiveType.PointList:
37 return BeginMode.Points;
38 case PrimitiveType.LineList:
39 return BeginMode.Lines;
40 case PrimitiveType.LineStrip:
41 return BeginMode.LineStrip;
42 case PrimitiveType.TriangleList:
43 return BeginMode.Triangles;
44 case PrimitiveType.TriangleStrip:
45 return BeginMode.TriangleStrip;
47 throw new NotImplementedException();
55 #if !SILICONSTUDIO_PARADOX_GRAPHICS_API_OPENGLES
56 case TextureAddressMode.Border:
57 return TextureWrapMode.ClampToBorder;
59 case TextureAddressMode.Clamp:
60 return TextureWrapMode.ClampToEdge;
61 case TextureAddressMode.Mirror:
62 return TextureWrapMode.MirroredRepeat;
63 case TextureAddressMode.Wrap:
64 return TextureWrapMode.Repeat;
66 throw new NotImplementedException();
70 public static DepthFunction ToOpenGLDepthFunction(
this CompareFunction function)
74 case CompareFunction.Always:
75 return DepthFunction.Always;
76 case CompareFunction.Equal:
77 return DepthFunction.Equal;
78 case CompareFunction.GreaterEqual:
79 return DepthFunction.Gequal;
80 case CompareFunction.Greater:
81 return DepthFunction.Greater;
82 case CompareFunction.LessEqual:
83 return DepthFunction.Lequal;
84 case CompareFunction.Less:
85 return DepthFunction.Less;
86 case CompareFunction.Never:
87 return DepthFunction.Never;
88 case CompareFunction.NotEqual:
89 return DepthFunction.Notequal;
91 throw new NotImplementedException();
95 public static StencilFunction ToOpenGLStencilFunction(
this CompareFunction function)
99 case CompareFunction.Always:
100 return StencilFunction.Always;
101 case CompareFunction.Equal:
102 return StencilFunction.Equal;
103 case CompareFunction.GreaterEqual:
104 return StencilFunction.Gequal;
105 case CompareFunction.Greater:
106 return StencilFunction.Greater;
107 case CompareFunction.LessEqual:
108 return StencilFunction.Lequal;
109 case CompareFunction.Less:
110 return StencilFunction.Less;
111 case CompareFunction.Never:
112 return StencilFunction.Never;
113 case CompareFunction.NotEqual:
114 return StencilFunction.Notequal;
116 throw new NotImplementedException();
124 case StencilOperation.Keep:
125 return StencilOp.Keep;
126 case StencilOperation.Zero:
127 return StencilOp.Zero;
128 case StencilOperation.Replace:
129 return StencilOp.Replace;
130 case StencilOperation.IncrementSaturation:
131 return StencilOp.Incr;
132 case StencilOperation.DecrementSaturation:
133 return StencilOp.Decr;
134 case StencilOperation.Invert:
135 return StencilOp.Invert;
136 case StencilOperation.Increment:
137 return StencilOp.IncrWrap;
138 case StencilOperation.Decrement:
139 return StencilOp.DecrWrap;
141 throw new ArgumentOutOfRangeException(
"operation");
TextureAddressMode
Identify a technique for resolving texture coordinates that are outside of the boundaries of a textur...
StencilOperation
TODO Comments
CompareFunction
Comparison options.
SiliconStudio.Paradox.Graphics.PrimitiveType PrimitiveType
_In_ size_t _In_ size_t _In_ DXGI_FORMAT format