轻量封装WebGPU渲染系统示例<24>- Rendering Pass Graph基本用法(源码)
当前示例源码github地址:
https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/PassNodeGraphTest.ts
此示例基于此渲染系统实现,当前示例TypeScript源码如下:
class PassGraph extends WGRPassNodeGraph {constructor() { super(); }runBegin(): void {super.runBegin();}run(): void {let pass = this.passes[0];for (let i = 0; i < 16; ++i) {pass.colorAttachments[0].clearEnabled = i < 1;pass.render();}}
}export class PassNodeGraphTest {private mRscene = new RendererScene();initialize(): void {let multisampleEnabled = true;let depthTestEnabled = false;let rpassparam = { multisampleEnabled, depthTestEnabled };this.mRscene.initialize({ rpassparam });this.initEvent();this.initScene();}private applyNewRPass(texUUID: string, entities: FixScreenPlaneEntity[], clearColor: ColorDataType, extent = [0.4, 0.3, 0.5, 0.5]): void {let rs = this.mRscene;let rttTex = { diffuse: { uuid: texUUID, rttTexture: {} } };let colorAttachments = [{texture: rttTex,clearValue: clearColor,loadOp: "clear",storeOp: "store"}];let rPass = rs.renderer.appendRenderPass({ separate: true, colorAttachments });for (let i = 0; i < entities.length; ++i) {rPass.addEntity(entities[i]);}let graph = new PassGraph();graph.passes = [rPass];rs.setPassNodeGraph(graph);let entity = new FixScreenPlaneEntity({ extent, flipY: true, textures: [rttTex] });rs.addEntity(entity);}private initEvent(): void {const rs = this.mRscene;new MouseInteraction().initialize(rs, 0, false).setAutoRunning(true);}private initScene(): void {const rs = this.mRscene;let entity: FixScreenPlaneEntity;const diffuseTex = { diffuse: { url: "static/assets/guangyun_40.png", flipY: true } };let blendModes = ['add'];let entities: FixScreenPlaneEntity[] = [];entity = new FixScreenPlaneEntity({ extent: [-0.8, -0.8, 0.8, 0.8], textures: [diffuseTex], blendModes });entity.setColor([0.9, 0.3, 0.9]);rs.addEntity(entity);entities.push(entity);this.applyNewRPass('rtt0', entities, [0.2, 0.2, 0.2, 1.0], [-0.2, 0.1, 0.8, 0.8]);}run(): void {this.mRscene.run();}
}
相关文章:
轻量封装WebGPU渲染系统示例<24>- Rendering Pass Graph基本用法(源码)
当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/PassNodeGraphTest.ts 此示例基于此渲染系统实现,当前示例TypeScript源码如下: class PassGraph extends WGRPassNodeGraph {constructor() { super();…...
开设自己的网站系类01购买服务器
开始建设自己的网站吧! 编者买了一个服务器打算自己构建一个网站,用于记录生活。网站大概算是一个个人博客吧。记录创建过程的一些步骤 要开设自己的网站,需要执行以下关键步骤 以下只是初步列出了建立自己的网站的大概步骤,后…...
FTP、NFS、SAMBA系统服务一
一、rsync托管xinetd 1、为什么要进行服务托管 独立服务:独立启动脚本 ssh ftp nfs dns ... 依赖服务: 没有独立的启动脚本 rsync telnet 依赖xinetd服务(独立服务) 2、如何将rsync托管给xinetd服务去管理? 第一步࿱…...
transfomer模型——简介,代码实现,重要模块解读,源码,官方
一、什么是transfomer Transformer是一种基于注意力机制(attention mechanism)的神经网络架构,最初由Vaswani等人在论文《Attention Is All You Need》中提出。它在自然语言处理(NLP)领域取得了巨大成功,特…...
队列(Queue):先进先出(FIFO)的数据结构
队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服…...
吃透 Spring 系列—AOP部分
目录 ◆ AOP 简介 - AOP的概念 - AOP思想的实现方案 - 模拟AOP的基础代码 - AOP相关概念 ◆ 基于xml配置的AOP - xml方式AOP快速入门 - xml方式AOP配置详解 - xml方式AOP原理剖析 ◆ 基于注解配置的AOP - 注解方式AOP基本使用 - 注解方式AOP配置详解 - 注解…...
redis 问题解决 2
1.4 数据存储 1、Redis 的数据过期策略是什么? Redis的数据过期策略包括两种机制:被动删除和主动删除。 被动删除: 当某个键被访问时,如果发现这个键已经过期,Redis会立即删除这个键。这意味着如果一个过期的键从未被访问,它就不会被自动删除。这是一种惰性删除策略。主…...
Spring Boot 校验用户上传的图片文件
图片上传是现代应用中非常常见的一种功能,也是风险比较高的一个地方。恶意用户可能会上传一些病毒、木马。这些东西不仅严重威胁服务器的安全还浪费了带宽,磁盘等资源。所以,在图片上传的接口中,一定要对用户上传的文件进行严格的…...
【springboot配置项动态刷新】与【yaml文件转换为java对象】
文章目录 一,序言二,准备工作1. pom.xml引入组件2. 配置文件示例 三,自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四,yaml文件转换为java对象1. 无法使…...
JS移动端触屏事件
在我们PC端中有许多的事件,那我们在移动端有没有事件呢?让我为大家介绍一下移动端常用的事件,触屏事件 触屏事件 touch (也称触摸事件),Android 和IOS 都有 touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一…...
C语言——打印1000年到2000年之间的闰年
闰年: 1、能被4整除不能被100整除 2、能被400整除 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int year;for(year 1000; year < 2000; year){if((year%4 0) && (year%100!0) || (year%400 0)){printf("%d ",ye…...
【Linux】【驱动】设备树下的paltform总线
【Linux】【驱动】设备树下的paltform总线 1. 驱动程序的完整代码2. 使用到的相关函数3 使用到的指令3.2 设备上使用的指令 1. 驱动程序的完整代码 主要是展示了通过总线上挂载的方式来实现相关的数据读取 实质上就是几个of函数的调用。 /** Author: topeet* Description: 设…...
洛谷 NOIP 2023 模拟赛-汪了个汪-题解
简要题意 棋盘上有 n n n 行,第 i i i 行有 i i i 个格子。你要在格子填 1 ∼ n 1\sim n 1∼n,满足: 每行第一个数互不相同所有在行上相邻的两个数所组成的无序对互不相同每行的数互不相同 n ≤ 4000 n\le4000 n≤4000 题解 容易发现…...
洛谷 NOIP 2023 模拟赛 P9836 种树
洛谷 NOIP 2023 模拟赛 P9836 种树 文章目录 洛谷 NOIP 2023 模拟赛 P9836 种树题目大意思路code 题目大意 路边有 n n n 棵树,每棵树的 高度 均为正整数,记作 p 1 , p 2 … p n p_1, p_2 \dots p_n p1,p2…pn。 定义一棵树的 宽度 为它高度的…...
链表经典OJ题(链表回文结构,链表带环,链表的深拷贝)
目录 前言 1.反转一个单链表。 2. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 3.链表的回文结构。 4.链表带环问题(*****) 4.1是否带环 4.2 入环的节点 5.随机链表的复制(链表的深拷贝) 前言…...
AD教程 (十三)常见CHIP封装的创建
AD教程 (十三)常见CHIP(贴片)封装的创建 PCB封装是电子设计图纸和实物之间的映射体,具有精准数据的要求,在实际设计中需要通过规格书获取创建封装的数据参数。 PCB封装和实物的大小一致。PCB封装是承载实物…...
从0到1实现一个前端监控系统(附源码)
目录 一、从0开始 二、上报数据方法 三、上报时机 四、性能数据收集上报 收集上报FP 收集上报FCP 收集上报LCP 收集上报DOMContentLoaded 收集上报onload数据 收集上报资源加载时间 收集上报接口请求时间 五、错误数据收集上报 收集上报资源加载错误 收集上报js错…...
第7章-使用统计方法进行变量有效性测试-7.2-方差分析
目录 7.2 方差分析 7.2.1 单因素方差分析 组内变异 组间变异 总变异 随机误差...
【MongoDB】索引 – 文本索引(用权重控制搜索结果)
一、准备工作 这里准备一些数据 db.books.drop();db.books.insert({_id: 1, name: "Java", alias: "java 入门", description: "入门图书" }); db.books.insert({_id: 2, name: "C", alias: "c", description: "C 入…...
Git 入门使用
一、Git 入门 1.1 Git简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Git是目前世界上最先进的分布式版本控制系统,没有之一&a…...
亚马逊向忠实Kindle用户“致谢“:停止支持旧款设备
亚马逊正以停止支持旧款设备的方式"回馈"长期忠实的Kindle用户,但同时也试图以新设备八折优惠及电子书购书抵用金来"降低影响"。正如科技领域的规律——没有任何设备能永远获得支持。亚马逊在今日发送给用户的邮件中宣布,自2026年5月…...
Outlook一直卡在“正在加载配置文件”怎么办?一篇文章教你快速修复
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
台达AS系列PLC的Modbus TCP通信C#源代码及生产数据监控与Excel表格生成
台达AS系列PLC modbus TCP网口上位机通信,项目现场使用设备的C#源代码,监控设备每月每天的生产数据并生成Excel表格。最近在工业现场折腾台达AS系列PLC的Modbus TCP通讯,发现这玩意儿的协议实现和常规设备还真有点不一样。项目需求是抓取设备…...
2026届最火的五大降重复率神器横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 旨在降低文本机器生成特征的降AI工具,是为了规避自动化检测模型的识别࿰…...
0408晨间日记
- 关键词- - 上午- batam新的案子的评估- 资料全不全- 钢网层- 坐标档- bom的查询- 查询每个材料形状- 能不能生产- 细节 -材料特性- 制作炉温曲线- bom提取的方案- pdf转excel- 人工再核对一下- ai搜索再次纠错- 数字的1和字母的l是区分不出来的- cad坐标提取- 资料确实没有c…...
移动端兼容性测试的“苦”与“解”
一场与碎片化的持久战凌晨两点的办公室,测试工程师李明面对第37台报错设备苦笑——同一功能在A品牌流畅运行,却在B品牌低端机型反复闪退。屏幕上的崩溃日志如天书般蔓延,身后堆积如山的测试设备沉默宣告着移动端兼容性测试的残酷现实。在设备…...
秒杀系统设计:十万QPS下的技术架构演进
在电商大促场景中,秒杀系统是典型的高并发、低库存业务模型,其核心挑战在于瞬时十万级QPS(每秒查询率)下的系统稳定性与数据一致性。对于软件测试从业者而言,这不仅涉及性能压测的极限挑战,更需关注架构演进…...
仅用3行代码重构I/O密集型API,PHP异步响应时间从1.2s降至86ms(真实电商订单中心压测数据)
第一章:PHP异步I/O性能的本质瓶颈与重构价值PHP 传统同步阻塞模型在高并发 I/O 场景下存在根本性性能瓶颈:每个请求独占一个进程或线程,当执行文件读写、数据库查询或 HTTP 调用时,整个执行流被挂起,CPU 空转等待内核返…...
Outlook无法添加共享邮箱怎么办?一篇文章教你完成共享邮箱添加与发送配置
🔥个人主页:杨利杰YJlio❄️个人专栏:《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》🌟 让复杂的事情更…...
Architect.dev性能优化终极技巧:提升Lambda函数响应速度的10个方法
Architect.dev性能优化终极技巧:提升Lambda函数响应速度的10个方法 【免费下载链接】architect The simplest, most powerful way to build a functional web app (fwa) 项目地址: https://gitcode.com/gh_mirrors/ar/architect Architect.dev是一个强大的无…...
