求西北地区网站建设专家 西安沉睡网络 官方网址?网站建设行业细分

web/2025/10/8 21:57:59/文章来源:
求西北地区网站建设专家 西安沉睡网络 官方网址?,网站建设行业细分,南昌网站建站,建设网站的网站1.Three.js 实现模型材质局部辉光效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用#xff1a; 1. EffectComposer#xff08;渲染后处理的通用框架#xff0c;用于将多个渲染通道#xff08;pass#xff09;组合在一起创建特定的视觉效果#xff09; 2. …1.Three.js 实现模型材质局部辉光效果 2.解决辉光效果影响场景背景图显示的问题 相关API的使用 1. EffectComposer渲染后处理的通用框架用于将多个渲染通道pass组合在一起创建特定的视觉效果 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入使用Three.js默认的渲染器renderer来进行场景渲染并将结果输出给下一个渲染通道) 3. UnrealBloomPass(是 three.js 中用于实现泛光效果的后期处理效果通过高斯模糊和屏幕混合技术将亮度较高的区域扩散开来从而实现逼真的泛光效果。) 4. ShaderPass是一个自定义着色器的通道。它允许你指定自定义的着色器代码并将其应用于场景的渲染结果。这样你可以创建各种各样的图形效果如高斯模糊、后处理效果等 在上一篇 Three.js加载外部glb,fbx,gltf,obj 模型文件 的文章基础上新增一个 createEffectComposer效果合成器方法和sceneAnimation 效果器渲染方法以及getFlowMeaterList(获取需要辉光效果材质的方法) 首先引入相关的api import { EffectComposer } from three/examples/jsm/postprocessing/EffectComposer.js import { RenderPass } from three/examples/jsm/postprocessing/RenderPass.js import { UnrealBloomPass} from three/examples/jsm/postprocessing/OutlinePass.js import { ShaderPass } from three/examples/jsm/postprocessing/ShaderPass.js创建效果合成器方法createEffectComposer:需要创建两个合成器 effectComposer 用于正常渲染场景glowComposer用于渲染辉光效果 createEffectComposer() {const { clientHeight, clientWidth } this.container// 场景渲染器this.effectComposer new EffectComposer(this.renderer)const renderPass new RenderPass(this.scene, this.camera)this.effectComposer.addPass(renderPass)//创建辉光效果this.unrealBloomPass new UnrealBloomPass(new THREE.Vector2(clientWidth, clientHeight), 0, 0, 0)this.unrealBloomPass.threshold 1 // 辉光强度this.unrealBloomPass.strength 0 // 辉光阈值this.unrealBloomPass.radius 1 //辉光半径this.unrealBloomPass.renderToScreen false // // 辉光合成器this.glowComposer new EffectComposer(this.renderer)this.glowComposer.renderToScreen falsethis.glowComposer.addPass(new RenderPass(this.scene, this.camera))this.glowComposer.addPass(this.unrealBloomPass)// 着色器let shaderPass new ShaderPass(new THREE.ShaderMaterial({uniforms: {baseTexture: { value: null },bloomTexture: { value: this.glowComposer.renderTarget2.texture },tDiffuse: {value: null}},vertexShader:\t\t\tvarying vec2 vUv;\n \n \t\t\tvoid main() {\n \n \t\t\t\tvUv uv;\n \n \t\t\t\tgl_Position projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n \n \t\t\t},fragmentShader:\t\t\tuniform sampler2D baseTexture;\n \t\t\tuniform sampler2D bloomTexture;\n \n \t\t\tvarying vec2 vUv;\n \n \t\t\tvoid main() {\n \n \t\t\t\tgl_FragColor ( texture2D( baseTexture, vUv ) vec4( 1.0 ) * texture2D( bloomTexture, vUv ) );\n \n \t\t\t},defines: {}}), baseTexture)shaderPass.renderToScreen trueshaderPass.needsSwap truethis.effectComposer.addPass(shaderPass)}获取需要辉光渲染的材质 getFlowMeaterList(){const modelMaterialList []this.model.traverse((v) {if (v.isMesh v.material) {const { name, color,map } v.material// 统一将模型材质 设置为 MeshLambertMaterial 类型v.material new THREE.MeshLambertMaterial({map,transparent: true,color,name,})modelMaterialList.push(v) }})this.glowMaterialList modelMaterialList.map(vv.name)}渲染场景方法sceneAnimation:处理不需要辉光的材质。注意辉光效果会影响场景背景图的正常显示需要单独处理这里通过 instanceof THREE.Scene 判断是否是场景材质然后进行单独处理 sceneAnimation() {this.renderAnimation requestAnimationFrame(() this.sceneAnimation())this.controls.update()// 将不需要处理辉光的材质进行存储备份this.scene.traverse((v) {// 备份一份场景背景然后清空if (v instanceof THREE.Scene) {this.materials.scene v.backgroundv.background null}if (!this.glowMaterialList.includes(v.name) v.isMesh) {// 备份当前材质内容this.materials[v.uuid] v.material// 将不需要辉光的材质设置为黑色v.material new THREE.MeshBasicMaterial({ color: black })}})// 执行辉光效果器渲染this.glowComposer.render()// 在辉光渲染器执行完之后在恢复材质原效果this.scene.traverse((v) {if (this.materials[v.uuid]) {v.material this.materials[v.uuid]delete this.materials[v.uuid]}if (v instanceof THREE.Scene) {v.background this.materials.scenedelete this.materials.scene}})// 执行场景效果器渲染this.effectComposer.render()}完整的代码可参考:https://gitee.com/ZHANG_6666/Three.js3D/blob/master/src/views/renderModel.js 界面效果对比

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

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

