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

计算机图形学·25 消隐2 区域子分算法-光线投射算法

本文为记录专业课计算机图形学的部分笔记,参考教材为Angel的第八版交互式计算机图形学——基于WebGL 2.0的自顶向下方法。

1、区域子分算法的由来:①Z缓存器算法,将像素孤立来考虑,未利用相邻像素之间存在的属性的连贯性,即区域的连贯性,所以算法效率不高;②区间扫描线Z缓存器算法仅利用了扫描线的连贯性。实际上,可见多边形至少覆盖了绘图窗内的一块区域,如果能将这类区域找出来,则避免了在每个像素处计算深度值,消隐问题也就解决了。
基本思路:
首先,将场景中的多边形投影到绘图窗口内(假设它为边长为k的正方形)
然后,判断窗口/多边形关系是否足够简单:
若是足够简单,则按简单关系来处理,并且算法结束;
否则将窗口进一步分为四块(左上,右上,左下,右下)。对此四个小窗口重复上述过程,直到窗口仅为一个像素大小。
此时可能有多个多边形覆盖了该像素,计算它们的深度值,以最靠近观察点的颜色显示该像素即可。

何谓“窗口/多边形关系足够简单?”
存在下列情况之一,即可称为窗口/多边形关系足够简单:
①窗口为空,即多边形与窗口的关系是分离的——取背景色,图中(a)
②窗口仅内含一个多边形,或者一个多边形与窗口相交——此时先对多边形投影进行裁剪,再对裁剪结果进行分别上色,图中(b)和(c)
③有一个多边形的投影包围了窗口,并且它是最靠近观察点的——,以该多边形颜色上色,图中(d)

如何判别多边形与窗口的分离与包围关系?可以使用例如编码方法——区域编码:多边形顶点的编码/多边形边的编码/多边形的编码。
2、光线投射算法(Ray casting)基本思路:
①将通过绘图窗口内每一个像素的投影线与场景中的所有多边形求交。
②如果有交点,用深度值z最大 (视点最近/小的) 的交点所属的多边形的颜色显示相应的像素;
③如果没有交点,说明没有多边形的投影覆盖此像素,用背景色显示即可。

http://www.cnnetsun.cn/news/17551.html

相关文章:

  • MinerU升级终极指南:避坑技巧与实战解决方案
  • Archery数据库管理平台:5大核心功能深度解析与实战配置指南
  • 学Python有用吗?
  • Onekey终极指南:3分钟学会Steam游戏清单自动下载
  • 程序员:微软的面试流程探讨
  • 爆款!国产开源公众号AI管家ChatWiki全解析
  • 2、Linux 操作系统基础与 Bash 命令行使用指南
  • 网闸厂家排行:安全隔离技术迭代下的选型指南
  • 单北斗变形监测在水库安全中的应用与维护该如何实施?
  • Win11Debloat:终极Windows系统清理优化完整指南
  • 第一季影响设计可靠性的第一性原理(2)
  • 2025年软件工程/计算机科学与技术专业毕业设计选题推荐
  • NTFSTool:在macOS上实现NTFS磁盘完整读写的终极解决方案
  • Qwen3-Reranker-8B:重新定义文本检索效率与精度边界
  • PingFang SC woff2字体:网页中文排版的终极解决方案
  • ModernWMS开源仓库管理系统终极配置与功能详解
  • MPV播放器macOS硬件解码色彩异常终极修复指南
  • Flink自定义函数实战:从入门到精通的完整开发手册
  • 哔哩哔哩漫画下载器技术指南
  • 目标检测数据集 - 穿着服饰检测数据集下载
  • Windows系统终极清理工具:快速免费释放C盘空间
  • Spring AOP场景3——接口防抖(附带源码)
  • 黑客技术水深!普通人不要随便碰
  • AI建议的C++基础入门顺序
  • 35、使用 Ansible 部署脚本化服务器环境
  • 13、文件操作与命令全解析
  • 第32课 PCB布局的常用操作命令介绍
  • 终极修复指南:彻底解决Atmosphere固件2168-0002启动错误
  • 第一章——办公自动化之Word报告自动生成:解放双手,高效创作
  • 压电材料的d33(纵向压电应变常数)测试流程及影响因素