随手笔记 bump要点

本文介绍了Bump Texture(凹凸纹理)技术,它通过修改像素法线实现表面凹凸感,而不改变几何图形的法线。在像素渲染阶段,通过纹理存储的法线信息调整每个像素的法线,从而达到视觉上的凹凸效果。讨论了存储法线信息的空间选择,指出存储切线空间法线是高效且灵活的方法,但计算量稍大。
摘要由CSDN通过智能技术生成

 

        

 

 

          在读一本书,《real time renderings》,看到了关于 bump texture的表述,感觉很透彻,比之前看

          到的表述好得多,记录一下。

 

          bump texture ,有的翻译为凹凸纹理。是一系列技术的总成。该系列技术是通过修改像素的法线来实

          现表面凹凸感的。

        

         bump 不会改变几何图形的法线。因为几何图形中的多边形的法线是通过其定点法线插值得到的,所以

         该多边形看起来很平滑,为了使多边形看起来凹凸不平,我们只有在像素渲染器中改变每一个像素对应的

         法线了,这样,每个像素的法线都会和原来的不同,有些地方被加强,有些地方被减弱,凹凸效果就有了。

         (个人愚见,凹凸效果应该是这样产生的)

 

         有很多种方法来实现bump,主要都是通过将法线修改信息存储在纹理中,然后在像素渲染器中采样通过

         纹理采样读取法线信息,和原来的法线计算出新的法线。

         

         这里只说一个比较简单高效的。直接在一张纹理中存入法线信息,计算的时候就直接使用该法线了。这样

         做法是比较高效的,因为省却了很多对原有法线的修改计算。但是有一个问题在这里必须的解决。就是纹

         理中的法线是在哪个空间中的也就是说是在哪个坐标系中的。如果是世界坐标系,那么模型在旋转后,法线

         很可能就不能用了。如果是模型的本地坐标系,在模型内部相对运动的时候也会产生同样的问题。所以,最

         好的做法(也是常用的做法)就是存储多边形表面切线空间中的法线。这样可以最大限度的重用。但是计算

         量会稍微大一些。

 

        

        

        

 

       

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在中,当共享库(shared library)的接口发生重大变化时,可能会进行"soname bump"操作。"soname"是指共享库的名字,它用于标识库的版本和接口。 Soname bump是指对共享库进行更改,需要修改库的soname,以指示接口的变化。这样做的目的是为了确保旧的二进制程序仍然可以与旧版本的库保持兼容,而新的二进制程序则可以链接到新版本的库。 Soname bump通常涉及以下步骤: 1. 修改共享库的接口:在进行soname bump之前,可能会对共享库的接口进行更改,例如添加、删除或修改函数的签名、结构体的布局等。这些更改会导致旧版本的二进制程序无法与新版本的库兼容。 2. 修改共享库的soname:将共享库的soname更改为反映接口变化的新版本号。soname通常遵循一定的命名约定,例如使用lib<name>.so.<version>的形式,其中<name>是库的名称,<version>是库的版本号。 3. 重新编译和链接依赖于共享库的二进制程序:在soname bump之后,依赖于共享库的二进制程序需要重新编译和链接,以便它们可以使用新的接口。 4. 兼容性处理:为了确保向后兼容性,可以采取一些措施,如提供符号版本控制(Symbol Versioning)或使用动态符号表(Dynamic Symbol Table)。这些机制可以在运行时动态地加载适当版本的共享库。 进行soname bump操作时,需要谨慎处理,并与相关的二进制程序开发者和用户进行充分的沟通和测试,以确保过渡过程中的兼容性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值