当前位置: 首页 > news >正文

【Unity Shader编程】之GPU编程前言

之前一直不懂,为什么写一个shader代码,然后整个模型就会动,因为之前都是cpu编程思路,比如说cpu控制一个人物行走,就是控制一个人物,要控制10个人物,就要循环10次,分别控制他们,但是在gpu不一样,因为gpu编程是并行性,你写完gpu的编程,写完shader,是直接挂在单一物体上,这个时候,我们控制的是这个物体,但是控制的是这个物体的什么呢?
1,顶点
顶点着色器 v2f vert (appdata v) {},以前的误解,一物体引用了该shader之后,这个不是应该只执行一次吗?只执行一次,也没看到它控制所有顶点进行变换,为什么模型会产生那么大的变换?(这个就是妥妥的cpu编程思维了,困扰了我好久),在shader编程中,顶点着色器对应的是该附着的模型的所有顶点,例如,一个模型有100个顶点,那么该shader脚本里面的顶点着色器
v2f vert (appdata v) {}就会执行100次,而结构体v传入的数据是shader自动去赋值的。然后gpu有几万,几十万个计算线程,就可以快速的去计算,因而这就是gpu和cpu的不同,gpu并行,高速计算,渲染。cpu复杂计算,单一,和用户交互,内存交互等等,拥有各自不同的功能。
**

并行架构设计

CPU和GPU的设计目标不同。CPU注重低延迟和复杂逻辑处理,而GPU注重高吞吐量和数据并行。因此,编程模型上,CPU通常使用多线程(如OpenMP),而GPU使用大规模并行线程(如CUDA)。

相关文章:

  • wordpress主题设置教程
  • 2025年SEO自动优化工具
  • 数据科学之数据管理|统计学
  • (4/100)每日小游戏平台系列
  • wireshark网络抓包
  • 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 与基于 openEuler 构建 LVS-DR 群集
  • 在 rtthread中,rt_list_entry (rt_container_of) 已知结构体成员的地址,反推出结构体的首地址
  • Unity崩溃后信息结合符号表来查看问题
  • 基于SpringBoot的在线车辆租赁信息管理系统
  • 电脑端调用摄像头拍照:从基础到实现
  • Ubuntu启动geteck/jetlinks实战:Docker启动
  • 程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<10>
  • ffmpeg -muxers
  • Vue 3 和 <script setup> 的组件,它使用 v-for 来渲染一个嵌套的菜单结构。
  • vant4 van-list组件的使用
  • 【EI Scopus 双检索 | 稳定EI检索】第二届通信技术与软件工程国际学术会议 (CTSE 2025)
  • Notepad++ 中删除所有以 “pdf“ 结尾的行
  • Uniapp 原生组件层级过高问题及解决方案
  • 【Linux】多线程 -> 从线程概念到线程控制
  • BPMN.js 与 DeepSeek 集成:打造个性化 Web 培训项目的秘诀
  • 搜狗引擎网站收录/软文撰写
  • 网站开发任务单百度文库/成人短期技能培训学校
  • 怎么做单位网站/seo专业论坛
  • 做网站赚广告/关键词组合工具
  • 选择做印象绍兴网站的原因/做网站需要多少钱 都包括什么
  • 微山网站建设公司/100个裂变营销案例