欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 图形渲染中的定点数和浮点数

图形渲染中的定点数和浮点数

2025/12/10 13:17:46 来源:https://blog.csdn.net/dizuo/article/details/145421227  浏览:    关键词:图形渲染中的定点数和浮点数

三种API的NDC区别

NDC全称,Normalized Device Coordinates
Metal、Vulkan、OpenGL的区别如下:

featureOpenGL NDCMetal NDCVulkan NDC
坐标系右手左手右手
z值范围[-1,1][0,1][0,1]
xy视口范围[-1,1][-1,1][-1,1]

GPU渲染的定点数和浮点数

定点数类型:ARGB8888,RGB565,ARGB2101010,

浮点数:ARGB16161616,ARGB32323232,

加起来都是机器字长,32、64、128
定点数只能保存 【0-1】的范围,不能保存小于0和超过1的数据,超过部分会被直接截断。否则只能用浮点数来承接。

GPU内部计算可以保留精度,比如shder中的计算都是float(high、mid、low),移动端的TBR架构下从 board memory拷贝到tile的memory-on-chip的时候,片上存储和计算一般也是浮点数。只是tile处理完,输出的时候会有精度转化,会损失掉。

FP16格式的FBO,在上一次渲染会话退出的时候,也能保存大于1的情况,

FP buffer的用途

1)HDR渲染中,对图像做headroom倍数提量以后,颜色值会出现大于1的情况,比如提亮5倍,最终渲染目标中可能需要保存5.0的值,此时至少得FP16来存储。
2)色域转化中的大转小的场景,
在这里插入图片描述
P3转sRGB,BT2020转P3或者sRGB 都会出现负数,此时也需要用FP16存储,即scRGB。

不过色域转化必须在线性空间中处理,

  • 非线性域是用来表示光信号(连续的),
  • 线性域用来表示电信号,离散的(比如8bit 或者 10bit表示)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词