Game101课程笔记_lecture10_几何

2023-11-17

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1 纹理应用

纹理理解成一块数据,去查询。

1 环境光-环境贴图

纹理用来表示表示环境光
经典模型-经典名字
这个图里的茶壶是ulta teapot
兔子

康奈尔盒子
在这里插入图片描述
在这里插入图片描述
存储环境光,把环境光存储到一个球上。并且把它展开,但是它有扭曲问题。
在这里插入图片描述
在这里插入图片描述
解决办法:
存储到立方体的表面。没有扭曲的问题了
但是需要额外 的计算,描述不同方向的光照关系。
能看到它,一定有光线发射到你的眼睛,它一定有光发出。

在这里插入图片描述在这里插入图片描述

2 凹凸贴图(法线贴图)

存储高度和法线
不把几何形体变复杂的情况下,用纹理来表示相对的高度,也就是法线发生变化,导致着色的明亮对比。
人为的做假的法线,
为了改变任何一个点它的法线。
在这里插入图片描述

1 Bump Mapping

通过改变顶点的相对高度,从而改变了其顶点法线
在这里插入图片描述
计算新的法线方向,
线切线
用凹凸贴图计算切线,然后再计算出法线:
2D:
在这里插入图片描述
3D:
在这里插入图片描述

3 位移贴图

用一个纹理定义任意一个点应该到的高度,这个是真的做个移动。
这个位移贴图的结果要更好,但是需要模型的顶点要足够细。
三角形足够细致要比纹理定义的频率还要高。

在这里插入图片描述

动态的曲面细分,根据需要做曲面的细分,directX有个API就是做这个的

4 三维纹理

三维空间中噪声函数。
在这里插入图片描述

5 环境光遮蔽

计算好的一副纹理,然后将这张纹理贴上。
很大计算可以拿到之前就行计算,可以用纹理来记录之前的信息。
在这里插入图片描述

6 体渲染3D Texture and Volume Rendering

在这里插入图片描述

2 Introduction Geomtry

1 几何的例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
纤维-绳子-毛衣
在这里插入图片描述

在这里插入图片描述
城市的几何多,如何存储
在这里插入图片描述
这个毛发如何表示,非常非常复杂
在这里插入图片描述
细胞和蛋白质,什么时候,如何过渡。
在这里插入图片描述

在这里插入图片描述
几何不是都可以用三角形面来表示的事情

2 几何表示的方法

在这里插入图片描述

1 隐式的表示

用隐式方程表示,给你一个关系,满足这个关系,就是这个几何体上的点。
在这里插入图片描述
知道这个式子的形状很难。

在这里插入图片描述
判断一个点是否在这个面上是非常简单的事情。
在这里插入图片描述

2 显式的表示

直接把所有的点或者通过参数映射的表示
马鞍面是大家非常喜欢的几何体

在这里插入图片描述

在这里插入图片描述
测试一个点在不在几何体内比较难。
在这里插入图片描述

有一些问题适合显示,有一些适合隐式
几何太难了!
在这里插入图片描述

3 隐式表示的几个方法

在这里插入图片描述

1 代数曲面

几何隐式 的表示方法通过代数的形式。但是一些简单的形体也需要特别复杂的代数来表示。
在这里插入图片描述
在这里插入图片描述

2 基本几何图的布尔运算

通过一般几何体布尔运算来得到!

在这里插入图片描述

3 距离函数:(不懂)

表示能力非常强,有很多有用的地方
对几何的距离函数做融合。
在这里插入图片描述
SDF-有向距离函数
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4 水平集方法

在这里插入图片描述
人体密度纹理。
在这里插入图片描述
水滴和水滴融合到一块。
在这里插入图片描述

6 分形

自相似
递归
应用不是很多,这种对于后面会有渲染走样的问题。
在这里插入图片描述
在这里插入图片描述

