Orillusion次时代 WebGPU 引擎

2024-02-23 18:20

本文主要是介绍Orillusion次时代 WebGPU 引擎,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Orillusion 次时代 WebGPU 引擎

官网: https://www.orillusion.com/
教程: https://www.orillusion.com/guide/
Orillusion 引擎是一款完全支持 WebGPU 标准的轻量级渲染引擎。基于最新的 Web 图形API标准,我们做了大量的探索和尝试,实现了很多曾经在 Web 中很难实现或者根本实现不了的技术和功能。我们自己从以下几个方面对引擎的架构和功能特点做出了总结。

使用之前需要安装最新的Chrome/Edge浏览器
还需要安装python3

第一个demo

1. 编写index.html

在本地文件夹Orillusion下新建index.html,把如下代码粘进去

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>1My first Orillusion app</title><style>body {margin: 0;}</style>
</head><body><!-- 可以定义ES模块的名称和对应地址 --><script type="importmap">{"imports": {"@orillusion/core": "https://unpkg.com/@orillusion/core/dist/orillusion.es.js","@orillusion/stats": "https://unpkg.com/@orillusion/stats/dist/stats.es.js"}}</script><!-- 可以使用自定义名称引入 --><script type="module">import { Engine3D, Scene3D, Object3D, Camera3D, LitMaterial, BoxGeometry, MeshRenderer, DirectLight, HoverCameraController, View3D, AtmosphericComponent } from '@orillusion/core'import { Stats } from "@orillusion/stats"async function demo() {// initializa engineawait Engine3D.init()// create new scene as root nodelet scene3D = new Scene3D()// add an Atmospheric sky enviromentlet sky = scene3D.addComponent(AtmosphericComponent)sky.sunY = 0.6// create cameralet cameraObj = new Object3D()let camera = cameraObj.addComponent(Camera3D)// adjust camera viewcamera.perspective(60, Engine3D.aspect, 1, 5000.0)// set camera controllerlet controller = cameraObj.addComponent(HoverCameraController)controller.setCamera(0, 0, 15)// add camera nodescene3D.addChild(cameraObj)// create lightlet light = new Object3D()// add direct light componentlet component = light.addComponent(DirectLight)// adjust lightinglight.rotationX = 45light.rotationY = 30component.intensity = 1// add light objectscene3D.addChild(light)// create new objectconst obj = new Object3D()// add MeshRendererlet mr = obj.addComponent(MeshRenderer)// set geometrymr.geometry = new BoxGeometry(5, 5, 5)// set materialmr.material = new LitMaterial()// set rotationobj.rotationY = 45// add objectscene3D.addChild(obj)// create a view with target scene and cameralet view = new View3D()view.scene = scene3Dview.camera = camera// start renderEngine3D.startRenderView(view)}demo()</script>
</body></html>

2. python运行简易服务器

命令行运行如下命令 -d 后面跟本地文件夹路径

python -m http.server 9000 -d D:\chenchao\web3dprojects\Orillusion

3. 用Edge浏览器打开http://127.0.1.1:9000/

在这里插入图片描述

这篇关于Orillusion次时代 WebGPU 引擎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/739511

相关文章

WiFi6时代来临! 华三H3C NX54路由器还值得购买吗?

《WiFi6时代来临!华三H3CNX54路由器还值得购买吗?》WiFi6时代已经来临,众多路由器厂商也纷纷推出了兼容WiFi6协议的路由器,今天我们将深入体验H3CNX54路由器,这款由知名企业... 随着科技的发展,WiFi6逐渐走进了我们的日常生活之中,相比WiFi5来说,WiFi6拥有更高的带宽、更高

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

内卷时代无人机培训机构如何做大做强

在当今社会,随着科技的飞速发展,“内卷”一词频繁被提及,反映了各行业竞争日益激烈的现象。对于无人机培训行业而言,如何在这样的时代背景下脱颖而出,实现做大做强的目标,成为每个培训机构必须深思的问题。以下是从八个关键方面提出的策略,旨在帮助无人机培训机构在内卷时代中稳步前行。 1. 精准定位市场需求 深入研究市场:通过市场调研,了解无人机行业的最新趋势、政策导向及未来发展方向。 明确目标

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

MySQL技术内幕_innodb存储引擎

MySQL技术内幕_innodb存储引擎 INNODB innodb中如果表没有主键 表是否由 非空唯一键,有则该字段为主键没有,则自动创建一个6字节大小的指针 innodb存储引擎的所有数据都存储在表空间中,表空间由段,区,页(块)组成。 如果启用了 innodb_file_per_table, 则每张表内的数据可以单独放在一个表空间中即使启用了上面参数,共享表空间也会因为 系统事务信息

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能