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

湛江网站建设方案报价wordpress 调用

湛江网站建设方案报价,wordpress 调用,免费做网站txt外链,wordpress去除下一页由于做全球体积云效果的需要,再来研究下大气散射效果和体积云类似,关于大气散射颜色计算的过程也仅发生在这两个球体之间。如图所示。计算从相机出发的视线与球壳的交点,如果不相交,则该视线方向上不会发生大气散射,直…

由于做全球体积云效果的需要,再来研究下大气散射效果

和体积云类似,关于大气散射颜色计算的过程也仅发生在这两个球体之间。如图所示。

 

 

计算从相机出发的视线与球壳的交点,如果不相交,则该视线方向上不会发生大气散射,直接返回透明色。

// 检查与大气外层球体的相交vec2 atmo_intersect = raySphereIntersect(start, dir, dynamic_atmo_radius);vec2 planet_intersect = raySphereIntersect(start, dir, planet_radius);// 如果不相交大气层,直接返回
if (atmo_intersect.x < 0.0) return scene_color;

 这段代码是大气散射物理模型的核心部分,用于模拟光线在大气中的散射行为。

学术解释:真实物理现象的数学建模,不是简单的视觉效果,而是基于光学理论的准确模拟。

简单来说:

  • 瑞利散射:让天空变蓝
  • 米氏散射:让太阳周围发光
  • mu:决定你看向太阳的角度对散射强度的影响
// 散射计算float mu = dot(dir, light_dir);// 瑞利散射相函数float phase_ray = 0.75 * (1.0 + mu * mu);// 米氏散射相函数 (简化)float phase_mie = 1.5 * ((1.0 - 0.9 * 0.9) / (2.0 + 0.9 * 0.9)) * (1.0 + mu * mu) / pow(1.0 + 0.9 * 0.9 - 2.0 * 0.9 * mu, 1.5);

 最重要的一步 就是光线步进

   for (int i = 0; i < MARCH_STEPS; i++) {// 当前采样点位置float t = ray_start + (float(i) + 0.5) * step_size;vec3 sample_pos = start + dir * t;// 计算当前高度和大气密度float height = length(sample_pos) - planet_radius;float density_ray = exp(-height / 8000.0);  // 瑞利散射标度高度:8kmfloat density_mie = exp(-height / 1200.0);  // 米氏散射标度高度:1.2km// 计算光学深度(光线衰减)float optical_depth_step = (density_ray + density_mie) * step_size;total_optical_depth += optical_depth_step;// 计算透射率(光线在大气中的衰减)float transmittance = exp(-total_optical_depth * 0.00001); // 衰减系数// 🌟 太阳光到当前点的衰减(次级光线步进 - 简化版)float sun_optical_depth = 0.0;vec2 sun_intersect = raySphereIntersect(sample_pos, light_dir, dynamic_atmo_radius);if (sun_intersect.y > 0.0) {float sun_ray_length = sun_intersect.y;// 简化的太阳光衰减计算float avg_height = height + sun_ray_length * 0.5 * light_dir.y;sun_optical_depth = exp(-avg_height / 8000.0) * sun_ray_length;}float sun_transmittance = exp(-sun_optical_depth * 0.00001);// 计算当前步的散射贡献vec3 step_ray_scattering = beta_ray * density_ray * phase_ray * transmittance * sun_transmittance * step_size;vec3 step_mie_scattering = beta_mie * density_mie * phase_mie * transmittance * sun_transmittance * step_size;// 累积散射total_ray_scattering += step_ray_scattering;total_mie_scattering += step_mie_scattering;}

 最终效果如图所示 左侧为没有处理的,ceisum自带的大气效果,右侧为添加散射的效果

其实只看图片的话,可能大部分人会觉得太阳都看不清楚有什么必要加,但这个散射在体积云中效果就很明显了,场景也明细更加贴近显示大气效果。

todo:将大气和全球体积云效果融合

http://www.dtcms.com/a/463014.html

相关文章:

  • 公司简介网站模板天津专业做网站
  • Unity中MonoBehavior类中的延迟函数Invoke详解(含案例)
  • app软件下载网站源码无锡企业网站
  • 公司注册网站建设延庆免费网站建设
  • 网站的新闻模块怎么做石家庄语音网站建设公司
  • AIGC入门,手搓大模型客户端与MCP交互第2集
  • 世纪城网站建设电子商务是干什么的专业
  • 网站开发绩效考核唐山市建设局网站
  • 32位汇编:实验7Win32汇编程序的编程环境
  • 怎么做海淘网站阿里巴巴外贸圈app
  • 如何建设一个电商网站久久建筑网官网登录
  • 深圳市罗湖区网站建设搜索引擎seo优化平台
  • 京东商品详情深度解析:从接口调用到商业价值挖掘的技术实现
  • dede网站seo生产企业网站有哪些
  • 行业网站开发公司有哪些免费做外贸网站
  • 怎么使用dw做一个网站阿里巴巴建设网站
  • 南通网站定制企业互联网网站名字
  • 太仓网站建设有限公司火车头 wordpress4.9
  • 基于51单片机的超声波智能避障小车
  • 郑州网站建设网站建设小型培训机构网站开发毕业设计
  • 网站设计方案范文怎么做交易猫假网站
  • Altium Designer6转嘉立创 gerber文件
  • 饰品网站模板网站建设 中企动力中山
  • 葫芦岛网站建设找思路小程序怎么做出来的
  • 五通桥移动网站建设网站免费网站免费片黄入口蜜桃观看射破屁屁
  • 欧美网站建设排名大全网格建设专业好不好
  • 自己制作遥感深度学习数据集进行遥感深度学习地物分类-试读
  • 网站模板psd素材python安装wordpress
  • 河南南阳油田网站建设网站权重到底是什么
  • 医疗级节能革命:医院冷热源全链路改造与 AI 深度赋能实践