首页 > 其他分享 >四、Unity中颜色空间

四、Unity中颜色空间

时间:2023-08-07 12:35:51浏览次数:41  
标签:贴图 采样 颜色 硬件 线性 Unity sRGB 空间


Unity中的设置

通过点击菜单Edit->Project Settings->Player页签->Other Settings下的Rendering部分进行修改,参数Color Space可以选择Gamma或Linear。

四、Unity中颜色空间_unity

  • 当选择Gamma Space时,Unity不会做任何处理。
  • 当选择Linear Space时,引擎的渲染流程在线性空间计算,理想情况下项目使用线性空间的贴图颜色,不需要勾选sRGB,如果勾选了sRGB的贴图,会通过硬件特性采样时进行线性转换。

硬件支持

 

线性空间需要图形API的硬件支持,目前支持的平台

  • Windows,Mac OS x 和Linux(Standalone)
  • Xbox One
  • PS 4
  • Android (OpenGL ES 3.0)
  • iOS(Metal)
  • WebGL

硬件特性支持

主要由两个硬件特性来支持:

  • sRGB Frame Buffer
  • 将Shader的计算结果输出到显示器前左gamma校正
  • 作为纹理被读取时会自动把存储的颜色从sRGB空间转换到线性空间
  • 调用ReadPixels()、readBackImage()时,会直接返回sRGB空间下的颜色
  • sRGB Frame Buffer只支持每通道8bit的格式,不支持浮点格式
  • HDR开启后会先把渲染结果绘制到浮点格式的FB中,最后绘制到sRGB FB上输出
  • sRGB Sampler
  • 将sRGB的贴图进行线性采样的转换

使用硬件特性完成sRGB贴图的线性采样和shader计算结果的gamma校正,比起在shader里对贴图采样和计算结果的校正要快。

 

标签:贴图,采样,颜色,硬件,线性,Unity,sRGB,空间
From: https://blog.51cto.com/u_136836/6992463

相关文章

  • 《VTK图形图像开发进阶》第2章——坐标系统及空间变换
    2.1坐标系统计算机图形学里常用的坐标系统主要有4种,分别是Model坐标系统、World坐标系统、View坐标系统和Display坐标系统,此外还有两种表示坐标点的方式:以屏幕像素值为单位和归一化坐标值(各坐标轴取值范围为[-1,1])。它们之间的关系如下图。Model坐标系统:定义模型时所采用的......
  • Unity用CPU上下翻转Texture2D的最优解
    将Texture2D上下翻转效率的进化史以下数据都是基于8000x4000全景图进行对比的1、最简单也是最先想到的,直接根据索引塞到另一个数组里,耗时:0.3061805秒staticColor32[]FlipColors(Color32[]originalColors,intwidth,intheight){Color32[]......
  • Unity的IUnityLinkerProcessor:深入解析与实用案例
    UnityIUnityLinkerProcessorUnityIUnityLinkerProcessor是Unity引擎中的一个接口,它允许开发者在Unity项目构建时对代码进行链接处理。这个接口可以用来优化项目构建大小,减少不必要的代码和资源,提高项目的性能和加载速度。接口定义IUnityLinkerProcessor接口定义如下:namespac......
  • [Unity]URP HLSL Shader自用模板
    Shader"URP/falushan"{Properties//着色器的输入{_BaseMap("Texture",2D)="white"{}}SubShader{Tags{"RenderType"="Opaque""RenderPipeL......
  • Unity___设计模式总结
    模板模式子类可以继承父类的方法单例模式饿汉式游戏一开始就加载privatestaticTinstance=newT();懒汉式策略模式可以参考Sort()函数或者说回调函数在使用sort()函数时,当系统无法自动排序时需要传递一个比较类或者比较函数给方法;观察者模式(事件中心)事件源(......
  • 性能提升-空间二叉查找树
    性能提升-空间二叉查找树[email protected]. OpenCASCADEprovidesNCollection_UBTreetoachievehighperformancesearchoverlappedboxes.Thealgorithmofunbalancedbinarytreeofoverlappedboundingboxes.Oncethetreeofboxes ofgeometricobjects......
  • 开始学习unity
        作为一个在程序行业混了十几年的老兵,现在才接触unity,确实是有点无奈,但这次,我是整装待发,不仅是要学习unity,更是要学习unrealengine,不仅是学习上层的功能开发技术,更是要深入底层,去学习它的渲染,及最核心的技术,同时,也仅限于技术,不再追求太多的过程,就像考试一样,而不像上班......
  • 查看unity与Aanroid Studio中Gradle版本
    Unity:Unity使用的Gradle版本:复制红框中的链接打开版本为:6.1.1Unity使用的Gradle插件版本:路径:E:\Unity2021.3.4f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates记事本打开baseProjectTemplate.gradle版本为:4.0.1AanroidStudio: ......
  • Unity 编辑器选择器工具类Selection 常用函数和用法
    Unity编辑器选择器工具类Selection常用函数和用法点击封面跳转下载页面简介在Unity中,Selection类是一个非常有用的工具类,它提供了许多函数和属性,用于操作和管理编辑器中的选择对象。本文将介绍Selection类的常用函数和用法,并提供相应的示例代码。静态属性1.activeConte......
  • [论文阅读] 颜色迁移-Illuminant Aware Gamut-Based
    [论文阅读]颜色迁移-IlluminantAwareGamut-Based文章:[IlluminantAwareGamut-BasedColorTransfer],[python代码]本文目的是提出一种新的颜色迁移算法,可以感知光源变化的全色域颜色迁移方法.1-算法原理图像是由摄像机对光谱场景内容和场景照度的敏感性所产生的综合......