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 @@