Skip to content

Commit

Permalink
Merge pull request #322 from Orillusion/dev
Browse files Browse the repository at this point in the history
# [0.7.0](v0.6.9...v0.7.0) (2023-11-01)


### Bug Fixes

* Character loss during text layout. ([#317](#317)) ([8ad7169](8ad7169))
* fix gltf sample ([#321](#321)) ([4ca35b5](4ca35b5))
* **particle:** add get baseMap ([e59bd9f](e59bd9f))


### Features

* add graphic bath mesh ([#319](#319)) ([7df4f95](7df4f95))
* **audio:** move audio to @orillusion/media-extension ([166d286](166d286))
  • Loading branch information
lslzl3000 committed Nov 14, 2023
2 parents f949168 + 5becdc4 commit 9d304b1
Show file tree
Hide file tree
Showing 345 changed files with 15,046 additions and 3,411 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# [0.7.0](https://github.com/Orillusion/orillusion/compare/v0.6.9...v0.7.0) (2023-11-01)


### Bug Fixes

* Character loss during text layout. ([#317](https://github.com/Orillusion/orillusion/issues/317)) ([8ad7169](https://github.com/Orillusion/orillusion/commit/8ad71695df37ce3b21833773fe4c429817d2108c))
* fix gltf sample ([#321](https://github.com/Orillusion/orillusion/issues/321)) ([4ca35b5](https://github.com/Orillusion/orillusion/commit/4ca35b576454cb52aee47ddbc271a4d36a906e78))
* **particle:** add get baseMap ([e59bd9f](https://github.com/Orillusion/orillusion/commit/e59bd9f4d43e98941ef634aff5c4e525a02cc6f1))


### Features

* add graphic bath mesh ([#319](https://github.com/Orillusion/orillusion/issues/319)) ([7df4f95](https://github.com/Orillusion/orillusion/commit/7df4f95c9bfa85dc2aae121a64916121c2741988))
* **audio:** move audio to @orillusion/media-extension ([166d286](https://github.com/Orillusion/orillusion/commit/166d2866b3e427339082f6bbdc7d391d4b91e784))



## [0.6.9](https://github.com/Orillusion/orillusion/compare/v0.6.8...v0.6.9) (2023-09-06)

### Bug Fixes
Expand All @@ -23,6 +40,11 @@
* add transform depth order ([bf40831](https://github.com/Orillusion/orillusion/commit/bf40831cb9637f7d7b18e4c4cf650ddb5c0b2e13))
* fadeout csm shadow far away ([bf30fe7](https://github.com/Orillusion/orillusion/commit/bf30fe71f6ccba71ebb3e3406f4f248d28e7615d))

### BREAKING CHANGES
* **material:** `MaterialBase` has beed renamed to `Material`, also need to implement `get/set` for `baseMap` for custom materials
* **shadow:** drop `shadowBias`, `shadowNear`, `shadowFar` options in shadow settings, values will be calculated automatically
* **Bloom:** add new `exposure` option in Bloom settings

## [0.6.8](https://github.com/Orillusion/orillusion/compare/v0.6.7...v0.6.8) (2023-08-10)

### Bug Fixes
Expand Down
3 changes: 1 addition & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Orillusion | Samples</title>
<title>Graphic3D | Samples</title>
<style>
html,
body {
Expand Down Expand Up @@ -115,7 +115,6 @@
}
</style>
</head>

<body>
<svg class="toggle" onclick="document.body.classList.add('show')" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path>
Expand Down
1 change: 1 addition & 0 deletions index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from "./src/index"
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@orillusion/core",
"version": "0.6.9",
"version": "0.7.0",
"author": "Orillusion",
"description": "Orillusion WebGPU Engine",
"main": "./dist/orillusion.umd.js",
Expand Down
2 changes: 2 additions & 0 deletions packages/debug/GUIHelp.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import { GTAOPost } from '../../src/index.js';
import { GUI } from './dat.gui.module.js'

/**
* @internal
*/
class _GUIHelp {

public debug: boolean = false;
public data: any;
public gui: GUI;
Expand Down
15 changes: 15 additions & 0 deletions packages/effect/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Add effect components for [Orillusion](https://www.orillusion.com)

## Install
```bash
npm install @orillusion/core --save
npm install @orillusion/effect --save
```

Or access Global build from CDN
```html
<script src="https://unpkg.com/@orillusion/core/dist/orillusion.umd.js"></script>
<script src="https://unpkg.com/@orillusion/media-extention/dist/effect.umd.js"></script>
```

More doc from [Orillusion](https://www.orillusion.com/guide/effect/Readme.html)
3 changes: 3 additions & 0 deletions packages/effect/grass/geometry/GrassGeometry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,9 @@ export class GrassGeometry extends GeometryBase {
indexCount: indexes.length,
vertexStart: 0,
index: 0,
vertexCount: 0,
firstStart: 0,
topology: 0
});

this.bounds = new BoundingBox(Vector3.ZERO, new Vector3(9999, 9999, 9999));
Expand Down
113 changes: 37 additions & 76 deletions packages/effect/grass/material/GrassMaterial.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BlendMode, Color, GPUAddressMode, Material, RenderShader, RendererType, ShaderLib, Texture, Vector2, Vector3, Vector4 } from "@orillusion/core";
import { BlendMode, Color, GPUAddressMode, Material, RenderShaderPass, PassType, Shader, ShaderLib, Texture, Vector2, Vector3, Vector4 } from "@orillusion/core";
import { GrassShader } from "../shader/GrassShader";
import { GrassVertexAttributeShader } from "../shader/GrassVertexAttributeShader";
import { GrassCastShadowShader } from "../shader/GrassCastShadowShader";
Expand All @@ -7,11 +7,12 @@ export class GrassMaterial extends Material {
constructor() {
super();

let newShader = new Shader();
ShaderLib.register("GrassVertexAttributeShader", GrassVertexAttributeShader);
ShaderLib.register("GrassShader", GrassShader);

let colorPass = new RenderShader(`GrassShader`, `GrassShader`);
this.defaultPass = colorPass;
let colorPass = new RenderShaderPass(`GrassShader`, `GrassShader`);
colorPass.passType = PassType.COLOR;
colorPass.setShaderEntry(`VertMain`, `FragMain`)
colorPass.setDefine("TRANSFORMVERTEX", true);
let shaderState = colorPass.shaderState;
Expand All @@ -21,17 +22,18 @@ export class GrassMaterial extends Material {
shaderState.useLight = true;
shaderState.castShadow = false;
shaderState.blendMode = BlendMode.NONE;
newShader.addRenderPass(colorPass);

ShaderLib.register("GrassCastShadowShader", GrassCastShadowShader);

let shadowPass = new RenderShader(`GrassCastShadowShader`, `GrassCastShadowShader`);
let shadowPass = new RenderShaderPass(`GrassCastShadowShader`, `GrassCastShadowShader`);
shadowPass.passType = PassType.SHADOW
shadowPass.setDefine("USE_ALPHACUT", true);
shadowPass.setDefine("TRANSFORMVERTEX", true);
shadowPass.setShaderEntry(`VertMain`)
shadowPass.shaderState.blendMode = BlendMode.NONE;
shadowPass.shaderState.receiveEnv = false;
this.addPass(RendererType.SHADOW, shadowPass);

newShader.addRenderPass(shadowPass);

colorPass.setUniformColor("baseColor", new Color(0.0, 1.0, 0.0, 1.0));
colorPass.setUniformColor("grassBottomColor", new Color(3 / 255, 16 / 255, 3 / 255));
Expand Down Expand Up @@ -67,159 +69,118 @@ export class GrassMaterial extends Material {
// this.baseMap = Engine3D.res.whiteTexture;
colorPass.doubleSide = true;
shadowPass.doubleSide = true;

this.shader = newShader;
}

public set baseMap(texture: Texture) {
// texture.visibility = GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT;
let shadowPass = this.getPass(RendererType.SHADOW)[0];

this.defaultPass.setTexture(`baseMap`, texture);
shadowPass.setTexture(`baseMap`, texture);
this.shader.setTexture(`baseMap`, texture);
}

public get baseMap(): Texture {
return this.defaultPass.getTexture(`baseMap`);
return this.shader.getTexture(`baseMap`);
}

public set windMap(texture: Texture) {
// texture.visibility = GPUShaderStage.VERTEX;
texture.addressModeU = GPUAddressMode.repeat;
texture.addressModeV = GPUAddressMode.repeat;
this.defaultPass.setTexture("windMap", texture);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setTexture("windMap", texture);
this.shader.setTexture("windMap", texture);
}

public set windBound(v: Vector4) {
this.defaultPass.setUniformVector4("windBound", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

this.defaultPass.setUniformVector4("windBound", v);
shadowPass.setUniformVector4("windBound", v);
this.shader.setUniformVector4("windBound", v);
}

public get windBound(): Vector4 {
return this.defaultPass.uniforms["windBound"].vector4;
return this.shader.getUniform("windBound").data;
}

public set grassBaseColor(v: Color) {
this.defaultPass.setUniformColor("grassBottomColor", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];
shadowPass.setUniformColor("grassBottomColor", v);
this.shader.setUniformColor("grassBottomColor", v);
}

public get grassBaseColor(): Color {
return this.defaultPass.uniforms["grassBottomColor"].color;
return this.shader.getUniformColor("grassBottomColor");
}

public set grassTopColor(v: Color) {
this.defaultPass.setUniformColor("grassTopColor", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformColor("grassTopColor", v);
this.shader.setUniformColor("grassTopColor", v);
}

public get grassTopColor(): Color {
return this.defaultPass.uniforms["grassTopColor"].color;
return this.shader.getUniformColor("grassTopColor");
}

public set windDirection(v: Vector2) {
this.defaultPass.setUniformVector2("windDirection", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformVector2("windDirection", v);
this.shader.setUniformVector2("windDirection", v);
}

public get windDirection(): Vector2 {
return this.defaultPass.uniforms["windDirection"].vector2;
return this.shader.getUniform("windDirection").data;
}

public set windPower(v: number) {
this.defaultPass.setUniformFloat("windPower", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("windPower", v);
this.shader.setUniformFloat("windPower", v);
}

public get windPower(): number {
return this.defaultPass.uniforms["windPower"].data;
return this.shader.getUniform("windPower").data;
}

public set windSpeed(v: number) {
this.defaultPass.setUniformFloat("windSpeed", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("windSpeed", v);
this.shader.setUniformFloat("windSpeed", v);
}

public get windSpeed(): number {
return this.defaultPass.uniforms["windSpeed"].data;
return this.shader.getUniform("windSpeed").data;
}

public set grassHeight(v: number) {
this.defaultPass.setUniformFloat("grassHeight", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("grassHeight", v);
this.shader.setUniformFloat("grassHeight", v);
}

public get grassHeight(): number {
return this.defaultPass.uniforms["grassHeight"].data;
return this.shader.getUniform("grassHeight").data;
}

public set curvature(v: number) {
this.defaultPass.setUniformFloat("curvature", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("curvature", v);
this.shader.setUniformFloat("curvature", v);
}

public get curvature(): number {
return this.defaultPass.uniforms["curvature"].data;
return this.shader.getUniform("curvature").data;
}

public set roughness(v: number) {
this.defaultPass.setUniformFloat("roughness", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("roughness", v);
this.shader.setUniformFloat("roughness", v);
}

public get roughness(): number {
return this.defaultPass.uniforms["roughness"].data;
return this.shader.getUniform("roughness").data;
}

public set translucent(v: number) {
this.defaultPass.setUniformFloat("translucent", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("translucent", v);
this.shader.setUniformFloat("translucent", v);
}

public get translucent(): number {
return this.defaultPass.uniforms["translucent"].data;
return this.shader.getUniform("translucent").data;
}

public set soft(v: number) {
this.defaultPass.setUniformFloat("soft", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("soft", v);
this.shader.setUniformFloat("soft", v);
}

public get soft(): number {
return this.defaultPass.uniforms["soft"].data;
return this.shader.getUniform("soft").data;
}

public set specular(v: number) {
this.defaultPass.setUniformFloat("specular", v);
let shadowPass = this.getPass(RendererType.SHADOW)[0];

shadowPass.setUniformFloat("specular", v);
this.shader.setUniformFloat("specular", v);
}

public get specular(): number {
return this.defaultPass.uniforms["specular"].data;
return this.shader.getUniform("specular").data;
}
}
1 change: 1 addition & 0 deletions packages/effect/grass/shader/GrassCastShadowShader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export let GrassCastShadowShader = /* wgsl */`
var windMap: texture_2d<f32>;
const DEGREES_TO_RADIANS : f32 = 3.1415926 / 180.0 ;
const PI : f32 = 3.1415926 ;
@vertex
fn VertMain( vertex:VertexAttributes ) -> VertexOutput {
Expand Down
1 change: 1 addition & 0 deletions packages/effect/grass/shader/GrassShader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ export let GrassShader = /* wgsl */`
var windMap: texture_2d<f32>;
const DEGREES_TO_RADIANS : f32 = 3.1415926 / 180.0 ;
const PI : f32 = 3.1415926 ;
@vertex
fn VertMain( vertex:VertexAttributes ) -> VertexOutput {
Expand Down
6 changes: 3 additions & 3 deletions packages/effect/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "@orillusion/effect",
"version": "0.1.0",
"version": "0.1.1",
"author": "Orillusion",
"description": "Orillusion effect Effects",
"description": "Orillusion Effects Plugin",
"main": "./dist/effect.umd.js",
"module": "./dist/effect.es.js",
"module:dev": "./index.ts",
Expand All @@ -19,6 +19,6 @@
"url": "git+https://github.com/Orillusion/orillusion.git"
},
"dependencies": {
"@orillusion/core": "^0.6.3"
"@orillusion/core": "^0.7.0"
}
}
25 changes: 25 additions & 0 deletions packages/effect/vite.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { defineConfig } from 'vite'
const path = require('path')
export default defineConfig({
resolve: {
alias: {
'@orillusion/core': path.resolve(__dirname, '../../src'),
'@orillusion': path.resolve(__dirname, '../')
}
},
build: {
lib: {
entry: path.resolve('index.ts'),
name: 'Effect',
fileName: (format) => `effect.${format}.js`
},
rollupOptions: {
external: ['@orillusion/core'],
output: {
globals: {
'@orillusion/core': 'Orillusion'
}
}
}
}
})
Loading

0 comments on commit 9d304b1

Please sign in to comment.