游戏引擎中顶点着色&像素着色

一.GPU渲染管线

GPU在接收到游戏端提交的Mesh,Shader数据后,渲染管线开始工作,将数据进行处理投射为2D屏幕中光栅图像.

GPU硬件中着色单元有两类,分别为顶点着色器和像素着色器.

二.顶点着色器

完成Mesh网格中顶点(3D)到屏幕(2D)计算

vertex_fvf(灵活顶点格式) = 3D坐标 + 法向 + UV + 颜色(布料,摇曳等特殊效果) + 自定义

复制代码
struct Vetex_Fvf
{
   float x, y, z; //3D坐标数据
   float n_x, n_y, n_z; //坐标法向数据
   int r, g, b, a; //顶点颜色数据 R, G, B, A四种颜色通道
   float u, v //为像素着色器设计,可映射至2D纹理图片
   int flag; //自定义数据
}

三.像素着色器

完成2D屏幕中顶点映射坐标转化为像素颜色的计算

material = 漫反射纹理 + 法向纹理 + 高光纹理 + 自定义参数

相关推荐
爱搞虚幻的阿恺4 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.4 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
weixin_424294674 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames4 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
wy3258643644 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
星和月4 天前
Untiy使用说明
c#·游戏引擎
小菱形_4 天前
【Unity】TimeLine
unity·游戏引擎
weixin_424294675 天前
Unity 使用Steamworks.NET
unity·游戏引擎
ellis19705 天前
Unity资源管理框架Addressables总结
unity·游戏引擎
郭逍遥5 天前
[Godot] 通过AABB包围盒和射线法检测碰撞
算法·游戏引擎·godot