diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts
index 7480c84..1c118ce 100644
--- a/src/constants/Categories.ts
+++ b/src/constants/Categories.ts
@@ -80,6 +80,7 @@ export const CATEGORIES = [
subcategories: [
'Aurora',
'Beams',
+ 'Dither',
'Dot Grid',
'Hyperspeed',
'Ripple Grid',
diff --git a/src/constants/Components.ts b/src/constants/Components.ts
index b9a6e2a..4b9e6f1 100644
--- a/src/constants/Components.ts
+++ b/src/constants/Components.ts
@@ -75,6 +75,7 @@ const backgrounds = {
'threads': () => import('../demo/Backgrounds/ThreadsDemo.vue'),
'aurora': () => import('../demo/Backgrounds/AuroraDemo.vue'),
'beams': () => import('../demo/Backgrounds/BeamsDemo.vue'),
+ 'dither': () => import('../demo/Backgrounds/DitherDemo.vue'),
'grid-motion': () => import('../demo/Backgrounds/GridMotionDemo.vue'),
'hyperspeed': () => import('../demo/Backgrounds/HyperspeedDemo.vue'),
'balatro': () => import('../demo/Backgrounds/BalatroDemo.vue'),
diff --git a/src/constants/code/Backgrounds/ditherCode.ts b/src/constants/code/Backgrounds/ditherCode.ts
new file mode 100644
index 0000000..31561c1
--- /dev/null
+++ b/src/constants/code/Backgrounds/ditherCode.ts
@@ -0,0 +1,27 @@
+import code from '@content/Backgrounds/Dither/Dither.vue?raw';
+import type { CodeObject } from '../../../types/code';
+
+export const dither: CodeObject = {
+ cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Dither`,
+ installation: `npm install ogl`,
+ usage: `
+
+
+
+
+
+`,
+ code
+};
diff --git a/src/content/Backgrounds/Dither/Dither.vue b/src/content/Backgrounds/Dither/Dither.vue
new file mode 100644
index 0000000..e719b73
--- /dev/null
+++ b/src/content/Backgrounds/Dither/Dither.vue
@@ -0,0 +1,390 @@
+
+
+
+
+
diff --git a/src/demo/Backgrounds/DitherDemo.vue b/src/demo/Backgrounds/DitherDemo.vue
new file mode 100644
index 0000000..d6da0e8
--- /dev/null
+++ b/src/demo/Backgrounds/DitherDemo.vue
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+