news 2026/6/10 17:30:59

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机图形学·25 消隐2 区域子分算法-光线投射算法

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

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 21:29:21

分布式任务追踪与链路监控实战指南:从问题诊断到性能优化

分布式任务追踪与链路监控实战指南:从问题诊断到性能优化 【免费下载链接】shardingsphere-elasticjob 项目地址: https://gitcode.com/gh_mirrors/shar/shardingsphere-elasticjob 在现代分布式系统中,分布式任务追踪和链路监控已成为保障系统可…

作者头像 李华
网站建设 2026/6/10 0:53:06

mlr3机器学习终极指南:从零开始的完整教程

mlr3机器学习终极指南:从零开始的完整教程 【免费下载链接】mlr3 mlr3: Machine Learning in R - next generation 项目地址: https://gitcode.com/gh_mirrors/ml/mlr3 欢迎来到mlr3机器学习的精彩世界!🚀 作为mlr项目的下一代继承者&…

作者头像 李华
网站建设 2026/6/10 15:52:52

软件缺少SpltrBar.ocx文件无法启动问题 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/6/10 13:56:50

Windows系统文件sqlwid.dll缺少损坏问题 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/6/9 23:21:16

美国亚马逊FCC证书所需资料有哪些?

美国亚马逊 FCC 合规提交的核心是区分产品类型,无线发射类(如蓝牙 / Wi‑Fi 设备)需 FCC ID 测试报告,普通电子类(如电源适配器)需 SDoC 测试报告,两者所需资料各有侧重,以下是完整…

作者头像 李华
网站建设 2026/6/10 17:06:40

crypto-js 4.2.0 终极指南:自定义 KDF 哈希器完整教程

crypto-js 4.2.0 终极指南:自定义 KDF 哈希器完整教程 【免费下载链接】crypto-js 项目地址: https://gitcode.com/gh_mirrors/cry/crypto-js 你是否曾为固定密钥派生算法而苦恼?是否需要在不同安全场景下灵活调整哈希策略?crypto-js…

作者头像 李华