Blender  V3.3
gl_primitive.hh
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2020 Blender Foundation. All rights reserved. */
3 
10 #pragma once
11 
12 #include "BLI_assert.h"
13 
14 #include "GPU_primitive.h"
15 
16 #include "glew-mx.h"
17 
18 namespace blender::gpu {
19 
20 static inline GLenum to_gl(GPUPrimType prim_type)
21 {
22  BLI_assert(prim_type != GPU_PRIM_NONE);
23  switch (prim_type) {
24  default:
25  case GPU_PRIM_POINTS:
26  return GL_POINTS;
27  case GPU_PRIM_LINES:
28  return GL_LINES;
30  return GL_LINE_STRIP;
31  case GPU_PRIM_LINE_LOOP:
32  return GL_LINE_LOOP;
33  case GPU_PRIM_TRIS:
34  return GL_TRIANGLES;
35  case GPU_PRIM_TRI_STRIP:
36  return GL_TRIANGLE_STRIP;
37  case GPU_PRIM_TRI_FAN:
38  return GL_TRIANGLE_FAN;
39 
40  case GPU_PRIM_LINES_ADJ:
41  return GL_LINES_ADJACENCY;
43  return GL_LINE_STRIP_ADJACENCY;
44  case GPU_PRIM_TRIS_ADJ:
45  return GL_TRIANGLES_ADJACENCY;
46  };
47 }
48 
49 } // namespace blender::gpu
#define BLI_assert(a)
Definition: BLI_assert.h:46
GPUPrimType
Definition: GPU_primitive.h:18
@ GPU_PRIM_TRI_FAN
Definition: GPU_primitive.h:25
@ GPU_PRIM_LINE_LOOP
Definition: GPU_primitive.h:23
@ GPU_PRIM_LINE_STRIP_ADJ
Definition: GPU_primitive.h:31
@ GPU_PRIM_TRIS_ADJ
Definition: GPU_primitive.h:30
@ GPU_PRIM_NONE
Definition: GPU_primitive.h:33
@ GPU_PRIM_LINES
Definition: GPU_primitive.h:20
@ GPU_PRIM_POINTS
Definition: GPU_primitive.h:19
@ GPU_PRIM_LINES_ADJ
Definition: GPU_primitive.h:29
@ GPU_PRIM_LINE_STRIP
Definition: GPU_primitive.h:22
@ GPU_PRIM_TRI_STRIP
Definition: GPU_primitive.h:24
@ GPU_PRIM_TRIS
Definition: GPU_primitive.h:21
static GLenum to_gl(const GPUAttachmentType type)