博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Extjs 4.2 MVC+ThreeJs学习笔记(四)bumpmap 凹凸贴图
阅读量:4994 次
发布时间:2019-06-12

本文共 1012 字,大约阅读时间需要 3 分钟。

bump mapping(凹凸贴图)
  凹凸贴图是指计算机图形学中在三维环境中通过纹理方法来产生表面凹凸不平的视觉效果。它主要的原理是通过改变表面光照方程的法线,而不是表面的几何法线来模拟凹凸不平的视觉特征,如褶皱、波浪等等。凹凸贴图的实现方法主要有:偏移向量凹凸纹理和改变高度场。
  这是一种在3D场景中模拟粗糙表面的技术,将带有深度变化的凹凸材质贴图赋予3D物体,经过光线渲染处理后,这个物体的表面就会呈现出凹凸不平的感觉,而无需改变物体的几何结构或增加额外的点面。例如,把一张碎石的贴图赋予一个平面,经过处理后这个平面就会变成一片铺满碎石、高低不平的荒原。当然,使用凹凸贴图产生的凹凸效果其光影的方向角度是不会改变的,而且不可能产生物理上的起伏效果。
  在threejs中应用bumpmap:
  
var geometry = new THREE.SphereGeometry(0.5, 32, 32)
var material = new THREE.MeshPhongMaterial()
var earthMesh = new THREE.Mesh(geometry, material)
scene.add(earthMesh)
//模型var geometry   = new THREE.SphereGeometry(0.5, 32, 32)//材质var material  = new THREE.MeshPhongMaterial()//meshvar earthMesh = new THREE.Mesh(geometry, material)//加入场景scene.add(earthMesh)//贴图material.map    = THREE.ImageUtils.loadTexture('images/earthmap1k.jpg')//凹凸贴图material.bumpMap    = THREE.ImageUtils.loadTexture('images/earthbump1k.jpg')material.bumpScale = 0.05

  总结一下,bumpmap就是在不改变模型的情况下,通过bumpmap颜色的灰度模拟出模型表面高低不一的效果,给人粗糙的感觉。

转载于:https://www.cnblogs.com/Mirana/p/3470392.html

你可能感兴趣的文章
《Java源码解析》之NIO的Selector机制(Part1:Selector.open())
查看>>
webpack安装问题
查看>>
Qt学习记录--Qt::CaseSensitive
查看>>
你的灯还亮着吗阅读笔记之一
查看>>
python介绍
查看>>
Unity-Editor按钮和菜单显示
查看>>
SharePoint InfoPath 保存无法发布问题
查看>>
word2vec:主要概念和流程
查看>>
Java - MyBites 逆向工程
查看>>
104. Maximum Depth of Binary Tree
查看>>
Python--变量作用域
查看>>
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
查看>>
!!和??
查看>>
matlab演奏卡农 Cripple Pachebel's Canon on Matlab
查看>>
apache的MPM机制-prefork
查看>>
js的一些实用的小技巧
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
iOS的UILabel设置居上对齐,居中对齐,居下对齐
查看>>
最流行的android组件大全
查看>>
【Android自定义控件】支持多层嵌套RadioButton的RadioGroup
查看>>