轻量封装WebGPU渲染系统示例<55>- 顶点数据更新

当前示例源码github地址:

https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/VertexUpdateTest.ts

当前示例运行效果:

​​​​​​​

此示例基于此渲染系统实现,当前示例TypeScript源码如下:

export class VertexUpdateTest {private mRscene = new RendererScene();initialize(): void {this.mRscene.initialize({canvasWith: 512,canvasHeight: 512,rpassparam:{multisampled: true}});this.initScene();this.initEvent();}private mPlane: PlaneEntity;private initScene(): void {let rc = this.mRscene;let plane = new PlaneEntity({axisType: 1,geometryDynamic: true,extent: [-600, -600, 1200, 1200]});this.mPlane = plane;rc.addEntity(plane);}private initEvent(): void {const rc = this.mRscene;rc.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseDown);new MouseInteraction().initialize(rc, 0, false).setAutoRunning(true);}private mouseDown = (evt: MouseEvent): void => {let geom = this.mPlane.geometry;let attrib = geom.getAttribDataWithTypeName('position');let vs = attrib.data as Float32Array;vs[0] -= 100;attrib.update();};run(): void {this.mRscene.run();}
}

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

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

相关文章

App.vue中引入自定义组件

components目录中定义组件&#xff1a;Person.vue 目录截图&#xff1a; Person.vue文件中内容&#xff1a; <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年龄&#xff1a;{{age}}</h2><!--定义了…

数据的确权、流通、入表与监管研究(一):数据与确权(下)

关注WX公众号&#xff1a; commindtech77&#xff0c; 获得数据资产相关白皮书下载地址 1. 回复关键字&#xff1a;数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字&#xff1a;光大银行 下载 光大银行-《商业银行数据资产会计核算研究报告》 3. 回复关键字…

NX二次开发UFUN方式一键去除所有参数

一、概述 最近作了一个案例是通过遍历整个显示部件窗口的所有实体合并成一个部件&#xff0c;并且在导航器上也显示一个体&#xff0c;主要的思路是遍历当前所有实体&#xff0c;然后进行一键合并如图1所示&#xff0c;最后去除参数&#xff0c;这时导航器中显示一个体的记录。…

HelloWorld搭建(第一种模型)

1.创建Springboot项目并且引入依赖 <!-- 引入RabbitMQ的相关依赖 --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.2</version> </dependency> 2.第一种模式(直连…

html-css-js移动端导航栏底部固定+i18n国际化全局

需求&#xff1a;要做一个移动端的仿照小程序的导航栏页面操作&#xff0c;但是这边加上了i18n国家化&#xff0c;由于页面切换的时候会导致国际化失效&#xff0c;所以写了这篇文章 1.效果 切换页面的时候中英文也会跟着改变&#xff0c;不会导致切换后回到默认的语言 2.实现…

动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper

文章目录 前言下载github地址&#xff1a;网盘 关于VideoWebpagesYoutube和流媒体ShadersGIFs游戏和应用程序& more:Performance:多监视器支持&#xff1a;完结 前言 Lively Wallpaper是一款开源的视频壁纸桌面软件&#xff0c;类似 Wallpaper Engine&#xff0c;兼容 Wal…

功能真强大!5个令人惊叹的 Jupyter 黑科技

Jupyter 是一种功能强大的交互式计算环境&#xff0c;被广泛应用于数据分析、机器学习、科学计算等领域。 除了常见的基本功能外&#xff0c;Jupyter还隐藏着许多令人惊叹的黑科技&#xff0c;这些功能可以帮助用户更高效地完成工作&#xff0c;提升工作体验。 在本文中&…

linux线程与进程

简要 在Linux系统中&#xff0c;进程&#xff08;Process&#xff09;和线程&#xff08;Thread&#xff09;是操作系统中两个重要的概念&#xff0c;它们都是用于执行程序的执行单元&#xff0c;但有一些关键的区别。 在Linux系统中&#xff0c;可以使用fork系统调用创建新…

stm32f407 bm -> freertos

工程文件差异&#xff1a; 工程结构上&#xff0c;os 版本多了 FreeRTOS 文件夹 在 USER 下多了 FreeRTOSConfig.h 文件&#xff0c;和多了需要用到的一些外设驱动 对比添加 os 文件到 bm 工程中&#xff0c;以及 C/C .h 文件的包含 stm32f4xx_it.c 文件 bm 与 rtos 对比 ①…

龙年快乐,为大家准备了一份新年网安大礼包!

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员&#xff08;以编程为基础的学习&#xff09;再开始学习 我在之前的回答中&#xff0c;我都一再强调不要以编程为基础再开始学习网络安全&#xff0c;一般来说&#xff0c;学习编程不但学习周期长&#xff0c;而…

vmware安装openEuler操作系统

vmware安装openEuler操作系统 1、下载openEuler操作系统镜像文件2、安装openEuler操作系统3、配置使用openEuler操作系统 1、下载openEuler操作系统镜像文件 官网下载链接 链接: https://www.openeuler.org/zh/download/ 这里选择 openEuler 22.03 LTS SP2 版本 标准镜像包 文…

Linux--Raid磁盘冗余阵列

一、什么是Raid "RAID"一词是由David Patterson, Garth A. Gibson, Randy Katz 于1987年在加州大学伯克利分校发明的。在1988年6月SIGMOD会议上提交的论文"A Case for Redundant Arrays of Inexpensive Disks”"中提出&#xff0c;当时性能最好的大型机不断…