
Orillusion是一个纯Web3D渲染引擎,完全基于WebGPU标准开发。它旨在实现桌面级的渲染效果,并支持在浏览器中进行复杂场景的3D渲染。
Beta版本,不建议用于任何商业应用。
WebGPU是Web领域的最新技术,在3D渲染以及AI/LLM场景中将发挥关键作用。
我们的目标是为WebGPU领域创建一个专门的技术社区,汇聚杰出的开发者。
希望越来越多的前端开发者能够跟上最新的Web技术,不仅仅是为网页设计切图。
具体而言,我们将持续更新开源贡献者提供的优秀样例,让每个人都能看到更好的作品。
希望这能帮助突出社区中非常有才华的个人开发者!
<a href="https://www.youtube.com/@orillusion7225"><img src="https://yellow-cdn.veclightyear.com/835a84d5/68ef4a78-4eff-4e43-a34b-36bd15a948bd.gif" height="140"></a> <a href="https://github.com/ID-Emmett"><img src="https://yellow-cdn.veclightyear.com/835a84d5/afd62c85-58c3-4ccb-a801-5b76e4c1e69d.gif" height="140"></a> <a href="https://github.com/ID-Emmett"><img src="https://yellow-cdn.veclightyear.com/835a84d5/4fd369a9-f89a-46f4-b447-56c4c5e3fd62.gif" height="140"></a> <a href="https://github.com/ID-Emmett"><img src="https://yellow-cdn.veclightyear.com/835a84d5/c08e60da-7715-4d23-bda8-23276b941fe8.gif" height="140"></a> <a href="https://www.youtube.com/@orillusion7225"><img src="https://yellow-cdn.veclightyear.com/835a84d5/3b2fe4fd-70cc-4d75-8060-23338bafd229.gif" height="140"></a> <a href="https://github.com/OriIIusion"><img src="https://yellow-cdn.veclightyear.com/835a84d5/6ce1f916-601c-494f-a846-80c84ecc9e74.gif" height="140"></a> <a href="https://github.com/mate-h"><img src="https://yellow-cdn.veclightyear.com/835a84d5/dafb8377-793f-4206-a6a2-65d343e90c59.gif" height="140"></a> <a href="https://github.com/ID-Emmett"><img src="https://yellow-cdn.veclightyear.com/835a84d5/2c60f809-f631-4ce7-8398-9dd19c99299a.gif" height="140"></a> <a href="https://github.com/ID-Emmett"><img src="https://yellow-cdn.veclightyear.com/835a84d5/59c0f8cc-3652-4da8-95e3-d23a8ccea350.webp" height="140"></a> <a href="https://github.com/OriIIusion"><img src="https://yellow-cdn.veclightyear.com/835a84d5/9e74b7f8-fb05-474f-a14c-796cd0085c3c.gif" height="140"></a> <a href="https://github.com/seven1031"><img src="https://yellow-cdn.veclightyear.com/835a84d5/1cb7796d-4384-4cdb-beb2-f715f6ca9624.webp" height="140"></a> <a href="https://github.com/seven1031"><img src="https://yellow-cdn.veclightyear.com/835a84d5/61f49361-cae1-47b4-9982-bd1f03651051.webp" height="140"></a>
我们推荐使用前端构建工具来开发Web3D应用,如Vite或Webpack。
npm install @orillusion/core --save
import { Engine3D, Camera3D } from '@orillusion/core'
import * as Orillusion from '@orillusion/core'
为了更方便地使用引擎,我们支持使用原生<script>标签导入Orillusion。使用官方CDN链接有三种不同的导入方式:
Orillusion:<script src="https://unpkg.com/@orillusion/core/dist/orillusion.umd.js"></script> <script> const { Engine3D, Camera3D } = Orillusion </script>
上面的链接加载了Orillusion的全局构建版本,所有顶级API都作为全局Orillusion对象的属性暴露出来。
ES模块,我们只需要导入orillusion.es.js的ES构建版本<script type="module"> import { Engine3D, Camera3D } from "https://unpkg.com/@orillusion/core/dist/orillusion.es.js" </script>
<!-- 定义ES模块的名称或地址 --> <script type="importmap"> { "imports": { "@orillusion/core": "https://unpkg.com/@orillusion/core/dist/orillusion.es.js" } } </script> <!-- 可以导入自定义名称 --> <script type="module"> import { Engine3D, Camera3D } from "@orillusion/core" </script>
首先,我们需要使用Engine3D.init(),然后Engine3D实例将被创建以供进一步使用
import { Engine3D } from '@orillusion/core' Engine3D.init().then(()=>{ // 下一步 })
由于Engine3D.init()是异步的,我们建议在代码中使用async/await
import { Engine3D } from '@orillusion/core' async function demo(){ await Engine3D.init(); // 下一步 } demo()
默认情况下,Engine3D.init()会创建一个与窗口大小相同的canvas。我们也可以使用带有id的<canvas>标签手动创建canvas
<canvas id="canvas" width="800" height="500" />
接下来,我们需要通过id获取<canvas>,然后将<canvas>传递给canvasConfig来初始化引擎
import { Engine3D } from '@orillusion/core'; let canvas = document.getElementById('canvas') await Engine3D.init({ canvasConfig: { canvas } })
请阅读文档以了解更多信息。
Windows/Mac/Linux:
Android(在enable-unsafe-webgpu标志后面):
在开发或提出拉取请求之前,请确保阅读贡献指南。
Orillusion引擎基于MIT许可发布。