diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4f0a868c..31522638 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
+## [0.6.0-next.0](https://github.com/Tresjs/post-processing/compare/0.5.0...0.6.0-next.0) (2023-10-30)
+
+
+### Features
+
+* noise effect ([9f65ebf](https://github.com/Tresjs/post-processing/commit/9f65ebf8a74a08b2c95cfcee87270df515f9a563))
+
## [0.5.0](https://github.com/Tresjs/post-processing/compare/0.4.0...0.5.0) (2023-10-28)
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
index 9a1f831e..5864d2d3 100644
--- a/docs/.vitepress/config.ts
+++ b/docs/.vitepress/config.ts
@@ -31,6 +31,7 @@ export default defineConfig({
{ text: 'Bloom', link: '/guide/effects/bloom' },
{ text: 'Depth of Field', link: '/guide/effects/depth-of-field' },
{ text: 'Glitch', link: '/guide/effects/glitch' },
+ { text: 'Noise', link: '/guide/effects/noise' },
{ text: 'Outline', link: '/guide/effects/outline' },
{ text: 'Pixelation', link: '/guide/effects/pixelation' },
],
diff --git a/docs/.vitepress/theme/components/NoiseDemo.vue b/docs/.vitepress/theme/components/NoiseDemo.vue
new file mode 100644
index 00000000..0df5fb92
--- /dev/null
+++ b/docs/.vitepress/theme/components/NoiseDemo.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/components.d.ts b/docs/components.d.ts
index 62e62dc0..b85a79a7 100644
--- a/docs/components.d.ts
+++ b/docs/components.d.ts
@@ -12,6 +12,7 @@ declare module 'vue' {
DocsDemo: typeof import('./.vitepress/theme/components/DocsDemo.vue')['default']
GlitchDemo: typeof import('./.vitepress/theme/components/GlitchDemo.vue')['default']
LoveVueThreeJS: typeof import('./.vitepress/theme/components/LoveVueThreeJS.vue')['default']
+ NoiseDemo: typeof import('./.vitepress/theme/components/NoiseDemo.vue')['default']
OutlineDemo: typeof import('./.vitepress/theme/components/OutlineDemo.vue')['default']
PixelationDemo: typeof import('./.vitepress/theme/components/PixelationDemo.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
diff --git a/docs/guide/effects/noise.md b/docs/guide/effects/noise.md
new file mode 100644
index 00000000..edb90a14
--- /dev/null
+++ b/docs/guide/effects/noise.md
@@ -0,0 +1,37 @@
+# Noise
+
+
+
+
+
+Noise is an effect that adds Gaussian noise to the scene. This can be used to simulate a variety of effects, such as static on a TV or film grain.
+
+## Usage
+
+```vue
+
+
+
+
+
+
+
+```
+
+## Props
+
+| Prop | Description | Default |
+| -------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
+| `blendFunction` | The blend function of this effect. This prop is not reactive. | [BlendFunction.SCREEN](https://github.com/pmndrs/postprocessing/blob/c3ce388be247916437a314f17748a75329d65df1/src/enums/BlendFunction.js#L40) |
+| `premultiply` | Indicates whether noise will be multiplied with the input colors prior to blending | `false` |
+
+
+## Further Reading
+see [postprocessing docs](https://pmndrs.github.io/postprocessing/public/docs/class/src/effects/NoiseEffect.js~NoiseEffect.html)
\ No newline at end of file
diff --git a/docs/package.json b/docs/package.json
index eaa26761..7f65e351 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,8 +1,8 @@
{
"name": "docs",
- "private": true,
- "version": "0.0.0",
"type": "module",
+ "version": "0.0.0",
+ "private": true,
"scripts": {
"dev": "vitepress dev",
"build": "vitepress build",
diff --git a/package.json b/package.json
index b1ca1adf..13da1d07 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "@tresjs/post-processing",
"type": "module",
- "version": "0.5.0",
+ "version": "0.6.0-next.0",
"packageManager": "pnpm@8.10.2",
"description": "Post-processing library for TresJS",
"author": "Alvaro Saburido (https://github.com/alvarosabu/)",
diff --git a/playground/components.d.ts b/playground/components.d.ts
index 287278e1..d1ba8065 100644
--- a/playground/components.d.ts
+++ b/playground/components.d.ts
@@ -9,6 +9,7 @@ declare module 'vue' {
export interface GlobalComponents {
copy: typeof import('./src/components/UnrealBloom copy.vue')['default']
GlitchDemo: typeof import('./src/components/GlitchDemo.vue')['default']
+ NoiseDemo: typeof import('./src/components/NoiseDemo.vue')['default']
OutlineDemo: typeof import('./src/components/OutlineDemo.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
diff --git a/playground/package.json b/playground/package.json
index ed69cd7d..002b8b82 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -11,13 +11,13 @@
"dependencies": {
"@tresjs/cientos": "^3.5.1",
"@tresjs/core": "3.5.0",
- "@tresjs/leches": "^0.13.0",
"vue-router": "^4.2.5"
},
"devDependencies": {
+ "@tresjs/leches": "^0.13.0",
"@types/three": "^0.158.1",
"unplugin-auto-import": "^0.16.7",
"unplugin-vue-components": "^0.25.2",
"vite-plugin-qrcode": "^0.2.2"
}
-}
+}
\ No newline at end of file
diff --git a/playground/src/pages/noise.vue b/playground/src/pages/noise.vue
new file mode 100644
index 00000000..d7272d4a
--- /dev/null
+++ b/playground/src/pages/noise.vue
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/playground/src/router.ts b/playground/src/router.ts
index 6ec96332..1ac1dc72 100644
--- a/playground/src/router.ts
+++ b/playground/src/router.ts
@@ -25,6 +25,7 @@ export const routes = [
makeRoute('Depth of Field', '📷'),
makeRoute('Pixelation', '👾'),
makeRoute('Bloom', '🌼'),
+ makeRoute('Noise', '📟'),
]
export const router = createRouter({
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c099bfc5..98f1cebf 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -124,13 +124,13 @@ importers:
'@tresjs/core':
specifier: 3.5.0
version: 3.5.0(three@0.158.0)(vue@3.3.7)
- '@tresjs/leches':
- specifier: ^0.13.0
- version: 0.13.0(vue@3.3.7)
vue-router:
specifier: ^4.2.5
version: 4.2.5(vue@3.3.7)
devDependencies:
+ '@tresjs/leches':
+ specifier: ^0.13.0
+ version: 0.13.0(vue@3.3.7)
'@types/three':
specifier: ^0.158.1
version: 0.158.1
@@ -2345,7 +2345,7 @@ packages:
vue: 3.3.7(typescript@5.2.2)
transitivePeerDependencies:
- '@vue/composition-api'
- dev: false
+ dev: true
/@tresjs/nuxt@1.2.2(three@0.158.0)(vue@3.3.7):
resolution: {integrity: sha512-t+CzZvyRxkolLqP+o1nlfSf5qu5hJN43jKc04rBp5HXA0XqDHnL+351vEmXzG/3H+s3sTuKJlBMJh0smyRGDfQ==}
@@ -3162,7 +3162,7 @@ packages:
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- dev: false
+ dev: true
/@vueuse/core@10.5.0(vue@3.3.7):
resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==}
diff --git a/src/core/effects/Noise.vue b/src/core/effects/Noise.vue
new file mode 100644
index 00000000..9b2997f4
--- /dev/null
+++ b/src/core/effects/Noise.vue
@@ -0,0 +1,30 @@
+
+
+
diff --git a/src/index.ts b/src/index.ts
index 4b914dd9..2ed1b52b 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -3,6 +3,7 @@ import Glitch from './core/effects/Glitch.vue'
import Outline from './core/effects/Outline.vue'
import Pixelation from './core/effects/Pixelation.vue'
import DepthOfField from './core/effects/DepthOfField.vue'
+import Noise from './core/effects/Noise.vue'
import EffectComposer from './core/EffectComposer.vue'
@@ -13,4 +14,5 @@ export {
Pixelation,
DepthOfField,
EffectComposer,
+ Noise,
}
diff --git a/stats.html b/stats.html
index 927a1281..56404bc8 100644
--- a/stats.html
+++ b/stats.html
@@ -4818,7 +4818,7 @@