three.js从入门到精通系列教程052 - 制作立方体添加重影特效

<html><head><meta charset="UTF-8"><title>three.js从入门到精通系列教程052 - 制作立方体添加重影特效</title><script src="ThreeJS/three.js"></script><script src="ThreeJS/jquery.js"></script><script src="ThreeJS/EffectComposer.js"></script><script src="ThreeJS/RenderPass.js"></script><script src="ThreeJS/ShaderPass.js"></script><script src="ThreeJS/RGBShiftShader.js"></script>
</head><body><p><button id="myButton1">添加重影特效</button><button id="myButton2">保持原状</button></p><div id="myContainer"></div><script>//创建渲染器var myRenderer = new THREE.WebGLRenderer({ antialias: true });myRenderer.setSize(window.innerWidth, window.innerHeight);myRenderer.setClearColor('white', 1.0);$("#myContainer").append(myRenderer.domElement);var myCamera = new THREE.PerspectiveCamera(45,window.innerWidth / window.innerHeight, 0.1, 1000);myCamera.position.set(71, 121, 44);myCamera.lookAt(new THREE.Vector3(0, 0, 0));var myScene = new THREE.Scene();//创建立方体var myGeometry = new THREE.BoxBufferGeometry(50, 50, 50);var myMap = THREE.ImageUtils.loadTexture("images/img073.jpg");var myMaterial = new THREE.MeshBasicMaterial({ map: myMap });var myMesh = new THREE.Mesh(myGeometry, myMaterial);myMesh.position.y = 2;myScene.add(myMesh);//在场景中实现后期特效(添加重影特效)var myEffectComposer = new THREE.EffectComposer(myRenderer);myEffectComposer.addPass(new THREE.RenderPass(myScene, myCamera));var myShaderPass = new THREE.ShaderPass(THREE.RGBShiftShader);myShaderPass.uniforms['amount'].value = 0.005;myEffectComposer.addPass(myShaderPass);//渲染添加重影特效之后的图形animate();function animate() {requestAnimationFrame(animate);myEffectComposer.render();}//响应单击“添加重影特效”按钮$("#myButton1").click(function () {myEffectComposer.addPass(myShaderPass);});//响应单击“保持原状”按钮$("#myButton2").click(function () {myEffectComposer.addPass(new THREE.RenderPass(myScene, myCamera));});</script>
</body></html>

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

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

相关文章

【Java程序员面试专栏 专业技能篇】MySQL核心面试指引(一):基础知识考察

关于MySQL部分的核心知识进行一网打尽,包括三部分:基础知识考察、核心机制策略、性能优化策略,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第一部分:基础知识考察,子节点表示追问或同级提问 基本概念 包括一些核心问…

imgaug库图像增强指南(31):iaa.JpegCompression——探索压缩与质量的微妙平衡

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

Web即时通信技术——WebRTC

WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个开放的项目&#xff0c;旨在在网页端提供实时的音频、视频和数据通信&#xff0c;不需要插件或其他附加软件。它是由Google主导&#xff0c;并在Mozilla、W3C和IETF等组织的支持下开发。WebRTC的目标是使浏览器…

IOS-生命周期-Swift

目录 App生命周期应用状态未运行——Not running未激活——Inactive激活——Active后台——Backgroud挂起——Suspended 关系图生命周期方法相关方法注意在其他地方监听 ViewController生命周期UIView生命周期 App生命周期 应用状态 App主要有五种状态&#xff0c;分别是&…

C++版QT:鼠标事件

鼠标常用的事件可以说有一下几种&#xff1a;鼠标按下、鼠标移动、鼠标移动、鼠标双击和鼠标滚轮事件。 当你想使用他们&#xff0c;需要包含头文件&#xff1a;#include <QMouseEvent> 需要对鼠标事件进行处理时&#xff0c;通常要重新实现以下几个鼠标事件处理函数&a…

什么是 metadata(元数据、meta、metadata、诠释资料、元资料)

我们首先看一下维基百科的介绍&#xff1a; 元数据&#xff08;Metadata&#xff0c;又译作诠释资料&#xff0c;元资料&#xff09;&#xff0c;是一群数据&#xff0c;其内容提供了有关于另一群数据的信息。英文前缀词 meta- 的意思是之后&#xff0c;进而有超出界限&#x…

牛客网-----跳石头

题目描述&#xff1a; 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行&#xff0c;河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间&#xff0c;有N块岩石(不含起点和终点的岩石)。在比赛过程中&#xff0…

第9章-网络设备基本调试

1. 网络连通性测试 ping命令 定义&#xff1a;基于ICMP协议开发的应用程序&#xff0c;检测网络连通性&#xff1b; 功能&#xff1a; ① 检测网络连接的状态&#xff1b; ② 检测目标计算机是否在线&#xff1b; ③ 定位故障排除&#xff1b; ④ 检测网络延迟和丢包情况&#…

AI智能分析网关V4车辆检测算法及车辆结构化数据在车辆智能管控中的应用

AI边缘计算智能分析网关V4车辆检测、车牌识别算法融合了ORC识别、云计算、计算机视觉、大数据检索等多种技术&#xff0c;可将运动中的机动车牌照从复杂的背景中提取并识别出来&#xff0c;通过车牌提取、图像预处理、特征提取、车牌字符识别等流程&#xff0c;识别出车辆牌号、…

视频监控平台EasyCVR增加fMP4流媒体视频格式及其应用场景介绍

近期我们在视频监控管理平台EasyCVR系统中新增了HTTP-FMP4播放协议&#xff0c;今天我们就来聊聊该协议的特点和应用。 fMP4&#xff08;Fragmented MPEG-4&#xff09;是基于MPEG-4 Part 12的流媒体格式&#xff0c;是流媒体的一项重要技术&#xff0c;因为它能通过互联网传送…

Linux异宠动物园,平面设计篇,Linux平台常见的开源平面设计软件

Linux异宠动物园&#xff0c;平面设计篇&#xff0c;分布介绍视频&#xff0c;讲解了Linux平台常见的开源平面设计软件。如Inkscape&#xff0c;Gimp&#xff0c;Krita&#xff0c;Scribus&#xff0c;并介绍了平面设计行业早期的历史和Aldus公司的历史。 视频请见&#xff1a…

Docker数据管理-容器数据卷

Docker数据管理-容器数据卷 文章目录 Docker数据管理-容器数据卷什么是容器数据卷使用数据卷安装mysql具名挂载和匿名挂载 什么是容器数据卷 数据卷是一个可供容器使用的特殊目录&#xff0c;它绕过文件系统&#xff0c;可以提供很多专用的特性&#xff1a; 数据卷可以在容器之…