发布于 2017-08-03 00:46:45 | 147 次阅读 | 评论: 0 | 来源: 网友投递
OpenGL 开源图形API
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
OpenGL 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包括 CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
OpenGL 4.6 将 AMD、Intel 和 NVIDIA 创建的众多 ARB 和 EXT 扩展功能集成到内核中,包括摄取 SPIR-V™ 着色器的功能。
SPIR-V 是用于并行计算和图形的标准中间语言,可使内容创建者简化其着色器创作和管理流程,同时提供重要的源着色语言灵活性。OpenGL 4.6 增加了对 SPIR-V 着色器的核心规格的支持。
OpenGL 4.6 将这些 ARB 扩展功能添加到 OpenGL 的核心规范中:
GL_ARB_gl_spirv 和 GL_ARB_spirv_extensions 以标准化 OpenGL 的 SPIR-V 支持
GL_ARB_indirect_parameters 和 GL_ARB_shader_draw_parameters 以用于减少与渲染批次几何相关联的 CPU 开销
GL_ARB_pipeline_statistics_query 和 GL_ARB_transform_feedback_overflow_query 标准化 OpenGL 可支持的 Direct3D 中的功能
GL_ARB_texture_filter_anisotropic (基于 GL_EXT_texture_filter_anisotropic) 将先前的 IP 保护功能带入 OpenGL ,以提高纹理场景的视觉质量
GL_ARB_polygon_offset_clamp (基于 GL_EXT_polygon_offset_clamp) 抑制与渲染阴影相关联的,被称为“光泄漏”的常见视觉伪影
GL_ARB_shader_atomic_counter_ops 和 GL_ARB_shader_group_vote 添加了对所有桌面供应商的着色器内在函数的支持,以提高功能和性能
GL_KHR_no_error 通过允许应用指示期望的无差错操作,从而减少驱动程序开销,减少错误
此外,还包含以下拓展:
GL_KHR_parallel_shader_compile 允许应用启动多个着色器编译线程,以改善着色器编译吞吐量
WGL_ARB_create_context_no_error 和 GXL_ARB_create_context_no_error 允许使用支持 GL_KHR_no_error 扩展名的 WGL 或 GLX 创建无错的上下文
OpenGL 4.6 规范可在 https://khronos.org/registry/OpenGL/index_gl.php 找到。
复杂的图形应用也将受益于 OpenGL 和 OpenGL ES 的一组新发布的扩展,以实现与 Vulkan 和 Direct3D 的互操作性。这些扩展名称如下:
GL_EXT_memory_object
GL_EXT_memory_object_fd
GL_EXT_memory_object_win32
GL_EXT_semaphore
GL_EXT_semaphore_fd
GL_EXT_semaphore_win32
GL_EXT_win32_keyed_mutex
可在此找到:https://khronos.org/registry/OpenGL/index_gl.php