1 // Copyright (c) 2023 Samsung Electronics Co., Ltd.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 using System.ComponentModel;
20 /// Enumeration for face culling mode.
22 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
23 [EditorBrowsable(EditorBrowsableState.Never)]
24 public enum FaceCullingModeType
27 /// None of the faces should be culled
29 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
30 [EditorBrowsable(EditorBrowsableState.Never)]
34 /// Cull front face, front faces should never be shown
36 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
37 [EditorBrowsable(EditorBrowsableState.Never)]
41 /// Cull back face, back faces should never be shown
43 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
44 [EditorBrowsable(EditorBrowsableState.Never)]
48 /// Cull front and back faces; if the geometry is composed of triangles none of the faces will be shown
50 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
51 [EditorBrowsable(EditorBrowsableState.Never)]
56 /// Enumeration for blend mode.
58 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
59 [EditorBrowsable(EditorBrowsableState.Never)]
60 public enum BlendModeType
63 /// Blending is disabled.
65 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
66 [EditorBrowsable(EditorBrowsableState.Never)]
70 /// Blending is enabled if there is alpha channel. This is the default mode.
72 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
73 [EditorBrowsable(EditorBrowsableState.Never)]
77 /// Blending is enabled.
79 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
80 [EditorBrowsable(EditorBrowsableState.Never)]
84 /// Blending is enabled, and don't cull the renderer.
86 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
87 [EditorBrowsable(EditorBrowsableState.Never)]
91 /// Blending is enabled when the actor is not opaque
93 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
94 [EditorBrowsable(EditorBrowsableState.Never)]
99 /// Enumeration for blend equation.
101 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
102 [EditorBrowsable(EditorBrowsableState.Never)]
103 public enum BlendEquationType
106 /// The source and destination colors are added to each other.
108 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
109 [EditorBrowsable(EditorBrowsableState.Never)]
113 /// Use minimum value of the source and the destination.
116 /// It will be supported only if OpenGL es 3.0 or higher version using.
118 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
119 [EditorBrowsable(EditorBrowsableState.Never)]
123 /// Use maximum value of the source and the destination.
126 /// It will be supported only if OpenGL es 3.0 or higher version using.
128 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
129 [EditorBrowsable(EditorBrowsableState.Never)]
133 /// Subtracts the destination from the source.
135 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
136 [EditorBrowsable(EditorBrowsableState.Never)]
140 /// Subtracts the source from the destination.
142 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
143 [EditorBrowsable(EditorBrowsableState.Never)]
144 ReverseSubtract = 0x800B,
146 //Advanced Blend Equation
147 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
148 [EditorBrowsable(EditorBrowsableState.Never)]
150 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
151 [EditorBrowsable(EditorBrowsableState.Never)]
153 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
154 [EditorBrowsable(EditorBrowsableState.Never)]
156 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
157 [EditorBrowsable(EditorBrowsableState.Never)]
159 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
160 [EditorBrowsable(EditorBrowsableState.Never)]
162 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
163 [EditorBrowsable(EditorBrowsableState.Never)]
165 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
166 [EditorBrowsable(EditorBrowsableState.Never)]
168 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
169 [EditorBrowsable(EditorBrowsableState.Never)]
171 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
172 [EditorBrowsable(EditorBrowsableState.Never)]
174 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
175 [EditorBrowsable(EditorBrowsableState.Never)]
177 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
178 [EditorBrowsable(EditorBrowsableState.Never)]
180 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
181 [EditorBrowsable(EditorBrowsableState.Never)]
183 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
184 [EditorBrowsable(EditorBrowsableState.Never)]
186 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
187 [EditorBrowsable(EditorBrowsableState.Never)]
189 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
190 [EditorBrowsable(EditorBrowsableState.Never)]
195 /// Enumeration for blend factor.
197 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
198 [EditorBrowsable(EditorBrowsableState.Never)]
199 public enum BlendFactorType
204 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
205 [EditorBrowsable(EditorBrowsableState.Never)]
211 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
212 [EditorBrowsable(EditorBrowsableState.Never)]
216 /// Match as GL_SRC_COLOR
218 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
219 [EditorBrowsable(EditorBrowsableState.Never)]
223 /// Match as GL_ONE_MINUS_SRC_COLOR
225 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
226 [EditorBrowsable(EditorBrowsableState.Never)]
227 OneMinusSrcColor = 0x0301,
230 /// Match as GL_SRC_ALPHA
232 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
233 [EditorBrowsable(EditorBrowsableState.Never)]
237 /// Match as GL_ONE_MINUS_SRC_ALPHA
239 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
240 [EditorBrowsable(EditorBrowsableState.Never)]
241 OneMinusSrcAlpha = 0x0303,
244 /// Match as GL_DST_ALPHA
246 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
247 [EditorBrowsable(EditorBrowsableState.Never)]
251 /// Match as GL_ONE_MINUS_DST_ALPHA
253 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
254 [EditorBrowsable(EditorBrowsableState.Never)]
255 OneMinusDstAlpha = 0x0305,
258 /// Match as GL_DST_COLOR
260 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
261 [EditorBrowsable(EditorBrowsableState.Never)]
265 /// Match as GL_ONE_MINUS_DST_COLOR
267 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
268 [EditorBrowsable(EditorBrowsableState.Never)]
269 OneMinusDstColor = 0x0307,
272 /// Match as GL_SRC_ALPHA_SATURATE
274 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
275 [EditorBrowsable(EditorBrowsableState.Never)]
276 SrcAlphaSaturate = 0x0308,
279 /// Match as GL_CONSTANT_COLOR
281 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
282 [EditorBrowsable(EditorBrowsableState.Never)]
283 ConstantColor = 0x8001,
286 /// Match as GL_ONE_MINUS_CONSTANT_COLOR
288 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
289 [EditorBrowsable(EditorBrowsableState.Never)]
290 OneMinusConstantColor = 0x8002,
293 /// Match as GL_CONSTANT_ALPHA
295 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
296 [EditorBrowsable(EditorBrowsableState.Never)]
297 ConstantAlpha = 0x8003,
300 /// Match as GL_ONE_MINUS_CONSTANT_ALPHA
302 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
303 [EditorBrowsable(EditorBrowsableState.Never)]
304 OneMinusConstantAlpha = 0x8004,
308 /// Enumeration for depth buffer write modes.
310 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
311 [EditorBrowsable(EditorBrowsableState.Never)]
312 public enum DepthWriteModeType
315 /// Renderer doesn't write to the depth buffer
317 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
318 [EditorBrowsable(EditorBrowsableState.Never)]
322 /// Renderer only writes to the depth buffer if it's opaque
324 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
325 [EditorBrowsable(EditorBrowsableState.Never)]
329 /// Renderer writes to the depth buffer
331 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
332 [EditorBrowsable(EditorBrowsableState.Never)]
337 /// Enumeration for depth functions.
339 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
340 [EditorBrowsable(EditorBrowsableState.Never)]
341 public enum DepthFunctionType
344 /// Depth test never passes
346 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
347 [EditorBrowsable(EditorBrowsableState.Never)]
351 /// Depth test always passes
353 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
354 [EditorBrowsable(EditorBrowsableState.Never)]
358 /// Depth test passes if the incoming depth value is less than the stored depth value
360 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
361 [EditorBrowsable(EditorBrowsableState.Never)]
365 /// Depth test passes if the incoming depth value is greater than the stored depth value
367 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
368 [EditorBrowsable(EditorBrowsableState.Never)]
372 /// Depth test passes if the incoming depth value is equal to the stored depth value
374 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
375 [EditorBrowsable(EditorBrowsableState.Never)]
379 /// Depth test passes if the incoming depth value is not equal to the stored depth value
381 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
382 [EditorBrowsable(EditorBrowsableState.Never)]
386 /// Depth test passes if the incoming depth value is less than or equal to the stored depth value
388 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
389 [EditorBrowsable(EditorBrowsableState.Never)]
393 /// Depth test passes if the incoming depth value is greater than or equal to the stored depth value
395 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
396 [EditorBrowsable(EditorBrowsableState.Never)]
401 /// Enumeration for depth buffer test (read) modes.
403 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
404 [EditorBrowsable(EditorBrowsableState.Never)]
405 public enum DepthTestModeType
408 /// Renderer does not read from the depth buffer
410 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
411 [EditorBrowsable(EditorBrowsableState.Never)]
415 /// Renderer only reads from the depth buffer if in a 3D layer
417 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
418 [EditorBrowsable(EditorBrowsableState.Never)]
422 /// Renderer reads from the depth buffer based on the DepthFunction
424 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
425 [EditorBrowsable(EditorBrowsableState.Never)]
430 /// Enumeration for the controls of how this renderer uses its stencil properties and writes to the color buffer.
432 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
433 [EditorBrowsable(EditorBrowsableState.Never)]
434 public enum RenderModeType
437 /// Do not write to either color or stencil buffer (But will potentially render to depth buffer).
439 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
440 [EditorBrowsable(EditorBrowsableState.Never)]
444 /// Managed by the View Clipping API. This is the default.
446 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
447 [EditorBrowsable(EditorBrowsableState.Never)]
451 /// Ingore stencil properties. Write to the color buffer.
453 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
454 [EditorBrowsable(EditorBrowsableState.Never)]
458 /// Use the stencil properties. Do not write to the color buffer.
460 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
461 [EditorBrowsable(EditorBrowsableState.Never)]
465 /// Use the stencil properties AND Write to the color buffer.
467 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
468 [EditorBrowsable(EditorBrowsableState.Never)]
473 /// Enumeration for the comparison function used on the stencil buffer.
475 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
476 [EditorBrowsable(EditorBrowsableState.Never)]
477 public enum StencilFunctionType
482 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
483 [EditorBrowsable(EditorBrowsableState.Never)]
487 /// Passes if <![CDATA[ ( reference & mask ) < ( stencil & mask ) ]]>
489 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
490 [EditorBrowsable(EditorBrowsableState.Never)]
494 /// Passes if <![CDATA[ ( reference & mask ) = ( stencil & mask ) ]]>
496 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
497 [EditorBrowsable(EditorBrowsableState.Never)]
501 /// Passes if <![CDATA[ ( reference & mask ) <= ( stencil & mask ) ]]>
503 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
504 [EditorBrowsable(EditorBrowsableState.Never)]
508 /// Passes if <![CDATA[ ( reference & mask ) > ( stencil & mask ) ]]>
510 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
511 [EditorBrowsable(EditorBrowsableState.Never)]
515 /// Passes if <![CDATA[ ( reference & mask ) != ( stencil & mask ) ]]>
517 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
518 [EditorBrowsable(EditorBrowsableState.Never)]
522 /// Passes if <![CDATA[ ( reference & mask ) >= ( stencil & mask ) ]]>
524 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
525 [EditorBrowsable(EditorBrowsableState.Never)]
531 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
532 [EditorBrowsable(EditorBrowsableState.Never)]
537 /// Enumeration for specifying the action to take when the stencil (or depth) test fails during stencil test.
539 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
540 [EditorBrowsable(EditorBrowsableState.Never)]
541 public enum StencilOperationType
544 /// Sets the stencil buffer value to 0
546 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
547 [EditorBrowsable(EditorBrowsableState.Never)]
551 /// Keeps the current value
553 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
554 [EditorBrowsable(EditorBrowsableState.Never)]
558 /// Sets the stencil buffer value to ref, as specified by glStencilFunc
560 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
561 [EditorBrowsable(EditorBrowsableState.Never)]
565 /// Increments the current stencil buffer value. Clamps to the maximum representable unsigned value
567 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
568 [EditorBrowsable(EditorBrowsableState.Never)]
572 /// Decrements the current stencil buffer value. Clamps to 0
574 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
575 [EditorBrowsable(EditorBrowsableState.Never)]
579 /// Bitwise inverts the current stencil buffer value
581 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
582 [EditorBrowsable(EditorBrowsableState.Never)]
586 /// Increments the current stencil buffer value.
587 /// Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value
589 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
590 [EditorBrowsable(EditorBrowsableState.Never)]
594 /// Decrements the current stencil buffer value.
595 /// Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero
597 /// This will be public opened in next tizen after ACR done. Before ACR, need to be hidden as inhouse API.
598 [EditorBrowsable(EditorBrowsableState.Never)]