轻量封装WebGPU渲染系统示例<32>- 若干线框对象(源码)

当前示例源码github地址:

https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/WireframeEntityTest.ts

当前示例运行效果:

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

export class WireframeEntityTest {private mRscene = new RendererScene();initialize(): void {this.initEvent();this.initScene();}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 => {};private initScene(): void {const rc = this.mRscene;let axis = new AxisEntity();rc.addEntity( axis );let entities = [new SphereEntity(),new BoxEntity(),new CylinderEntity({alignYRatio : 0.0}),new CubeEntity({cubeSize: 130}),new TorusEntity({radius: 110, axisType: 1}),new PlaneEntity({axisType: 1, extent: [-80, -80, 160, 160], doubleFace: true}),new ConeEntity({alignYRatio : 0.0})];let ls = entities;entities = [];// random sortingfor (let i = 0, ln = ls.length; i < ln; ++i) {const k = Math.round(Math.random() * 888)%ls.length;const t = ls[k];entities.push(ls[k]);ls.splice(k,1);}let radius = 300.0;for (let i = 0; i < entities.length; ++i) {let rad = 2.0 * Math.PI * i / entities.length;let pos = new Vector3(radius * Math.cos(rad), 0, radius * Math.sin(rad));let entity = entities[i].setAlbedo(new Color4().randomRGB(1.5, 0.1));entity.arm = [1.1, Math.random() * 0.95 + 0.05, Math.random() * 0.9 + 0.1];entity.transform.setPosition( pos );rc.addEntity(entity);}radius += 230;for (let i = 0; i < entities.length; ++i) {let rad = 2.0 * Math.PI * i / entities.length + 0.5;let pos = new Vector3(radius * Math.cos(rad), 0, radius * Math.sin(rad));let entity = new PrimitiveEntity({geometry: entities[i].geometry, doubleFace: true, wireframe: true})entity.color = entities[i].color;entity.arm = entities[i].arm;entity.transform.setPosition( pos );rc.addEntity(entity);}}run(): void {this.mRscene.run();}
}

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

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

相关文章

自学SLAM(8)《第四讲:相机模型与非线性优化》作业

前言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;本篇文章为初学高翔老师课的第四次作业。 文章目录 前言1.图像去畸变2.双目视差的使用3.矩阵微分4.高斯牛顿法的曲线拟合实验 1.图像去畸变 现实⽣活中的图像总存在畸变。原则上来说&#xff0c;针孔透…

(论文阅读24/100)Visual Tracking with Fully Convolutional Networks

文献阅读笔记&#xff08;sel - CNN&#xff09; 简介 题目 Visual Tracking with Fully Convolutional Networks 作者 Lijun Wang, Wanli Ouyang, Xiaogang Wang, and Huchuan Lu 原文链接 http://202.118.75.4/lu/Paper/ICCV2015/iccv15_lijun.pdf 【DeepLearning】…

java语言开发B/S架构医院云HIS系统源码【springboot】

医院云HIS全称为基于云计算的医疗卫生信息系统( Cloud- Based Healthcare Information System)&#xff0c;是运用云计算、大数据、物联网等新兴信息技术&#xff0c;按照现代医疗卫生管理要求&#xff0c;在一定区域范围内以数字化形式提供医疗卫生行业数据收集、存储、传递、…

Linux常用的磁盘使用情况命令汇总

1、查看分区使用百分比 df -h 2、查看指定目录磁盘使用情况 du -hac --max-depth1 /opt 参数&#xff1a;-a 查看所有文件&#xff0c;-c 汇总统计&#xff0c;max-depth1 查看深度为1&#xff0c;2级目录不再统计。 3、常用统计命令汇总

[LeetCode]-622. 设计循环队列

目录 662. 设计循环队列 题目 思路 代码 662. 设计循环队列 622. 设计循环队列 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/design-circular-queue/ 题目 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&…

PostGIS学习教程六:几何图形(geometry)

文章目录 一、介绍二、元数据表三、表示真实世界的对象3.1、点&#xff08;Points&#xff09;3.2、线串&#xff08;Linestring&#xff09;3.3、多边形&#xff08;Polygon&#xff09;3.4、图形集合&#xff08;Collection&#xff09; 四、几何图形输入和输出五、从文本转换…

2023.11.16-hive sql高阶函数lateral view,与行转列,列转行

目录 0.lateral view简介 1.行转列 需求1: 需求2: 2.列转行 解题思路: 0.lateral view简介 hive函数 lateral view 主要功能是将原本汇总在一条&#xff08;行&#xff09;的数据拆分成多条&#xff08;行&#xff09;成虚拟表&#xff0c;再与原表进行笛卡尔积&#xff0c…

JDK5,7,11,17特性

目录 JDK5 基本数据类型自动装箱拆箱 可变参数 增强for 注解 泛型 枚举 概述 定义 常用方法 自定义构造方法 枚举类中的抽象方法 JDK7 二进制字面量 switch 异常 try-with-resources&#xff0c;自动关流 JDK11 FileInputStream增强 String类增强 Stream流…

LeetCode - 142. 环形链表 II (C语言,快慢指针,配图)

如果你对快慢指针&#xff0c;环形链表有疑问&#xff0c;可以参考下面这篇文章&#xff0c;了解什么是环形链表后&#xff0c;再做这道题会非常简单&#xff0c;也更容易理解下面的图片公式等。 LeetCode - 141. 环形链表 &#xff08;C语言&#xff0c;快慢指针&#xff0c;…

制造企业需要哪些管理系统?怎么选才最划算?

制造企业需要哪些管理系统&#xff1f;怎么选才最划算&#xff1f; 一般来说&#xff0c;制造企业必须要有的几大业务模块及其对应的业务系统有&#xff1a; 生产计划和控制&#xff1a;生产计划系统、MRP&#xff08;物料需求计划&#xff09;系统、ERP&#xff08;企业资源…

代码随想录图论部分-695. 岛屿的最大面积|1020. 飞地的数量

695. 岛屿的最大面积 题目&#xff1a;给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff0…

聊聊leetcode可包含重复数字的序列的《47. 全排列 II》中的vis标记函数

1 题目描述&#xff08;字节二面题目&#xff09; 2 代码 class Solution {List<List<Integer>>res;List<Integer>list;boolean[]used;public List<List<Integer>> permuteUnique(int[] nums) {resnew ArrayList<>();listnew ArrayList&l…