图形学 -- Rasterization栅格化

news2024/11/6 7:26:50

参考视频:Lecture 05 Rasterization 1 (Triangles)_哔哩哔哩_bilibili

视锥:

定义一个垂直角度,定义宽高比

投到[-1,1]^3之后要呈现到屏幕上

屏幕

屏幕(一个二位数组)

屏幕是个典型的光栅成像设备

定义屏幕空间

映射立方体

成像设备

液晶LCD(Liquid Crystal Display) Pixel

发光二极管 LED 

 Electrophoretic

光栅(三角)

优点

方法

采样 Sampling

把一个函数离散化

采样:判断一个像素中心是否再三角形内

考虑某个点是否在三角形内:

向量同一方向叉积,如果点在三条边的同侧,则在该三角形内

如果在边界:要么不做处理,要么特殊处理(opengl上/左算)

加速

Sampling theory 采样理论

 Frequency Domain 频域

傅里叶变换

给定一个函数都可以经过一个超级复杂的操作变成另外一个函数

滤波Filtering

把特定频率的给删掉

亮的地方是低频信号,暗的地方是高频信号

去掉低频信号,也叫高通滤波的结果↓

只留下低频信息↓

现在更多的图像操作都是通过机器学习进行的,,,我是说怎么滤波结果怎么这么像卷积结果可视化!听到后面还真是hhh这下亲切起来了

卷积

Box Filter,也可理解为卷积核

越大的卷积核就越模糊

综上所述,采样就是重复原始信号频谱(Frequency Contents)的内容

左边是实域,右边是频域

实域上的乘积,等于频域上的卷积

其中c是冲击函数,指只在某一位置有值

b卷积d得到f 

因此,如果采样不够快就会出现↓

Artifacts 不准确,如锯齿,摩尔纹,车轮效应,走样

信号变换太快了采样跟不上

解决方式

2. 提高采样率

3. 反走样Antialiasing

先把高频信息拿掉(模糊操作)再采样,这样就不会发生混叠了

Blurring(Pre-Filtering) 采样前模糊

注意是采样前!采样前!

实际操作

近似方法  MSAA

用更多采样点进行反走样

模糊

缺点:

增大计算量

除了MSAA外,

还有FXAA(Fast approximate AA)

得到有锯齿的图之后通过边界给锯齿找到 ,把边界换成没有锯齿的边界,和采样无关

TAA(Temporal AA)

用两张图中不同位置的像素点,复用上一帧感知到的结果

超分辨率Super resolution/Sampling

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【每日一练】勾股定理困难版

目录 题目官方给的解题思路源代码附最大公因数辗转相除法更相减损术 所有因数参考文献 题目 给定斜边z的值&#xff0c;求所有直角边x和y的组合数&#xff08;x、y和z都是正整数&#xff09;。 仅有一行输入&#xff0c;即斜边z的值&#xff08;z是正整数&#xff0c;且z<1…

23种经典设计模式:单例模式篇(C++)

前言&#xff1a; 博主将从此篇单例模式开始逐一分享23种经典设计模式&#xff0c;并结合C为大家展示实际应用。内容将持续更新&#xff0c;希望大家持续关注与支持。 什么是单例模式&#xff1f; 单例模式是设计模式的一种&#xff08;属于创建型模式 (Creational Pa…

将本地代码提交到git新仓库

建仓 首先需要新建一个仓库&#xff0c;注意一定要是空仓库&#xff0c;不要选任何初始化 在代码所在目录右击&#xff0c;进入Git Bash Here 初始化git仓库 git init将文件添加进库 git add .进行提交&#xff0c;-m 后面引号中的内容是本次提交内容&#xff0c;自行填写…

STM32F103 最小系统 PCB 设计与原理

这篇文章是来自我学习&#xff1a; ​​​​​​带着你从手册开始画板 STM最小系统板教程系列(一)_哔哩哔哩_bilibili​​​​​​ 这套教程的笔记&#xff0c;同时本文中也参考了其他教程以及我遇到的困惑与自答&#xff0c;最终汇总。 一、单片机最小系统 单片机最小系统是由…

Centos7中安装Jenkins教程

1.必须先配置jdk环境&#xff0c;安装jdk参考 Linux配置jdk 2.先卸载Jenkins # rpm卸载 rpm -e jenkins # 检查是否卸载成功 rpm -ql jenkins # 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf 3.安装Jenkins 在 /usr/ 目录下创建 jenkins文件夹 mkdir -p je…

Fastadmin 子级菜单展开合并,分类父级归纳

这里踩过一个坑&#xff0c;fastadmin默认的展开合并预定义处理的变量是pid。 所以建表时父级id需要是pid&#xff1b; 当然不是pid也没关系&#xff0c;这里以cat_id为例&#xff0c;多加一步处理一样能实现。 废话少说上代码&#xff1a; 首先在控制器&#xff0c; 引用…

