threejs 节点材质系统 绑定attribute

server/2024/9/23 3:15:19/

新的 节点材质系统 绑定属性及使用 非常方便 不必重复声明

以instances为例

import {instancedBufferAttribute,instancedDynamicBufferAttribute,} from "three/tsl";

声明一个 InstancedBufferAttribute 使用 instancedBufferAttribute包装后就可以在shader中直接使用

const instanceCount = 10
// 透明度
const floatOpacity = new Float32Array(instanceCount);const buffer = new THREE.InstancedBufferAttribute(floatOpacity, 1);
// instancedDynamicBufferAttribute 每次写入buffer
// instancedBufferAttribute 手动更新 buffer.needUpdate = true
instanceMesh.instanceOpacity = instancedBufferAttribute(buffer);

使用
顶点着色器 声明 varying

varyingProperty( 'float', 'vInstanceOpacity' ).assign( instanceMesh.instanceOpacity );

片元着色器 使用 varying

const vInstanceOpacity = varyingProperty( 'float', 'vInstanceOpacity' ); 
diffuseColor.a.assign( diffuseColor.a.mul( opacityNode ).mul(vInstanceOpacity) );

http://www.ppmy.cn/server/98330.html

相关文章

Docker 全部命令详解:从基础到高级

Docker 全部命令详解:从基础到高级 Docker 是现代软件开发和运维中不可或缺的工具,它通过容器化技术提供了轻量级的虚拟化解决方案。掌握 Docker 的所有命令是高效管理和运维容器的关键。本文将详细介绍 Docker 的所有命令,从基础的镜像和容…

程序员面试中的“八股文”:助力还是阻力?

程序员面试中的“八股文”:助力还是阻力? 一. “八股文”在程序员面试中的地位与价值1.1 “八股文”的普遍性和必要性1.2 “八股文”的局限性 二. “八股文”与实际工作能力的关系2.1 “八股文”作为理论基础2.2 实际工作中的“八股文”应用 三. “八股文…

Windows10 开始图标点击没反应怎么办?

方法一、重启Windows资源管理器 1. 按键盘上的“Ctrl Shift Esc”键,打开任务管理器。 方法二、启用User Manager服务 1. 按“Windows R”键,打开运行框并输入“services.msc”,再单击“确定”。 2. 进入服务窗口中,找到“U…

sqli-labs-master 25-30关

sqli-labs第25关 由本题意可得过滤and和or,我用双写进行绕过,例如:infoorrmation,aandnd 数据库名 http://127.0.0.1/sqli-labs-master/Less-25/?id-1%27%20union%20select%201,2,database()-- 表名 127.0.0.1/sqli-labs-master/Less-25…

C# 设计模式之模板方法模式

总目录 前言 在日常的工作中,有时候我们做PPT,做合同,做简历,如果我们自己从头去写这些文档,不免有些太过耗时耗力;大多时候都是去找相关的PPT模板,合同模板,简历模板,拿…

操作ArkTS页面跳转及路由相关心得

本文为JS老狗原创。 当前端不得不关注的点:路由,今天聊一聊鸿蒙相关的一点心得。 总体上套路不意外,基本就是(尤其是Web)前端那些事:维护路由表、跳转带参数、历史堆栈操作,等等。 历史原因&…

ceph

ceph是一个开源的,用c语言编写的分布式的存储系统。存储文件数据。 /dev/sdb fdisk /dev/sdb gdisk /dev/sdb lvm 逻辑卷 可以扩容 raid 磁盘 高可用 基于物理意义上的单机的存储系统。 分布式由多台物理磁盘组成一个集群,在这个基础之上实现高可…

达梦数据库(九) -------- JAVA 的连接配置方式

连接单机数据库配置如下: 集群配置连接如下: 在 dm_svc.conf 文件中配置服务名,通过服务名连接集群可实现故障自动重连。 Window 环境 Windows 平台 dm_svc.conf 文件位 %SystemRoot%\system32 目录下: Linux 环境 Linux 平台…