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

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

三种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表示)
http://www.dtcms.com/a/111385.html

相关文章:

  • 智慧放羊如何实现?
  • Python设计模式:克隆模式
  • 音视频入门基础:RTP专题(21)——使用Wireshark分析海康网络摄像机RTSP的RTP流
  • LeetCode 1123.最深叶节点的最近公共祖先 题解
  • Runnable组件动态添加默认调用参数
  • 基于SpringBoot框架发生验证码
  • 【Docker项目实战】使用Docker部署MediaCMS内容管理系统
  • 脑影像分析软件推荐 | BCT(Brain Connectivity Toolbox)
  • c语言修炼秘籍 - - 禁(进)忌(阶)秘(技)术(巧)【第四式】自定义类型详解(结构体、枚举、联合)
  • Windows 11 听的见人声,但是听不见背景音乐或者听不见轻音乐等,可以这样设置
  • 【橘子大模型】Runnable和Chain以及串行和并行
  • STM32 HAL库 CANFD配置工具
  • 小程序API —— 58 自定义组件 - 创建 - 注册 - 使用组件
  • CExercise_04_1运算符_6 (扩展) 找出数组中只出现一次的唯二元素
  • 社会视频汇聚:构筑城市安全防线的智慧之眼
  • VirtualBox 配置双网卡(NAT + 桥接)详细步骤
  • 《微服务概念进阶》精简版
  • 新浪财经股票每天10点自动爬取
  • 免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
  • Springboot + Vue + WebSocket + Notification实现消息推送功能
  • 接口自动化学习四:全量字段校验
  • L1-100 四项全能(测试点1)
  • 计算机网络知识点汇总与复习——(三)数据链路层
  • 在VMware下Hadoop分布式集群环境的配置--基于Yarn模式的一个Master节点、两个Slaver(Worker)节点的配置
  • Leetcode 33 -- 二分查找 | 归约思想
  • 【YOLO系列(V5-V12)通用数据集-交通红黄绿灯检测数据集】
  • SpringBoot集成swagger和jwt
  • Flask学习笔记 - 模板渲染
  • 深入探究 Hive 中的 MAP 类型:特点、创建与应用
  • 【Linux系统编程】进程概念,进程状态