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

【Unity】RayMarching体积云理论学习

RayMarching 体积云

  1. RayMarching 是一种处理体积物体的方法
  2. RayMarching 体积云的制作是基于屏幕后处理

  1. 屏幕空间重建世界坐标
    • 目的是把屏幕坐标的每一个像素点转化成Unity世界坐标,可以得到射线的方向

  1. 如何在需要渲染的物体或者场景中使用RayMarching?

  1. 噪声采样

4,步进
简而言之就是在接触点不断往前,采样密度叠加,直到脱离包围盒或者超出最大步长距离
float  sumDensity  = 0;for (int j = 0; j <32; j++){if (_dstTravelled < dstLimit){rayPos = entryPoint + (worldViewDir * _dstTravelled);sumDensity += pow(sampleDensity(rayPos),5);}_dstTravelled += _rayStep; //向前步进
}
return col + sumDensity ;

5.体积云的光照计算
6.体积云形状控制与动画
  • 可以参考 GPU Pro 7里面的理论

8. 优化方案
  • 分帧渲染
    • 低分辨率上做raymarch计算,然后通过多帧来重建。

参考链接:

RayMarching实时体积云渲染入门(上) - 知乎 (zhihu.com)

A Ray-Box Intersection Algorithm and Efficient Dynamic Voxel Rendering (JCGT)

Ray Marching for Dummies

GPU Pro 7——实时体积云(翻译,附Unity工程)-CSDN博客

Unity 官方

http://www.lryc.cn/news/285832.html

相关文章:

  • 物联网与智慧城市的无界未来:如何打破传统束缚,开启智能生活新篇章
  • nodejs下载安装
  • 从零学Java - Lambda表达式
  • RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流
  • 力扣62. 不同路径
  • 使用Element-Plus 加载style
  • Kafka常见指令及监控程序介绍
  • Docker 仓库管理
  • LeetCode-410.分割数组的最大值
  • Redis和RediSearch的安装及使用
  • 面向对象进阶--接口2
  • 提升认知,推荐15个面向开发者的中文播客
  • 数据分析-Pandas如何整合多张数据表
  • 配置redis挂载
  • C++ 实现游戏(例如MC)键位显示
  • 力扣hot100 合并两个有序链表 递归 双指针
  • 10个常用python自动化脚本
  • C++中函数的默认参数(缺省参数)
  • 在线扒站网PHP源码-在线扒站工具网站源码
  • vue+elementUI el-select 中 没有加clearable出现一个或者多个×清除图标问题
  • 【Python从入门到进阶】47、Scrapy Shell的了解与应用
  • 【ARM 嵌入式 编译系列 2.2 -- GCC 编译参数学习 assembler-with-cpp 使用介绍】
  • 深入理解java对象的内存布局
  • MetaGPT中提到的SOP
  • 第15届蓝桥杯嵌入式省赛准备第三天总结笔记(使用STM32cubeMX创建hal库工程+串口接收发送)
  • centos安装redis,但是启动redis-server /home/redis/conf/redis7000.conf卡住,怎么解决
  • 开发实践6_project
  • HCIP----MGRE实验
  • STM32标准库开发——PWM驱动代码
  • postman导入https证书