2 显式表示方法的代表方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Game101课程笔记_lecture10_几何 的相关文章

  • MFC计算机图形学(1)

    这学期上了计算机图形学 xff0c 用MFC来绘制简单的图形 下面就简单介绍一下用cv 43 43 来绘制图形 VC 43 43 安装 VC 43 43 我基本不用的 xff0c 平时写C C 43 43 的代码都用Code Blocks
  • MFC计算机图形学(2)

    这里呢 xff0c 先把上一讲的联系讲一下 一般人都用是一个一个的去画 xff0c 但是那样好麻烦 xff0c 计算机的有点就是容易处理重复的事情 xff0c 那就定义成一个画正方形函数吧 xff0c 每次调用就可以了 怎么自定义函数呢 x
  • 无法解析的外部符号__imp__AlphaBlend@44

    使用Win32 API函数AlphaBlend编译时出现一个错误 无法解析的外部符号 imp AlphaBlend 44 解决办法是在使用得地方包含Msimg32 lib 具体是在文件头部添加代码 pragma comment lib Ms
  • GDI和GDI+的应用场合思考

    GDI是微软公司的著名的二维图形引擎 GDI 则是微软公司为了提高显示效果而推出的一种新型图形引擎 下面我就我的一些使用经验阐述二者适用的应用场合 GDI基本能满足一般的绘图要求 我觉得GDI最令人诟病的是它画出来的线显示的锯齿实在比较厉害
  • OPENGL学习(一)认识OPENGL和各种库

    认识OPENGL和各种库 opengl 本身是一种标准 告诉你如何一个图形库需要哪些函数 真正这些函数是不同显卡厂商提供的 glu The OpenGL Utility Library OPENGL实用库 就是对OPENGL的更高级的封装
  • 计算机图形学 期末复习 微课版 孔令德 七、建模与消隐 期末复习

    计算机中三维物体的表示有线框模型 表面模型和实体模型3种方法 模型的数据结构 三表结构 立方体的点表 顶点 x坐标 y坐标 z坐标 P0 X0 1 Y0 0 Z0 0 P1 X1 1 Y1 0 Z1 0 P2 X2 1 Y2 1 Z2 0
  • 计算机图形学基础:双向反射分布函数 BRDF

    文章目录 光照 照明 Illumination 预备知识 球面坐标 Spherical Coordinate 立体角 Solid Angle 投影面积 Foreshortened Area 光能 Radiant Energy 光通量 Rad
  • C++ 实现两线段是否相交、相交情况、若相交求出交点坐标

    前段时间做计算机图形学的东西 现在闲下来 对代码稍作整理 都是些实用的函数 判断是否相交 X1 Y1 X2 Y2 前线 X3 Y3 X4 Y4 后线 x y 交点坐标 相交在前线上return 1 后线return 2 交于外面return
  • leaflet常用插件库

    1 常用地图切换加载 osm google baidu gaode tianditu etc https github com htoooth Leaflet ChineseTmsProviders 2 切片地图加载 wmts 支持矢量切片
  • 【光线追踪】 流程分析与实现的路径跟踪渲染器

    前言 搞光追是图形学的浪漫 先放张目前渲染图 分析了部分代码框架 后续补上完整 效果 左边黄色球是Blinn Phong进行着色 右边是Cook Torrance模型着色 BVH 1024x1024 200spp 2x2MSAA VS Om
  • C#软件开发实例.私人订制自己的屏幕截图工具(五)针对拖拽时闪烁卡顿现象的优化

    本实例全部文章目录 一 功能概览 二 创建项目 注册热键 显示截图主窗口 三 托盘图标及菜单的实现 四 基本截图功能实现 五 针对拖拽时闪烁卡顿现象的优化 六 添加配置管理功能 七 添加放大镜的功能 八 添加键盘操作截图的功能 九 使用自定
  • Modern OpenGL---09 纹理(纹理单元可贴多个纹理)

    对之前画的矩形基础上贴上纹理 在片段着色器中 声明一个采样器 表示纹理位置 每个纹理位置叫做纹理单元 比如 0 1等 当只有一个纹理事时 纹理单元默认为0 当有一个以上的纹理时 则需要通过uniform从外部设置每个纹理单元的值 需要注意的
  • 3D茶壶绘制_2021秋季《计算机图形学》_基于《计算机图形学(第四版)》D.H.&M.P.B.&W.R.C.

    一 实验目的 绘制3D茶壶 形状为传统的紫砂茶壶 用光照模型着色 用键盘实现旋转 二 实验环境 Visual Studio 2019 Windows 10 三 算法分析与设计 四 实验结果 旋转 五 附录 include
  • 关于欧拉角的问题

    一 简单介绍 自己主要做一个知识记录 想着学了还是要写点东西的 首先我们可以把欧拉角看成是描述方位的一种方法 我们可以用欧拉角来表示旋转 也可以用四元数 以及用矩阵来表示旋转 欧拉角是一种常用的描述方位的方法 在这里简单的介绍下方向和方位的
  • 中点分割裁剪算法

    中点分割裁剪算法 python 实验目的 采用中点分割方法找到距离线段顶点最近的可见点 找到后 进行绘制 即可实现直线段在裁剪窗口的裁剪显示 算法思想 设要裁剪的线段是P1P2 中点分割算法可分成两个平行的过程进行 即从P1点出发找出离P1
  • 图形学相关期刊和会议的基本信息

    目录 期刊 A类 ACM TOG A类 IEEE TIP A类 IEEE TVCG B类 TOMCCAP B类 CAGD B类 CGF B类 CAD B类 GM B类 TCSVT B类 TMM B类 SIIMS C类 CGTA C类 CAV
  • 判断一个点是否在圆内(三点确定一个圆)

    三角形的外接圆圆心是任意两边的垂直平分线的交点 三角形外接圆圆心叫外心
  • 计算机图形学----光线追踪----路径追踪

    基础知识预备 概率论 概率 期望 概率 值 PDF 概率密度函数 概率密度函数 p x 在数学中 连续型随机变量的概率密度函数 在不至于混淆时可以简称为密度函数 是一个描述这个随机变量的输出值 在某个确定的取值点附近的可能性的函数 也就是结
  • Ray Tracing in One Weekend01无法查看ppm的问题及一个C++字符缓冲传参引发的bug

    最近在学习光线追踪的经典教程 lt
  • C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览

    本实例全部文章目录 一 功能概览 二 创建项目 注册热键 显示截图主窗口 三 托盘图标及菜单的实现 四 基本截图功能实现 五 针对拖拽时闪烁卡顿现象的优化 六 添加配置管理功能 七 添加放大镜的功能 八 添加键盘操作截图的功能 九 使用自定

