ThreeJs-13效果合成与后期处理
一.合成效果原理与设置
什么是效果合成,就是可以把一些效果经过后期处理再放出来
原来的物体是直接通过render渲染出来,而现在则是经过一条render通道,可以处理也可以叠加处理后再放出来
首先正常加载模型
首先导入效果合成器以及一些自带的效果
创建合成效果渲染器,跟之前渲染器差不多,但是要注意注意添加渲染通道这个效果
然后不再是渲染render而是用合成效果render
此时就能看到基本的render一样的效果,然后就可以开始一些其他的效果有哪些效果可以在这个目录查看,实现效果可以上threejs官网查看
二.实现抗锯齿,点效果,发光,屏幕闪动等特效
什么是抗锯齿,一个物体在边缘处很容易出现锯齿感
而开启抗锯齿就是会把一些有锯齿感的地方经过计算,变得模糊看起来顺滑
发光效果
当然通过官网的例子的gui也可以去调节一些参数
三.使用shaderpass实现自定义合成效果
首先导入
首先使用的默认的
添加到通道
会发现此时整个页面都是黄色,因为这个后期效果是对整个场景渲染
那如果只是想对当前这个效果合成器,所有效果一起叠加使用
首先正常设置uv,在片段着色器这边我们当前这个通道所有的效果都是默认传了一个纹理进来,并且名字如下,把他作为颜色即可
但是要注意一下,这个默认值要先设置在外面
静态效果,可以去设置一些颜色,比如整个色调偏蓝一点
四.使用法向纹理合成特色渲染镜头
有一张法向纹理图案
想实现的效果,头盔周围都是六边形网格,中间部分可以反射
加载纹理
在刚才自定义特效定义法向纹理默认值
值传进来
然后片段着色器拿到传进来的值
这是光线角度,参数是光线打进来的位置,normalize只是让他变成单向量
统一设置光线dot函数即可,由于normalcolor是一个四维向量所以只取xyz,加上光线形成思维向量
而clamp函数,设置一个区间,小于0就是0,大于1就是1
五.运用时间打造水底波浪动态渲染效果
形成波浪效果首先得用sin函数,变的是uv
然后加上时间
ThreeJs-13效果合成与后期处理的更多相关文章
- ThreeJS的特效合成器和后期处理通道
最近要写个 web 交互式发光可交互的框架.没查到啥好资料,自己一个人摸索了很久,有些失望,可是毕竟是探索过的东西,所以做个记录,怀念我过去好多天掉的青丝(捂脸).我在前面那篇博客里面已经介绍了如何让 ...
- Android View部分消失效果实现
本文来自网易云社区 作者:孙有军 老需求 我们经常会有需求就是View消失的效果,这里我们说的消失往往是全部消失,我们可能采用一个alpha动画,在指定的时间内消失掉View,出现则实现相反的动画.我 ...
- [JavaScript] canvas 合成图片和文字
Canvas Canvas 是 HTML5 新增的组件,就像一个画板,用 js 这杆笔,在上面乱涂乱画 创建一个 canvas <canvas id="stockGraph" ...
- 关于Mongodb的全面总结
MongoDB的内部构造<MongoDB The Definitive Guide> MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本 ...
- PS高级特训班 百度云资源(价值2180元)
课程目录: 第1章第一期1第一节 火焰拳头1:12:252第二节 荷叶合成00:05:143第三节 新年巨惠海报(一)1:00:374第四节 新年巨惠海报(二)1:05:345第五节 美食印刷品1 ...
- ASP.NET SignaiR 实现消息的即时推送,并使用Push.js实现通知
一.使用背景 1. SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指 ...
- Esfog_UnityShader教程_遮挡描边(原理篇)
咳咳,有段时间没有更新了,最近有点懒!把不少精力都放在C++身上了.闲言少叙,今天要讲的可和之前的几篇有所不同了,这次是一个次综合应用.这篇内容中与之前不同主要体现在下面几点上. 1.之前我们写的都是 ...
- 微软官网下载windows系统有点全
第一步:访问:https://www.microsoft.com/zh-cn/software-download/windows10ISO/ 默认就只能下载win10,这怎么行呢.巨硬程序员貌似没做服 ...
- Android短视频SDK转码实践
一. 前言 一些涉及的基本概念: 转码:一般指多媒体文件格式的转换,比如分辨率.码率.封装格式等: 解复用(demux):从某种封装中分离出视频track和音频track,然后交给后续模块进行处理: ...
- Java基础系列-Collector和Collectors
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一.概述 Collector是专门用来作为Stream的coll ...
随机推荐
- 记录一次CTF经典PHP反序列化
PHP反序列化 序列化通俗来讲就是将对象转化为可以存储.传输的字符串,反序列化就是把字符串再变回对象的过程. 例如: <?php class chybate { var $test = '123 ...
- C#/.NET/.NET Core技术前沿周刊 | 第 14 期(2024年11.18-11.24)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- 基于Spring源码分析AOP的实现机制
Spring一个重要的特性就是提供了AOP,使得我们可以在原有的基础上增加我们自己的系统业务逻辑.使得我们系统业务逻辑与应用业务逻辑相分离,耦合性降低,并且大大的提高了开发的效率.Spring的AOP ...
- java公式解析器学习与开发(1)
public class Evaluate { public static void main(String[] args) { Stack<String> ops = new Stack ...
- Golang框架之gin
gin是目前golang的主要web框架之一,之所以选择这个框架是因为其拥有高效的路由性能,并且有人长期维护,目前github上的star数已经破3W. [安装] go get -u github.c ...
- ai大模型流式输出------基于SSE协议的长连接实现
传统的http1.0请求开发,已经满足了我们日常的web开发.一般请求就像下图这样子,客服端发起一个请求(触发),服务端做出一个响应(动作): 有时会有诸如实时刷新,实时显示的场景,我们往往是客户端定 ...
- vue 创建一个项目
1.npm init -y 2.vue create 名称 3.manuall select features [手动配置v2,v3] 4.选版本 5 6 启动:npm run serve
- 生产环境BigDecimal用错了,已哭晕在厕所。。。
大家好,我是苏三,又跟大家见面了. 前言 在日常开发中,很多小伙伴喜欢用 BigDecimal 来处理精确计算,比如钱.分数.比例啥的. 理论上,它比 double 或 float 更精确,但如果你用 ...
- 内存Fuzz和WinAFL
文章一开始发表在微信公众号 https://mp.weixin.qq.com/s/XSPrmBb44J8BUpKsj0cwGQ 内存Fuzz和WinAFL FoxitReader 软件分析 目前Fuz ...
- docker启动所有容器命令
启动所有容器 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) 关闭所有容器 docker stop $(docker ps ...