相关文章

简单的网站建设步骤网站图片居中代码

文字排版--粗体 我们还可以使用css样式来改变文字的样式:粗体、斜体、下划线、删除线,可以使用下面代码实现设置文字以粗体样式显示出来。 p span{font-weight:bold;} 在这里大家可以看到,如果想为文字设置粗体是有单独的css样式来实现的&…

企业网站建设大概的费用清远市发布

深度优先搜索DFS搜索 DFS:从根节点出发,寻找子节点,到最深层返回到上一层继续递归搜索。 B3621 枚举元组 题目传送 题面 题目描述 n 元组是指由 n 个元素组成的序列。例如 (1,1,2) 是一个三元组、(233,254,277,123)是一个四元组。 给定…

网站设计论文答辩问题及答案品划做网站

反转字符串中的元音字符Given a string and we have to eliminate/ remove all vowels from the string using C program. 给定一个字符串,我们必须使用C程序从字符串中消除/删除所有元音。 To eliminate/remove the vowels 消除/删除元音 We will traverse (reac…

设计类的网站和简介怎么开通自己的微信公众号

本文非原创 可分为:交叉连接、内连接、外连接、自连接 1.使用交叉连接: 它是非限制连接,就是将两个表格不加任何条件的组合在一起, 即第一个表格的所有记录分别和第二个表格的每一条记录相连接 组合成新的记录,连接后结…

网站免费在线观看app大全免费软件下载安装

文章目录 问题举例问题分析解决办法问题举例 我们在使用ArcGIS时经常会碰到这样的问题:将地图文档(.mxd)保存到本地并拷贝到别的电脑上或改变一个路径时,出现数据丢失的现象,具体表现为图层前面出现一个红色的感叹号,如下图所示。 出现以上问题的根本原因是数据GSS.tif的…

帝国程序如何改网站标题单位门户网站功能

注意:本节主要讲React中的虚拟DOM,但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么? 虚拟DOM是对真实DOM的描述,虚拟DOM是JS对象,实际上就是 JSX 通过 babel 转换成 React.createElement()&#xff…

网站建设 网页设计 网站制作织梦猫html5高端网络服务机构网站模板

数组的创建和使用 奇数位于偶数之前冒泡排序两数之和只出现一次的数字多数元素存在连续三个奇数的数组 奇数位于偶数之前 调整数组顺序使得奇数位于偶数之前。调整之后,不关心大小顺序。 如数组:[1,2,3,4,5,6] 调整后可能是:[1, 5, 3, 4, 2,…

西安网站开发定制制作后台网站开发文档

六大设计原则 1、单一职责原则 一个类或者模块只负责完成一个职责或者功能。 2、开放封闭原则 规定软件中的对象、类、模块和函数对扩展应该是开放的,对于修改应该是封闭的。用抽象定义结构,用具体实现扩展细节。 3、里氏替换原则 如果S是T的子类型…

帝国cms网站名称零基础网站建设教学公司

在现代前端开发中,搭建一个高效、灵活、易用的后台管理系统并不容易。然而,Vue3 的出现为我们提供了一个备受瞩目的选择。作为一个现代化的前端框架,Vue3 具有众多优点,能够帮助开发者快速搭建企业级中后台产品原型。 今天&#…

引航科技提供网站建设深圳市宝安区石岩街道

如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 2.1.4 进程通信 知识总览 2.1.4.1 什么是进程通信 顾名思义,进程通信就是指进程之间的信息交换。 进程是分配系统资源的单位(包括内…

艺术网站源码设计制作一个保温杯教学反思

真正的有钱人对金钱持非常严肃的态度,即便是拿来投机也要小心睿智,物尽其用。这里的投机并不是指非理性的赌博,而是指为了追求更高收益而采取的市场投资行为。卡西研究所资深分析师Louis James总结了富豪们投机成功的9个秘诀。 秘诀1&#…

thinkphp开发的网站wordpress 提问模板

Linux系统操作命令 一、文件管理 ls:列出当前目录下的文件和文件夹。 ls -l:以详细列表的形式显示文件的权限、所有者和大小等信息。 cd:切换当前目录。 cd ..:返回上一级目录。cd /:返回根目录。 pwd:显示…

moodle网站建设工厂采购信息网

文件描述符 fd是一个>0 的整数 每打开一个文件,就创建一个文件描述符,通过文件描述符来操作文件 预定义的文件描述符: 0:标准输入,对应于已打开的标准输入设备(键盘) 1:标准输出,对应于已打开的标准输出设备(控制台) 2.标准错误…

网站首页建设网从seo角度谈网站建设

目录 文章目录 以从备份恢复forest_resources库为例一、备份数据库二、需要还原的数据库准备1 删除掉远程的库。2 重新创建一个空的库。可以使用sql3 找到数据库存放的路径,并将备份文件上传到对应的路径下 三、 进入docker容器内部,执行数据库恢复附录…

大连网站建设详细流程中国建设教育网官方网站

堆是将一组数据按照完全二叉树的存储顺序,将数据存储在一个一维数组中的结构。 大顶堆:任意节点的值均大于等于它的左右孩子,并且最大的值位于堆顶,即根节点处。 小顶堆:任意节点的值均小于等于它的左右孩子&#xff0…

网站强制使用极速模式做彩票生意要登陆哪个网站

给你一个整数数组 bloomDay,以及两个整数 m 和 k 。 现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。 花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。 请你返回从花园中摘 m 束…

怎么用qq邮箱做网站无经验能做sem专员

主线程 任务1,任务2 微队列微队列任务1, 微队列任务2延时队列延时队列任务1, 延时队列任务2交互队列.... 事件循环的工作原理 主线程执行同步任务: 主线程首先执行所有同步任务(即栈中的任务)。这些任务会…

企业网站栏目设计品牌设计的基本步骤

1.SIGCHLD简介 SIGCHILD是指在一个进程终止或者停止时,将SIGCHILD信号发送给其父进程,按照系统默认将忽略此信号,如果父进程希望被告知其子系统的这种状态,则应捕捉此信号。注意:SIGCLD信号与其长得非常相似。SIGCLD是…

适合网站开发的框架怎么增加网站的关键词库

最近公司项目需要做各种图标展示,用了Echarts的条形图和柱状图,但是老板还是觉得不够生动,看来时候祭出大招了 由此衍生在空余时间写下了此篇博客,首先还是看效果图: 注意,此图中数据并非真实数据,只是为…

淮南服装网站建设费用做网站域名的成本

目录 前期环境优化 1.永久关闭交换分区 2.#加载 ip_vs 模块 3.调整内核参数 4.#使用Systemd管理的Cgroup来进行资源控制与管理 5.开机自启kubelet 6.内核参数优化方案 7.etcd优化 默认etcd空间配额大小为 2G,超过 2G 将不再写入数据。通过给etcd配置 --quo…