随机推荐

  • 代码审查工具Collaboratorv11.5版本上新!GitHub Polling集成被弃用!

    Collaborator是一款功能全面的代码审查工具 它的代码审查可以为开发测试人员和管理者提供帮助 生产出高质量的代码 我们很高兴的告诉大家 Collaborator更新至11 5版本 Diff Viewer内容现在与Review Scr
  • SmartFusion从FPGA到ARM(四)——MSS_TIMER定时器的使用

    文章目录 1 定时器资源简介 2 MSS TIMER库函数简介 3 简单的周期性中断 4 自定义产生波形 5 64位定时器的使用 6 单次中断模式 系列教程 SmartFusion从FPGA到ARM系列教程 1 定时器资源简介 SmartF
  • 注意COCOS2DX中的Z缓冲,解决点选不了的问题

    前几天遇见一个问题 一堆牌点选时有的能点上 但是有的点不上 当时觉得很诡异 后来 请经验丰富的同事看了下 原来是COCOSTUDIO中 点不上的区域 有其他的隐藏物体 将牌的 setLocalZorder 设置个较大的值即可 真是崩溃了 原
  • 达梦数据库使用安装用户打开图形化工具显示无权限

    在x86虚拟机下 使用达梦数据库安装用户安装数据库后 经常需要使用安装用户打开诸如manager console等图形化管理工具 这时候经常遇到安装用户没有权限执行图形化界面的打开脚本 如下图 dmdba为安装数据库的用户 这实际上是dmd
  • 在C++泛型编程中如何只特化类的某个成员函数

    我们知道在C 模板编程中如果我们特化或是偏特化某个模板类 我们需要重写整个模板类中的所有函数 但是这些代码通常是非常相似的 甚至在某些情况下可能只有一两个函数会不一样 其他函数都是一样的 在这种情况下 同时存在多份相同的代码 对我们维护这些
  • 两个无序单链合并成一个有序单链表

    解题思路 两个无序链表先转换成两个有序单链表 两个有序单链表合并成一个有序单链表 代码 import java util 链表 class Node int val Node next public Node int val this va
  • iframe height 100% 问题

    iframe height 100 问题 最近 利用 MapGuide 技术开发一个 WebGIS 的应用程序 其中用到了 标签 可是当我调试运行的时候 其 width 100 生效了 但 height 100 就无效 无论用 JavaSc
  • 人工智能发展月报(2022年11月)

    本期导读 11月 人工智能业界热度较上月降温 共计发生576篇新闻 188个事件 热度总体趋势如下图所示 本月事件较多与世界互联网大会相关 期间多个会议活动及成果发布受到业内持续高度关注 此外 工信部等五部门发布的 虚拟现实与行业应用融合发
  • Liunx下pip3换源(最详细)

    在使用python时我们经常会安装各种包 我们一般安装的方式都是pip3 install xx模块 但是pip3默认源https pypi org 安装的过程非常慢 可能都是几k几k的 有时安装这安装着 直接error了 还有一种情况是直接
  • 微信公众号订阅消息

    1 官网介绍 功能介绍 微信开放文档 订阅通知是一个用户主动订阅 服务号按需下发的通知能力 使用过程请遵守 微信公众平台服务协议 微信公众平台运营规范 如有疑问 可在微信开放社区反馈 设置订阅功能 服务号可以在图文消息 网页等场景设置订阅功
  • iOS基本内存管理:autorelease和autoreleasepool

    在内存管理的Objective C代码里 一个Cocoa对象存在于一个生命周期 有明确的阶段 它被创建 初始化 并使用 也就是 其它对象发送消息给它 它还可能会被保留 拷贝 或压缩 并最终被释放和销毁 AD 1 autorelease 基本
  • ChatGPT 和爬虫有什么区别?

    ChatGPT是一种基于人工智能的对话模型 它通过训练大量的文本数据来生成自然语言回复 它可以用于实现智能对话系统 能够理解用户的输入并生成相应的回复 ChatGPT的目标是模拟人类对话 使得对话更加流畅和自然 而爬虫是一种用于自动化地从互
  • 算法 - 基数排序(Radix Sort)

    基数排序非常适合用于整数排序 尤其是非负整数 因此只演示对非负整数进行基数排序 执行流程 一次对个位数 十位数 百位数 千位数 万位数 进行排序 从低位到高位 个位数 十位数 百位数的取值范围都是固定的0 9 可以使用计数排序对它们进行排序
  • QT_6(信号连接信号、Lambda表达式)

    信号连接信号 运行代码 修改mywidget cpp文件如下 这是窗口界面 include mywidget h include
  • 关于建筑物半自动化提取方法的总结

    基于边界 基于边界的交互式提取方法要求用户指定目标边界的少量关键点或大概位置 然后基于目标边界强度和连续性等特征 对目标的边界进行准确跟踪 常见的基于边界方法是Snake算法和智能剪刀 Intelligent Scissors 基于边界方法
  • [附源码]计算机毕业设计社区生活废品回收APPSpringboot程序

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • 微信支付 api v3 支付通知 异步 验签失败 PHP

    微信支付v3 异步验签失败 此处我们接收参数 报文主体 一般是通过框架 自带的request接收 例如TP6 this gt request gt param 这里如果使用此接收方式在进行json转换验签会失败 我们需要用原生的接收方式 f
  • python之pandas简单介绍及使用(一)

    一 Pandas简介 1 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具 该工具是为了解决数据分析任务而创建的 Pandas 纳入了大量库和一些标准的数据模型 提供了高效地操作大型数
  • JVM系列(三) JVM垃圾判断及强引用关系

    1 判断垃圾对象 如何判断该对象是垃圾 或者该对象要被回收 引用计数法 在对象中添加一个引用计数器 每当有一个地方引用它时 计数器值就 1 当引用失效时 计数器值就 1 任何时刻计数器为 0 的对象就是没人用的 那么就要被回收 优点是原理简
  • Game101课程笔记_lecture10_几何

    Game101课程笔记 lecture10 几何 1 纹理应用 1 环境光 环境贴图 2 凹凸贴图 法线贴图 1 Bump Mapping 3 位移贴图 4 三维纹理 5 环境光遮蔽 6 体渲染3D Texture and Volume R