Vulkan入门系列0- Vulkan与OpenGL的区别

news2024/9/27 9:24:29

一:概述      

        Vulkan 是新一代图形和计算API,是由科纳斯组织(Khronos Group)维护的一套跨平台的、开放标准的、现代GPU 的编程接口,它仅仅是规定了一套编程接口,并没有接口的具体实现,实现是由硬件厂商适配实现的,市面上像NVIDIA、AMD和Intel等国际大厂基本提供了完整的Vulkan实现,国内的GPU厂商也在努力适配Vulkan标准。

        众所周知,OpenGL也是科纳斯组织(Khronos Group)维护的一套GPU编程接口,那为什么不沿用OpenGL,继续迭代OpenGL版本,而是要新推出新一代编程接口Vulkan呢?虽然Vulkan和OpenGL都是对GPU的抽象,都能达到相同的功能,但它们的设计理念不同,可以说设计差异是非常之大,由于OpenGL从1992年到现在,已经有30多年的历史,GPU功能日新月异,与当年不可同日而语,在OpenGL保持向下兼容情况下,还要在OpenGL基础上设计一套编程接口显然是不可能的,所以推出了新编程规范Vulkan。那么Vukan是如何对GPU做抽象的,与OpenGL有哪些差异呢?主要有以下八个方面:

1. 是状态管理方式不同:

        状态的术语是指GPU在执行其工作时所需要的一组信息,GPU内部划分为若干阶段,即渲染管线(简称管线),状态指定了管线每个阶段的行为。状态一般包括下面这些:着色器代码(即在GPU可编程阶段执行的代码)、管线各个阶段的输入输出数据(即顶点属性数据,纹理等),图元类型(即三角形,线,点等)以及其他一些信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1920137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ enum class转常量

当使用 enum class 时,它具有更强的类型安全性和隔离性,因此需要显式转换才能访问其底层整数值。 std::underlying_type_t 是一个类型别名,它返回枚举类型的底层类型。 to_underlying 函数提供了一种方便的方式来执行这种转换,特别…

vb.netcad二开自学笔记8:界面之任务窗格

使用net可以创建一个类似属性面板的自定义的任务窗格,从而实现应用程序更丰富的人机交互。 1、添加一个自定义控件 2、在前面创建的代码框架内增加一个命令函数ShowMyPalette Imports System.Windows.Media.Imaging Imports Autodesk.AutoCAD.ApplicationServices …

python的简单爬取

需要的第三方模块 requests winr打开命令行输入cmd 简单爬取的基本格式(爬取百度logo为例) import requests url"http://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" resprequests.get(url)#回应 #保存到本地 with open(&…

5G中的RedCap

5G中的RedCap:降低能力的重要性和实现方式 随着5G技术的推广和普及,设备和终端的多样化使得网络能力的管理变得更加复杂和关键。RedCap(Reduced Capability)作为一个重要的概念,旨在解决设备能力差异对网络服务和用户…

基于PID控制器的双容控制系统matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1PID控制器的基本原理 4.2双容水箱系统的数学模型 5.完整工程文件 1.课题概述 基于PID控制器的双容控制系统matlab仿真,仿真输出PID控制下的水位和流量两个指标。 2.系统仿真结果 &…

部署YUM仓库及NFS共享功能

目录 一、YUM仓库服务 1、YUM仓库概述 2、准备安装源 2.1、软件仓库的提供方式 2.2、 RPM软件包的来源 3、YUM主配置文件 4、软件卸载 5、YUM源的提供方式 5.1、配置本地YUM源仓库 5.2、配置ftp源 5.2.1、服务端配置 5.2.2、客户端配置 二、NFS共享存储 1、NFS基…

Element UI 添加自定义图标

Element UI 自带的默认图标 随着项目的越来越大,图标总是不够用,接下来就给大家说明下如何添加自定义图标 首页给大家介绍一个图标网站:iconfont-阿里巴巴矢量图标库 网站上有很多设计好的图标,基本都有你想要的了&#xff0c…

【RHCE】系统服务综合实验

一、实验内容 现有主机 node01 和 node02,完成如下需求: 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02…

【机器学习实战】Datawhale夏令营2:音视频攻防(deepfake)Baseline句解

# Datawhale # AI夏令营 # 夏令营 文章目录 1. 赛题简要介绍2. 赛题数据集3. 评价指标4. Baseline整体4.1 计算样本数4.2 创建video对象4.3 下载需要的库&&补充知识4.4 设置pytorch随机种子&&CUDNN配置4.5 音视频预处理4.6 创建训练数据文件夹4.7 生成梅尔频谱…

Windows下查看某个端口被某个应用占用

1、打开命令窗口(以管理员身份运行) ​​​​​​​​​​ 2、查找所有运行的端口 输入所有命令:当前命令可以查看当前电脑的全部端口使用情况 netstat -ano3、查看被占用端口对应的 PID(这里以8000端口为例) netstat -ano|findstr &qu…

Zynq系列FPGA实现SDI视频编解码+多路视频融合叠加,基于GTX高速接口,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案多路视频融合叠加应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBVDMA图像缓存HLS多路视频融合叠加HDMI视频输出架构SDI视频输出架构之-…

模型加载20G以上的超大语料的解决方案

背景: 在做机器翻译的时候,我们的单边语料大约20G大小的纯文本语料,在DataLoader加载的时候不可能一次性加载进来,所以就有了这个超大语料的加载问题。 解决方案: data_dealing.py: import os import sysroot_dir …

配置光源——笔记

一、灯光的类型 (一)Directional Light(定向光) 1、只改变方向变化,不记录位置变化 2、相当于太阳光 3、室外一般使用 (二)Spot 聚光灯:昏暗(凌晨或傍晚),有一个光斑…

OLED柔性显示屏的金线封装胶

OLED柔性显示屏的金线封装胶是确保柔性显示屏中金线连接稳定、防止外界环境侵害的关键材料。 OLED柔性显示屏在使用金线进行连接时,需要一种能够牢固固定金线并提供良好保护的封装胶,以确保电路的稳定性和长期可靠性。专门针对金线封装的胶种&#xff0c…

Android之间互传消息之ServerSocket,Android服务端接收Socket发送的TCP

Android之间在在局域网下互传消息,咱就不用走云服务器了吧,让俩安卓设备,自己传呗 方式1 通过在安卓设备上搭建Web服务器接收数据,可参考 Android使用AndServer在安卓设备上搭建服务端(Java)(Kotlin)两种写法 方式2 本文章&…

【后端开发实习】用Nodejs操作mongodb结合Mongoose实现数据库操作

用Nodejs操作mongodb结合Schema实现数据库操作 Mongoose创建Schema定义Schema对象并映射到数据库Model的使用创建文档内容删除文档内容修改文档内容查询文档内容 Document的使用创建并保存将文档对象转换为JSON对象 模块化数据库连接模型初始化 项目部署路由定义后端操作定义启…

19185 01背包问题

解决这个问题的关键是使用动态规划的方法。我们可以创建一个二维数组dp[i][j],其中i表示考虑前i件物品,j表示背包的容量。dp[i][j]的值表示在考虑前i件物品,且背包容量为j时能获得的最大价值。 ### 算法步骤 1. 初始化一个二维数组dp&#x…

Qt Design Studio 4.5现已发布

Qt Design Studio现已强势回归,生产力和可用性均得到大幅提升。无论是直观的3D编辑界面,还是与Figma和Qt Creator的无缝连接,新版Qt Design Studio将为您带来更好的产品开发体验。快来深入了解Qt Design Studio的全新功能吧! 为3…