3D动画揭秘显卡的GPU是如何工作的_哔哩哔哩_bilibili
位于显卡中。
与CPU区别:
100名小学生和1位数学博士
做100道非常简单的算术题,小朋友一个人一道题,比博士快。
做1道非常复杂的数学问题,只有博士可以做出来。
CPU主要用于快速的处理复杂的运算
GPU主要用于处理数据量巨大的简单运算,尤其对图形处理性能最佳。
3D模型的顶点数据被输入到GPU,GPU读取描述3D图形外观的顶点数据,
根据顶点数据确定3D图形的形状及位置关系,建立起3D图形的骨架。
然后进行光栅化计算。
显示器实际显示的图像是由像素组成的。
将前面生成的图像通过一定的算法转换到相应的像素点上。
然后是纹理映射。
调整光影效果。
完全相互独立的并行计算。
GPU并行计算效率很高。
举例:
如果一个GPU有
6个图形处理集群,共28个流式多处理器。
每个流式多处理器由128个核心组成。
那么其共3584个核心(可以并行计算)。
GPU是如何工作的?Shader图形编程入门_哔哩哔哩_bilibili
解决实时渲染三维图像的问题(以很快的速度生成图像)
可以对高清视频快速解码
通用的并行计算编程:
CUDA,OpenCL,OpenACC
图形编程:
任何图形在计算机中都可以由许多三角形构成。
显卡:
对三角形进行坐标变换
(根据我们观察的位置,重新计算出每一个顶点的新坐标)
对每个像素点绘制并上色
OpenGL,DirectX,Vulkan
可以直接对显卡下达指令
中间经过显卡的驱动程序(将你下达的指令翻译成显卡硬件能直接运行的机器码)
每个显卡厂商生产的硬件都大不相同
Shader:阴影,光照,根据预先设定好的场景模型,给屏幕上每一个像素点上色。
编程语言:
GLSL(OpenGL相关)
HLSL(DirectX相关)(Cg/HLSL)
Opengl与unity3d:
(14 封私信 / 80 条消息) opengl和unity3d的区别? - 知乎 (zhihu.com)
Unity会用到OpenGL来绘制它要绘制的2D,3D图形。
如果希望从事图形,科研相关工作:
Unity封装的比较高层,很多渲染流程不是那么透明,不利于深入。