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

Unity中URP下逐顶点光照

文章目录

  • 前言
  • 一、之前额外灯逐像素光照的数据准备好后,还有最后的处理
  • 二、额外灯的逐顶点光照
    • 1、逐顶点额外灯的光照颜色
    • 2、inputData.vertexLighting
    • 3、surfaceData.albedo


前言

在上篇文章中,我们分析了Unity中URP下额外灯,逐像素光照中聚光灯的角度衰减。

  • Unity中URP下额外灯角度衰减

在这篇文章中,我们来分析一下URP下的逐顶点光照。
在这里插入图片描述


一、之前额外灯逐像素光照的数据准备好后,还有最后的处理

在这里插入图片描述

  • 在CalculateBlinnPhong中把额外灯颜色、距离衰减、阴影衰减相加了
    在这里插入图片描述
  • 然后,再和Lambert漫反射光,进行相加混合

二、额外灯的逐顶点光照

  • lightingData.vertexLightingColor += inputData.vertexLighting * surfaceData.albedo;
    在这里插入图片描述

1、逐顶点额外灯的光照颜色

  • lightingData.vertexLightingColor

2、inputData.vertexLighting

  • 我们来看一下该变量存储的是什么

  • input.fogFactorAndVertexLight.yzw
    在这里插入图片描述

  • 在顶点着色器中,我们在fogFactorAndVertexLight.yzw中存入了 VertexLighting计算好的逐顶点光计算结果
    在这里插入图片描述

  • VertexLighting

  • 计算的大概内容和逐像素的差不多

  • 先获取逐顶点灯总数,再去计算逐顶点灯相关数据

  • 最后,让逐顶点灯颜色 和 距离衰减相乘即可
    在这里插入图片描述

3、surfaceData.albedo

  • 在片元着色器中,初始化surfaceData时,计算好的反射率
    在这里插入图片描述
http://www.lryc.cn/news/288839.html

相关文章:

  • Spring Boot3整合Druid(监控功能)
  • 使用Gin框架,快速开发高效的Go Web应用程序
  • 【Unity】【游戏开发】Pico打包后项目出现运行时错误如何Debug
  • 一种解决常用存储设备无法被电脑识别的方法
  • Spark运行架构以及容错机制
  • 短剧APP小程序源码 全开源短视频系统源码/h5/app/小视频系统
  • 深度学习中图像分类、目标检测、语义分割、实例分割哪个难度大,哪个检测精度容易实现,哪个速度低。请按照难度、精度容易实现程度、速度排名。
  • 【AI视野·今日NLP 自然语言处理论文速览 第七十五期】Thu, 11 Jan 2024
  • 数据结构:搜索二叉树 | 红黑树 | 验证是否为红黑树
  • 数据结构顺序表
  • 手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂
  • 源 “MySQL 5.7 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
  • springboot核心有几层架构
  • css3表格练习
  • 项目实战——Qt实现FFmpeg音视频转码器
  • AI数字人-数字人视频创作数字人直播效果媲美真人
  • 初识C语言·动态内存开辟
  • 机器学习 | 利用Pandas进入高级数据分析领域
  • 三、计算机理论-计算机网络-物理层,数据通信的理论基础,物理传输媒体、编码与传输技术及传输系统
  • ERROR Failed to get response from https://registry.npm.taobao.org/ 错误的解决
  • overflow产生的滚动条样式设置
  • Ubuntu环境vscode配置Log4cplus库
  • vue中,使用file-saver导出文件,下载Excel文件、下载图片、下载文本
  • 【VUE】v-if 和 v-show 大详解(多角度分析+面试简答版)
  • mac intel jdk安装与配置
  • Backtrader 文档学习-Bracket Orders
  • Python编程 从入门到实践(项目二:数据可视化)
  • Linux版本下载Centos操作
  • Offer必备算法_二分查找_八道力扣OJ题详解(由易到难)
  • SpringBoot对Bean的管理