Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fcd829e79f | |||
| a3d9baf18c | |||
| 3903149549 | |||
| 4d984d1e28 |
+4
-1
@@ -117,9 +117,12 @@ make -f Makefile.dev release-arch
|
|||||||
- [x] Printable PDF of default scr/fx
|
- [x] Printable PDF of default scr/fx
|
||||||
- [x] Add NanoKontrol setup file
|
- [x] Add NanoKontrol setup file
|
||||||
- [x] Find and fix opengl errors 0500 ?
|
- [x] Find and fix opengl errors 0500 ?
|
||||||
- [ ] Bonus
|
- [ ] Improvements
|
||||||
- [ ] Record show as text files
|
- [ ] Record show as text files
|
||||||
- [ ] Play from record text file
|
- [ ] Play from record text file
|
||||||
|
- [ ] Key codes as inputs
|
||||||
|
- [ ] Mouse position and scroll as inputs
|
||||||
|
- [ ] Fixes
|
||||||
- [ ] Try to write NanoKontrol config
|
- [ ] Try to write NanoKontrol config
|
||||||
- [ ] Investigate video device fps loss (bad unregister ?)
|
- [ ] Investigate video device fps loss (bad unregister ?)
|
||||||
- explore libv4l directly [github](https://github.com/philips/libv4l) (with `-lv4l2`)
|
- explore libv4l directly [github](https://github.com/philips/libv4l) (with `-lv4l2`)
|
||||||
@@ -54,6 +54,7 @@ clean-release:
|
|||||||
configure~ \
|
configure~ \
|
||||||
depcomp \
|
depcomp \
|
||||||
**/.deps \
|
**/.deps \
|
||||||
|
**/**/.deps \
|
||||||
$(TARGET) \
|
$(TARGET) \
|
||||||
$(TARGET)-*.tar.gz \
|
$(TARGET)-*.tar.gz \
|
||||||
$(TARGET)-*.pkg.tar.zst \
|
$(TARGET)-*.pkg.tar.zst \
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
pkgname=forge-steel
|
pkgname=forge-steel
|
||||||
pkgver=1.0.0
|
pkgver=1.0.1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Fusion Of Real Time Generative Effects"
|
pkgdesc="Fusion Of Real Time Generative Effects"
|
||||||
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
arch=('i686' 'pentium4' 'x86_64' 'arm' 'armv7h' 'armv6h' 'aarch64' 'riscv64')
|
||||||
depends=('glfw>=1:3', 'v4l-utils>=1.32', 'alsa-lib>=1.2', 'libglvnd>=1.7')
|
depends=('glfw>=1:3', 'v4l-utils>=1.32', 'alsa-lib>=1.2', 'libglvnd>=1.7')
|
||||||
url="https://github.com/klemek/forge-steel"
|
url="https://github.com/klemek/forge-steel"
|
||||||
source=("${pkgname}-steel-${pkgver}.tar.gz::https://github.com/klemek/forge-steel/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
|
source=("${pkgname}-steel-${pkgver}.tar.gz::https://github.com/klemek/forge-steel/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
|
||||||
sha256sums=('da61207bc8af1b71544f5e35e99e7ea8dbbb72b77c0c7dc21f05ba694c28cdfa')
|
sha256sums=('b2345c1a87f6b5b13dcce6a237a3f9a9ddb7fa9c3e982f5e164e7d7fef5725f3')
|
||||||
srcdir=build
|
srcdir=build
|
||||||
backup=("usr/share/${pkgname}")
|
backup=("usr/share/${pkgname}")
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ Here are some pointers if you want to customize your FORGE experience:
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
FORGE is an engine rendering a project into visuals.
|
FORGE is an graphical engine rendering a project into visuals.
|
||||||
|
|
||||||
Using OpenGL GLSL language, it talks to your graphic card to generate layers of textures defined by the fragment shaders and outputs it to your screen.
|
Using OpenGL GLSL language, it talks to your graphic card to generate layers of textures defined by the fragment shaders and outputs it to your screen.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([forge], [steel-1.0.0], [klemek.dev@proton.me])
|
AC_INIT([forge], [steel-1.0.1], [klemek.dev@proton.me])
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -12,6 +12,7 @@ out vec4 fragColor;
|
|||||||
#include inc_magic.glsl
|
#include inc_magic.glsl
|
||||||
#include inc_functions.glsl
|
#include inc_functions.glsl
|
||||||
|
|
||||||
|
uniform int iDemo;
|
||||||
uniform sampler2D iTex7;
|
uniform sampler2D iTex7;
|
||||||
uniform sampler2D iTex8;
|
uniform sampler2D iTex8;
|
||||||
uniform int iSeed7;
|
uniform int iSeed7;
|
||||||
@@ -26,7 +27,7 @@ void main() {
|
|||||||
|
|
||||||
float k = mean(color_a);
|
float k = mean(color_a);
|
||||||
|
|
||||||
mix_value = mix(mix_value * 0.9 + 0.05, mix_value, 1 - iDemo);
|
mix_value = mix(mix_value, mix_value * 0.9 + 0.05, iDemo);
|
||||||
|
|
||||||
fragColor = mix(color_b, color_a, mix_type ? step(mix_value, k) : mix_value);
|
fragColor = mix(color_b, color_a, mix_type ? step(mix_value, k) : mix_value);
|
||||||
}
|
}
|
||||||
@@ -13,6 +13,7 @@ uniform vec2 iInputResolution2;
|
|||||||
uniform int iInputFormat1;
|
uniform int iInputFormat1;
|
||||||
uniform int iInputFormat2;
|
uniform int iInputFormat2;
|
||||||
|
|
||||||
|
uniform int iDemo;
|
||||||
uniform int iAutoRand;
|
uniform int iAutoRand;
|
||||||
uniform int iPage;
|
uniform int iPage;
|
||||||
uniform int iSelected;
|
uniform int iSelected;
|
||||||
@@ -99,6 +100,7 @@ vec4 debug(vec2 vUV)
|
|||||||
float mfx_value = magic(iMidi2_3[6].xy, vec3(1, 0, 0), iSeed8);
|
float mfx_value = magic(iMidi2_3[6].xy, vec3(1, 0, 0), iSeed8);
|
||||||
bool mfx_invert = magic_trigger(vec3(iMidi2_3[6].z, 0, 0), iSeed8);
|
bool mfx_invert = magic_trigger(vec3(iMidi2_3[6].z, 0, 0), iSeed8);
|
||||||
float mix_value = magic(iMidi3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
float mix_value = magic(iMidi3_1[1].xy, vec3(1, 0, 0), iSeed7);
|
||||||
|
mix_value = mix(mix_value, mix_value * 0.9 + 0.05, iDemo);
|
||||||
bool mix_type = magic_trigger(vec3(iMidi3_1[0].x, 0, 0), iSeed7 + 10);
|
bool mix_type = magic_trigger(vec3(iMidi3_1[0].x, 0, 0), iSeed7 + 10);
|
||||||
|
|
||||||
// logic
|
// logic
|
||||||
|
|||||||
@@ -3,13 +3,11 @@
|
|||||||
#ifndef INC_MAGIC
|
#ifndef INC_MAGIC
|
||||||
#define INC_MAGIC
|
#define INC_MAGIC
|
||||||
|
|
||||||
uniform int iDemo;
|
|
||||||
|
|
||||||
vec2 magic_f(vec2 F, vec3 B, float i)
|
vec2 magic_f(vec2 F, vec3 B, float i)
|
||||||
{
|
{
|
||||||
return vec2(
|
return vec2(
|
||||||
mix(F.x, randTime(i + 1), min(1, B.z + iDemo)),
|
mix(F.x, randTime(i + 1), min(1, B.z)),
|
||||||
mix(F.y, randTime(i + 2), min(1, B.z + iDemo))
|
mix(F.y, randTime(i + 2), min(1, B.z))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,9 +19,9 @@ vec2 magic_f(float i)
|
|||||||
vec3 magic_b(vec3 B, float i)
|
vec3 magic_b(vec3 B, float i)
|
||||||
{
|
{
|
||||||
return vec3(
|
return vec3(
|
||||||
mix(B.x, step(0.2, randTime(i + 3)), min(1, B.z + iDemo)),
|
mix(B.x, step(0.2, randTime(i + 3)), min(1, B.z)),
|
||||||
mix(B.y, step(0.5, randTime(i + 4)), min(1, B.z + iDemo)),
|
mix(B.y, step(0.5, randTime(i + 4)), min(1, B.z)),
|
||||||
min(1, B.z + iDemo)
|
min(1, B.z)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
#ifndef INC_SRC
|
#ifndef INC_SRC
|
||||||
#define INC_SRC
|
#define INC_SRC
|
||||||
|
|
||||||
|
uniform int iDemo;
|
||||||
|
|
||||||
uniform sampler2D iTex0;
|
uniform sampler2D iTex0;
|
||||||
uniform sampler2D iTex3;
|
uniform sampler2D iTex3;
|
||||||
uniform sampler2D iTex4;
|
uniform sampler2D iTex4;
|
||||||
|
|||||||
Reference in New Issue
Block a user