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

OpenGL进阶系列22 - OpenGL SuperBible - bumpmapping 例子学习

一:背景知识        

        通俗来说,法线贴图(normal mapping) 是一种让物体表面看起来更有细节、更真实的技术,但其实并没有增加模型的多边形数量。 你可以把它想象成一种“视觉欺骗”:比如你有一个光滑的球体模型,原本表面是平的,没有凹凸。但你贴上一张法线贴图,这张图就像是一张“浮雕地图”,里面每个像素都存储了一个小小的方向(即法线),告诉显卡“这个地方的表面其实是凸起来的”或者“这里是凹进去的”。这些信息不会改变球体的真实形状,只会影响光照计算,让光线照在球体上时,显得有很多小细节,比如划痕、凸起、凹槽等等。所以,法线贴图不增加几何复杂度,模型仍然很简单。它让表面看起来有很多精细细节,比如皮肤纹理、石头凹凸、金属划痕。效果逼真、开销小,是游戏和图形引擎中常用的优化技巧。

        最常用的法线贴图坐标空间是切线空间(tangent space),它是一个局部坐标系,其中 正 z 轴 与表面的法线对齐。这个坐标系中的另外两个向量被称为切线向量(tangent)和副切线向量(bitangent 或 binormal)。为了获得最佳效果,这两个向量应分别与纹理的 u 和 v 坐标方向对齐。

   &n

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

相关文章:

  • Python动态规划:从基础到高阶优化的全面指南(3)
  • nvim tagbar安装
  • C#:基于 EF Core Expression 的高性能动态查询构建实战 —— 面向大数据量环境的查询优化方案(全是干货,建议收藏)
  • barba.js单页面应用程序
  • 基于VHDL的神经网络加速器设计实战
  • C++算法实例精讲
  • MKS E28H 0.05-100 Torr 加热 (100°C) Baratron 电容压力计,带蚀刻传感器 手侧
  • C++入门自学Day2-- c++类与对象(初识2)
  • 一文理清 Linux 软件管理核心知识:从程序组成到包管理工具
  • C语言中的数据结构--栈和队列(2)
  • VMware Workstation Pro 详细安装步骤
  • 线程安全
  • C++常见的仿函数,预定义函数,functor,二元操作函数(对vector操作,加减乘除取余位运算等 )
  • 异步通讯组件MQ
  • HTML应用指南:利用GET请求获取全国小米之家门店位置信息
  • 基于深度学习的医学图像分析:使用3D CNN实现肿瘤检测
  • hot100——第九周
  • 在Linux上使用DuckCP实现从csv文件汇总数据到SQLite数据库的表
  • 数据开源 | “白虎”数据集首批开源,迈出百万数据征途第一步
  • Zynq SOC FPGA嵌入式裸机设计和开发教程自学笔记:硬件编程原理、基于SDK库函数编程、软件固化
  • 2.DRF 序列化器-Serializer
  • 第五章:进入Redis的Hash核心
  • 小架构step系列28:自定义校验注解
  • 【算法训练营Day17】二叉树part7
  • 【VASP】二维材料杨氏模量与泊松比的公式
  • OpenLayers 综合案例-信息窗体-弹窗
  • 打卡day5
  • C++面试5题--5day
  • C++中的“对象切片“:一场被截断的继承之痛
  • 【SpringMVC】MVC中Controller的配置 、RestFul的使用、页面重定向和转发