Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
shader
Shader.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// The MIT License (MIT)
5
//
6
// Copyright (c) 2018-2024 www.open3d.org
7
//
8
// Permission is hereby granted, free of charge, to any person obtaining a copy
9
// of this software and associated documentation files (the "Software"), to deal
10
// in the Software without restriction, including without limitation the rights
11
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
// copies of the Software, and to permit persons to whom the Software is
13
// furnished to do so, subject to the following conditions:
14
//
15
// The above copyright notice and this permission notice shall be included in
16
// all copies or substantial portions of the Software.
17
//
18
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24
// IN THE SOFTWARE.
25
// ----------------------------------------------------------------------------
26
// Automatically generated header file for shader.
27
28
#pragma once
29
30
namespace
open3d
{
31
namespace
visualization
{
32
namespace
glsl
{
33
// clang-format off
34
35
const
char
*
const
ImageFragmentShader
=
36
"#version 330\n"
37
"\n"
38
"in vec2 UV;\n"
39
"uniform sampler2D image_texture;\n"
40
"\n"
41
"out vec4 FragColor;\n"
42
"\n"
43
"void main()\n"
44
"{\n"
45
" FragColor = texture(image_texture, UV);\n"
46
"}\n"
47
;
48
49
const
char
*
const
ImageMaskFragmentShader
=
50
"#version 330\n"
51
"\n"
52
"in vec2 UV;\n"
53
"uniform sampler2D image_texture;\n"
54
"\n"
55
"uniform vec3 mask_color;\n"
56
"uniform float mask_alpha;\n"
57
"\n"
58
"out vec4 FragColor;\n"
59
"\n"
60
"void main()\n"
61
"{\n"
62
" FragColor = vec4(mask_color, texture(image_texture, UV).r * mask_alpha);\n"
63
"}\n"
64
;
65
66
const
char
*
const
ImageMaskVertexShader
=
67
"#version 330\n"
68
"\n"
69
"in vec3 vertex_position;\n"
70
"in vec2 vertex_UV;\n"
71
"\n"
72
"out vec2 UV;\n"
73
"\n"
74
"void main()\n"
75
"{\n"
76
" gl_Position = vec4(vertex_position, 1);\n"
77
" UV = vertex_UV;\n"
78
"}\n"
79
;
80
81
const
char
*
const
ImageVertexShader
=
82
"#version 330\n"
83
"\n"
84
"in vec3 vertex_position;\n"
85
"in vec2 vertex_UV;\n"
86
"\n"
87
"out vec2 UV;\n"
88
"\n"
89
"uniform vec3 vertex_scale;\n"
90
"\n"
91
"void main()\n"
92
"{\n"
93
" gl_Position = vec4(vertex_position * vertex_scale, 1);\n"
94
" UV = vertex_UV;\n"
95
"}\n"
96
;
97
98
const
char
*
const
NormalFragmentShader
=
99
"#version 330\n"
100
"\n"
101
"in vec3 vertex_normal_camera;\n"
102
"out vec4 FragColor;\n"
103
"\n"
104
"void main()\n"
105
"{\n"
106
" FragColor = vec4(vertex_normal_camera * 0.5 + 0.5, 1);\n"
107
"}\n"
108
;
109
110
const
char
*
const
NormalVertexShader
=
111
"#version 330\n"
112
"\n"
113
"in vec3 vertex_position;\n"
114
"in vec3 vertex_normal;\n"
115
"\n"
116
"out vec3 vertex_normal_camera;\n"
117
"\n"
118
"uniform mat4 MVP;\n"
119
"uniform mat4 V;\n"
120
"uniform mat4 M;\n"
121
"\n"
122
"void main()\n"
123
"{\n"
124
" gl_Position = MVP * vec4(vertex_position, 1);\n"
125
" vertex_normal_camera = (V * M * vec4(vertex_normal, 0)).xyz;\n"
126
"}\n"
127
;
128
129
const
char
*
const
PhongFragmentShader
=
130
"#version 330\n"
131
"\n"
132
"in vec3 vertex_position_world;\n"
133
"in vec3 vertex_normal_camera;\n"
134
"in vec3 eye_dir_camera;\n"
135
"in mat4 light_dir_camera_4;\n"
136
"in vec3 fragment_color;\n"
137
"\n"
138
"uniform mat4 light_color_4;\n"
139
"uniform vec4 light_diffuse_power_4;\n"
140
"uniform vec4 light_specular_power_4;\n"
141
"uniform vec4 light_specular_shininess_4;\n"
142
"uniform vec4 light_ambient;\n"
143
"\n"
144
"out vec4 FragColor;\n"
145
"\n"
146
"void main()\n"
147
"{\n"
148
" vec3 diffuse_color = fragment_color;\n"
149
" vec3 ambient_color = light_ambient.xyz * diffuse_color;\n"
150
" vec3 specular_color = vec3(1.0, 1.0, 1.0);\n"
151
" vec4 cos_theta;\n"
152
" vec4 cos_alpha;\n"
153
" vec3 n, e, l, r;\n"
154
"\n"
155
" n = normalize(vertex_normal_camera);\n"
156
" e = normalize(eye_dir_camera);\n"
157
" l = normalize(light_dir_camera_4[0].xyz);\n"
158
" r = reflect(-l, n);\n"
159
" cos_theta[0] = clamp(dot(n, l), 0, 1);\n"
160
" cos_alpha[0] = clamp(dot(e, r), 0, 1);\n"
161
"\n"
162
" l= normalize(light_dir_camera_4[1].xyz);\n"
163
" r = reflect(-l, n);\n"
164
" cos_theta[1] = clamp(dot(n, l), 0, 1);\n"
165
" cos_alpha[1] = clamp(dot(e, r), 0, 1);\n"
166
"\n"
167
" l= normalize(light_dir_camera_4[2].xyz);\n"
168
" r = reflect(-l, n);\n"
169
" cos_theta[2] = clamp(dot(n, l), 0, 1);\n"
170
" cos_alpha[2] = clamp(dot(e, r), 0, 1);\n"
171
"\n"
172
" l= normalize(light_dir_camera_4[3].xyz);\n"
173
" r = reflect(-l, n);\n"
174
" cos_theta[3] = clamp(dot(n, l), 0, 1);\n"
175
" cos_alpha[3] = clamp(dot(e, r), 0, 1);\n"
176
"\n"
177
" FragColor = vec4(ambient_color + \n"
178
" diffuse_color * light_color_4[0].xyz * light_diffuse_power_4[0] * cos_theta[0] +\n"
179
" specular_color * light_color_4[0].xyz * light_specular_power_4[0] * pow(cos_alpha[0], light_specular_shininess_4[0]) +\n"
180
" diffuse_color * light_color_4[1].xyz * light_diffuse_power_4[1] * cos_theta[1] +\n"
181
" specular_color * light_color_4[1].xyz * light_specular_power_4[1] * pow(cos_alpha[1], light_specular_shininess_4[1]) +\n"
182
" diffuse_color * light_color_4[2].xyz * light_diffuse_power_4[2] * cos_theta[2] +\n"
183
" specular_color * light_color_4[2].xyz * light_specular_power_4[2] * pow(cos_alpha[2], light_specular_shininess_4[2]) +\n"
184
" diffuse_color * light_color_4[3].xyz * light_diffuse_power_4[3] * cos_theta[3] +\n"
185
" specular_color * light_color_4[3].xyz * light_specular_power_4[3] * pow(cos_alpha[3], light_specular_shininess_4[3]), 1);\n"
186
"}\n"
187
;
188
189
const
char
*
const
PhongVertexShader
=
190
"#version 330\n"
191
"\n"
192
"in vec3 vertex_position;\n"
193
"in vec3 vertex_normal;\n"
194
"in vec3 vertex_color;\n"
195
"\n"
196
"out vec3 vertex_position_world;\n"
197
"out vec3 vertex_normal_camera;\n"
198
"out vec3 eye_dir_camera;\n"
199
"out mat4 light_dir_camera_4;\n"
200
"out vec3 fragment_color;\n"
201
"\n"
202
"uniform mat4 MVP;\n"
203
"uniform mat4 V;\n"
204
"uniform mat4 M;\n"
205
"uniform mat4 light_position_world_4;\n"
206
"\n"
207
"void main()\n"
208
"{\n"
209
" gl_Position = MVP * vec4(vertex_position, 1);\n"
210
" vertex_position_world = (M * vec4(vertex_position, 1)).xyz;\n"
211
"\n"
212
" vec3 vertex_position_camera = (V * M * vec4(vertex_position, 1)).xyz;\n"
213
" eye_dir_camera = vec3(0, 0, 0) - vertex_position_camera;\n"
214
"\n"
215
" vec4 v = vec4(vertex_position_camera, 1);\n"
216
" light_dir_camera_4 = V * light_position_world_4 - mat4(v, v, v, v);\n"
217
"\n"
218
" vertex_normal_camera = (V * M * vec4(vertex_normal, 0)).xyz;\n"
219
" if (dot(eye_dir_camera, vertex_normal_camera) < 0.0)\n"
220
" vertex_normal_camera = vertex_normal_camera * -1.0;\n"
221
"\n"
222
" fragment_color = vertex_color;\n"
223
"}\n"
224
;
225
226
const
char
*
const
PickingFragmentShader
=
227
"#version 330\n"
228
"\n"
229
"in vec4 fragment_color;\n"
230
"out vec4 FragColor;\n"
231
"\n"
232
"void main()\n"
233
"{\n"
234
" FragColor = fragment_color;\n"
235
"}\n"
236
;
237
238
const
char
*
const
PickingVertexShader
=
239
"#version 330\n"
240
"\n"
241
"in vec3 vertex_position;\n"
242
"in float vertex_index;\n"
243
"uniform mat4 MVP;\n"
244
"\n"
245
"out vec4 fragment_color;\n"
246
"\n"
247
"void main()\n"
248
"{\n"
249
" float r, g, b, a;\n"
250
" gl_Position = MVP * vec4(vertex_position, 1);\n"
251
" r = floor(vertex_index / 16777216.0) / 255.0;\n"
252
" g = mod(floor(vertex_index / 65536.0), 256.0) / 255.0;\n"
253
" b = mod(floor(vertex_index / 256.0), 256.0) / 255.0;\n"
254
" a = mod(vertex_index, 256.0) / 255.0;\n"
255
" fragment_color = vec4(r, g, b, a);\n"
256
"}\n"
257
;
258
259
const
char
*
const
RGBDImageFragmentShader
=
260
"#version 330\n"
261
"\n"
262
"in vec2 UV;\n"
263
"uniform sampler2D image_texture;\n"
264
"\n"
265
"\n"
266
"/* built-in option to ensure RGB and D are handled in the same shader,\n"
267
" which can be used in 2 passes */\n"
268
"#define DEPTH_TEXTURE_MODE 0\n"
269
"#define RGB_TEXTURE_MODE 1\n"
270
"#define GRAYSCALE_TEXTURE_MODE 2\n"
271
"uniform int texture_mode;\n"
272
"\n"
273
"/* Decides the colormap of the depth image */\n"
274
"uniform float depth_max;\n"
275
"out vec4 FragColor;\n"
276
"\n"
277
"float Interpolate(float value, float y0, float x0, float y1, float x1) {\n"
278
" if (value < x0) return y0;\n"
279
" if (value > x1) return y1;\n"
280
" return (value - x0) * (y1 - y0) / (x1 - x0) + y0;\n"
281
"}\n"
282
"\n"
283
"float Jet(float value /* already clamped in [0, 1] */) {\n"
284
" if (value <= -0.75) {\n"
285
" return 0.0;\n"
286
" } else if (value <= -0.25) {\n"
287
" return Interpolate(value, 0.0, -0.75, 1.0, -0.25);\n"
288
" } else if (value <= 0.25) {\n"
289
" return 1.0;\n"
290
" } else if (value <= 0.75) {\n"
291
" return Interpolate(value, 1.0, 0.25, 0.0, 0.75);\n"
292
" } else {\n"
293
" return 0.0;\n"
294
" }\n"
295
"}\n"
296
"\n"
297
"void main() {\n"
298
" if (texture_mode == DEPTH_TEXTURE_MODE) {\n"
299
" float depth = texture(image_texture, UV).r;\n"
300
" depth = clamp(depth, 0, depth_max);\n"
301
" depth = depth / depth_max;\n"
302
" depth = 2 * depth - 1;\n"
303
" FragColor = vec4(Jet(depth - 0.5), Jet(depth), Jet(depth + 0.5), 1);\n"
304
" } else if (texture_mode == RGB_TEXTURE_MODE) {\n"
305
" FragColor = texture(image_texture, UV);\n"
306
" } else if (texture_mode == GRAYSCALE_TEXTURE_MODE) {\n"
307
" float scalar = texture(image_texture, UV).r;\n"
308
" FragColor = vec4(vec3(scalar), 1);\n"
309
" }\n"
310
"}\n"
311
;
312
313
const
char
*
const
Simple2DFragmentShader
=
314
"#version 330\n"
315
"\n"
316
"in vec3 fragment_color;\n"
317
"out vec4 FragColor;\n"
318
"\n"
319
"void main()\n"
320
"{\n"
321
" FragColor = vec4(fragment_color, 1);\n"
322
"}\n"
323
;
324
325
const
char
*
const
Simple2DVertexShader
=
326
"#version 330\n"
327
"\n"
328
"in vec3 vertex_position;\n"
329
"in vec3 vertex_color;\n"
330
"\n"
331
"out vec3 fragment_color;\n"
332
"\n"
333
"void main()\n"
334
"{\n"
335
" gl_Position = vec4(vertex_position, 1);\n"
336
" fragment_color = vertex_color;\n"
337
"}\n"
338
;
339
340
const
char
*
const
SimpleBlackFragmentShader
=
341
"#version 330\n"
342
"\n"
343
"out vec4 FragColor;\n"
344
"\n"
345
"void main()\n"
346
"{\n"
347
" FragColor = vec4(0.1, 0.1, 0.1, 1);\n"
348
"}\n"
349
;
350
351
const
char
*
const
SimpleBlackVertexShader
=
352
"#version 330\n"
353
"\n"
354
"in vec3 vertex_position;\n"
355
"uniform mat4 MVP;\n"
356
"\n"
357
"void main()\n"
358
"{\n"
359
" gl_Position = MVP * vec4(vertex_position, 1);\n"
360
"}\n"
361
;
362
363
const
char
*
const
SimpleFragmentShader
=
364
"#version 330\n"
365
"\n"
366
"in vec3 fragment_color;\n"
367
"out vec4 FragColor;\n"
368
"\n"
369
"void main()\n"
370
"{\n"
371
" FragColor = vec4(fragment_color, 1);\n"
372
"}\n"
373
;
374
375
const
char
*
const
SimpleVertexShader
=
376
"#version 330\n"
377
"\n"
378
"in vec3 vertex_position;\n"
379
"in vec3 vertex_color;\n"
380
"uniform mat4 MVP;\n"
381
"\n"
382
"out vec3 fragment_color;\n"
383
"\n"
384
"void main()\n"
385
"{\n"
386
" gl_Position = MVP * vec4(vertex_position, 1);\n"
387
" fragment_color = vertex_color;\n"
388
"}\n"
389
;
390
391
const
char
*
const
TexturePhongFragmentShader
=
392
"#version 330\n"
393
"\n"
394
"in vec3 vertex_position_world;\n"
395
"in vec3 vertex_normal_camera;\n"
396
"in vec3 eye_dir_camera;\n"
397
"in mat4 light_dir_camera_4;\n"
398
"in vec2 fragment_uv;\n"
399
"\n"
400
"uniform mat4 light_color_4;\n"
401
"uniform vec4 light_diffuse_power_4;\n"
402
"uniform vec4 light_specular_power_4;\n"
403
"uniform vec4 light_specular_shininess_4;\n"
404
"uniform vec4 light_ambient;\n"
405
"uniform sampler2D diffuse_texture;\n"
406
"\n"
407
"out vec4 FragColor;\n"
408
"\n"
409
"void main()\n"
410
"{\n"
411
" vec3 diffuse_color = texture(diffuse_texture, fragment_uv).rgb;\n"
412
" vec3 ambient_color = light_ambient.xyz * diffuse_color;\n"
413
" vec3 specular_color = vec3(1.0, 1.0, 1.0);\n"
414
" vec4 cos_theta;\n"
415
" vec4 cos_alpha;\n"
416
" vec3 n, e, l, r;\n"
417
"\n"
418
" n = normalize(vertex_normal_camera);\n"
419
" e = normalize(eye_dir_camera);\n"
420
" l = normalize(light_dir_camera_4[0].xyz);\n"
421
" r = reflect(-l, n);\n"
422
" cos_theta[0] = clamp(dot(n, l), 0, 1);\n"
423
" cos_alpha[0] = clamp(dot(e, r), 0, 1);\n"
424
"\n"
425
" l= normalize(light_dir_camera_4[1].xyz);\n"
426
" r = reflect(-l, n);\n"
427
" cos_theta[1] = clamp(dot(n, l), 0, 1);\n"
428
" cos_alpha[1] = clamp(dot(e, r), 0, 1);\n"
429
"\n"
430
" l= normalize(light_dir_camera_4[2].xyz);\n"
431
" r = reflect(-l, n);\n"
432
" cos_theta[2] = clamp(dot(n, l), 0, 1);\n"
433
" cos_alpha[2] = clamp(dot(e, r), 0, 1);\n"
434
"\n"
435
" l= normalize(light_dir_camera_4[3].xyz);\n"
436
" r = reflect(-l, n);\n"
437
" cos_theta[3] = clamp(dot(n, l), 0, 1);\n"
438
" cos_alpha[3] = clamp(dot(e, r), 0, 1);\n"
439
"\n"
440
" FragColor = vec4(ambient_color + \n"
441
" diffuse_color * light_color_4[0].xyz * light_diffuse_power_4[0] * cos_theta[0] +\n"
442
" specular_color * light_color_4[0].xyz * light_specular_power_4[0] * pow(cos_alpha[0], light_specular_shininess_4[0]) +\n"
443
" diffuse_color * light_color_4[1].xyz * light_diffuse_power_4[1] * cos_theta[1] +\n"
444
" specular_color * light_color_4[1].xyz * light_specular_power_4[1] * pow(cos_alpha[1], light_specular_shininess_4[1]) +\n"
445
" diffuse_color * light_color_4[2].xyz * light_diffuse_power_4[2] * cos_theta[2] +\n"
446
" specular_color * light_color_4[2].xyz * light_specular_power_4[2] * pow(cos_alpha[2], light_specular_shininess_4[2]) +\n"
447
" diffuse_color * light_color_4[3].xyz * light_diffuse_power_4[3] * cos_theta[3] +\n"
448
" specular_color * light_color_4[3].xyz * light_specular_power_4[3] * pow(cos_alpha[3], light_specular_shininess_4[3]), 1);\n"
449
"}\n"
450
;
451
452
const
char
*
const
TexturePhongVertexShader
=
453
"#version 330\n"
454
"\n"
455
"in vec3 vertex_position;\n"
456
"in vec3 vertex_normal;\n"
457
"in vec2 vertex_uv;\n"
458
"\n"
459
"out vec3 vertex_position_world;\n"
460
"out vec3 vertex_normal_camera;\n"
461
"out vec3 eye_dir_camera;\n"
462
"out mat4 light_dir_camera_4;\n"
463
"out vec2 fragment_uv;\n"
464
"\n"
465
"uniform mat4 MVP;\n"
466
"uniform mat4 V;\n"
467
"uniform mat4 M;\n"
468
"uniform mat4 light_position_world_4;\n"
469
"\n"
470
"void main()\n"
471
"{\n"
472
" gl_Position = MVP * vec4(vertex_position, 1);\n"
473
" vertex_position_world = (M * vec4(vertex_position, 1)).xyz;\n"
474
"\n"
475
" vec3 vertex_position_camera = (V * M * vec4(vertex_position, 1)).xyz;\n"
476
" eye_dir_camera = vec3(0, 0, 0) - vertex_position_camera;\n"
477
"\n"
478
" vec4 v = vec4(vertex_position_camera, 1);\n"
479
" light_dir_camera_4 = V * light_position_world_4 - mat4(v, v, v, v);\n"
480
"\n"
481
" vertex_normal_camera = (V * M * vec4(vertex_normal, 0)).xyz;\n"
482
" if (dot(eye_dir_camera, vertex_normal_camera) < 0.0)\n"
483
" vertex_normal_camera = vertex_normal_camera * -1.0;\n"
484
"\n"
485
" fragment_uv = vertex_uv;\n"
486
"}\n"
487
"\n"
488
;
489
490
const
char
*
const
TextureSimpleFragmentShader
=
491
"#version 330\n"
492
"\n"
493
"in vec2 fragment_uv;\n"
494
"out vec4 FragColor;\n"
495
"\n"
496
"uniform sampler2D diffuse_texture;\n"
497
"\n"
498
"void main()\n"
499
"{\n"
500
" FragColor = texture(diffuse_texture, fragment_uv);\n"
501
"}\n"
502
;
503
504
const
char
*
const
TextureSimpleVertexShader
=
505
"#version 330\n"
506
"\n"
507
"in vec3 vertex_position;\n"
508
"in vec2 vertex_uv;\n"
509
"uniform mat4 MVP;\n"
510
"\n"
511
"out vec2 fragment_uv;\n"
512
"\n"
513
"void main()\n"
514
"{\n"
515
" gl_Position = MVP * vec4(vertex_position, 1);\n"
516
" fragment_uv = vertex_uv;\n"
517
"}\n"
518
;
519
520
// clang-format on
521
}
// namespace open3d::glsl
522
}
// namespace open3d::visualization
523
}
// namespace open3d
524
open3d::visualization::glsl
Definition
GeometryRenderer.cpp:21
open3d::visualization::glsl::NormalVertexShader
const char *const NormalVertexShader
Definition
Shader.h:110
open3d::visualization::glsl::ImageVertexShader
const char *const ImageVertexShader
Definition
Shader.h:81
open3d::visualization::glsl::SimpleVertexShader
const char *const SimpleVertexShader
Definition
Shader.h:375
open3d::visualization::glsl::TexturePhongFragmentShader
const char *const TexturePhongFragmentShader
Definition
Shader.h:391
open3d::visualization::glsl::PickingFragmentShader
const char *const PickingFragmentShader
Definition
Shader.h:226
open3d::visualization::glsl::NormalFragmentShader
const char *const NormalFragmentShader
Definition
Shader.h:98
open3d::visualization::glsl::ImageMaskFragmentShader
const char *const ImageMaskFragmentShader
Definition
Shader.h:49
open3d::visualization::glsl::Simple2DFragmentShader
const char *const Simple2DFragmentShader
Definition
Shader.h:313
open3d::visualization::glsl::TextureSimpleVertexShader
const char *const TextureSimpleVertexShader
Definition
Shader.h:504
open3d::visualization::glsl::TextureSimpleFragmentShader
const char *const TextureSimpleFragmentShader
Definition
Shader.h:490
open3d::visualization::glsl::Simple2DVertexShader
const char *const Simple2DVertexShader
Definition
Shader.h:325
open3d::visualization::glsl::TexturePhongVertexShader
const char *const TexturePhongVertexShader
Definition
Shader.h:452
open3d::visualization::glsl::SimpleFragmentShader
const char *const SimpleFragmentShader
Definition
Shader.h:363
open3d::visualization::glsl::ImageFragmentShader
const char *const ImageFragmentShader
Definition
Shader.h:35
open3d::visualization::glsl::ImageMaskVertexShader
const char *const ImageMaskVertexShader
Definition
Shader.h:66
open3d::visualization::glsl::RGBDImageFragmentShader
const char *const RGBDImageFragmentShader
Definition
Shader.h:259
open3d::visualization::glsl::PhongFragmentShader
const char *const PhongFragmentShader
Definition
Shader.h:129
open3d::visualization::glsl::SimpleBlackVertexShader
const char *const SimpleBlackVertexShader
Definition
Shader.h:351
open3d::visualization::glsl::PhongVertexShader
const char *const PhongVertexShader
Definition
Shader.h:189
open3d::visualization::glsl::PickingVertexShader
const char *const PickingVertexShader
Definition
Shader.h:238
open3d::visualization::glsl::SimpleBlackFragmentShader
const char *const SimpleBlackFragmentShader
Definition
Shader.h:340
open3d::visualization
Definition
ModelIO.h:14
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0