使用HbuilderX运行uniapp中小程序项目

下载HbuilderX&#xff0c;下载链接&#xff1a; HBuilderX-高效极客技巧 导入相关项目。下载微信开发者工具。使用微信开发者工具打开&#xff1a;注意&#xff1a;如果是第一次使用&#xff0c;需要先配置小程序ide的相关路径&#xff0c;才能运行成功。如下图&#xff0c;需…

国产开源无头CMS,MyCms v4.7 快捷生成接口开发后台

MyCms 是一款基于 Laravel 开发的开源免费的开源多语言商城 CMS 企业建站系统。 MyCms 基于 Apache2.0 开源协议发布&#xff0c;免费且可商业使用&#xff0c;欢迎持续关注我们。技术交流 QQ 群&#xff1a;887522124 加群请备注来源&#xff1a;如gitee、github、官网等 v4…

什么是智能档案柜?如何使用智能档案柜?

智能档案柜是一种具有智能化功能的文件存储设备&#xff0c;它通过应用现代科技&#xff0c;集成了电子锁、自动化控制、智能管理系统技术&#xff0c;具有自动识别、高效存储、安全可靠等特点&#xff0c;提高档案管理的效率和安全性。适用于企业单位、图书馆等需要储存文件资…

(自学)黑客技术方法——网络安全篇

如果你想自学网络安全&#xff0c;首先你必须了解什么是网络安全&#xff01;&#xff0c;什么是黑客&#xff01;&#xff01; 1.无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面性&#xff0c;例如 Web 安全技术&#xff0c;既有 Web 渗透2.也有 Web 防…

JRebel在IDEA中实现热部署 (JRebel实用版)

JRebel简介&#xff1a; JRebel是与应用程序服务器集成的JVM Java代理&#xff0c;可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中&#xff0c;JRebel特别不依赖任何IDE或开发工具&#xff08;除编译器外&#xff09;。但是&…

Pyside6 QRadioButton

Pyside6 QRadioBox QRadioButton使用QRadioButton分组QRadioButton设置文本代码设置界面设置 QRadioButton禁用和启用代码设置界面设置 QRadioButton设置默认值代码设置界面设置 读取QRadioButton状态QRadioButton样式设计代码设置界面设置 完整程序界面程序主程序 QRadioButto…

语音芯片基础知识 什么是语音芯 他有什么作用 发展趋势是什么

目录 一、语音芯片的简介 常见的语音芯片有哪些&#xff1f; 语音芯片的种类有很多&#xff0c;大体区分下来也就4个类别而已&#xff1a; 选型的经验说明如下&#xff1a; 推荐使用flash型语音芯片 一、语音芯片的简介 语音芯片基础知识&#xff1a; 什么是语音芯片&…

计算机竞赛 题目:基于深度学习的手势识别实现

文章目录 1 前言2 项目背景3 任务描述4 环境搭配5 项目实现5.1 准备数据5.2 构建网络5.3 开始训练5.4 模型评估 6 识别效果7 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的手势识别实现 该项目较为新颖&#xff0c;适合作为竞赛课题…

$attrs 和 $listeners (vue2vue3)

目录 透传 Attributes Attributes 继承​ 对 class 和 style 的合并 v-on 监听器继承 深层组件继承 禁用 Attributes 继承 多根节点的 Attributes 继承 vue2 $attrs 和 $listeners $attrs 概念说明 $attrs 案例 $listeners 概念说明 $listeners案例 vue3 $attr…

大数据学习(1)-Hadoop

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博>主哦&#x…

Agilent安捷伦3458A八位半万用表

Agilent 3458A突破了生产测试&#xff0c;科研与开发及校准实验室在速度与精度上长时期的性能 壁垒&#xff0c;是惠普公司提供的快速&#xff0c;灵活且精确的多用表。在你的系统中或工作台上&#xff0c; 3458A以空前的测试系统吞吐量和精度、七种功能的测量灵活性&#xff0…

Ubuntu 18.04 OpenCV3.4.5 + OpenCV3.4.5 Contrib 编译

目录 1 依赖安装 2 下载opencv3.4.5及opencv3.4.5 contrib版本 3 编译opencv3.4.5 opencv3.4.5_contrib及遇到的问题 1 依赖安装 首先安装编译工具CMake&#xff0c;命令安装即可&#xff1a; sudo apt install cmake 安装Eigen&#xff1a; sudo apt-get install libeigen3-…

解决Mysql8.0不存在mysql.proc表

摘自MySQL8.0官方文档&#xff1a; The parameters and routines data dictionary tables together supersede the proc table from before MySQL 8.0. 大概意思说&#xff0c;在mysql database中parameters表和routines数据字典表一起取代了MySQL 8.0之前的proc表。 MySQL 8.0…