Prompts to get AI chatbots to make really cool shaders for OpenRGB.

This page summarizes the projects mentioned and recommended in the original post on /r/OpenRGB

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Pormpt 1: I want you to act as a Shader developer. I will provide some details about the design of an shader, (which i may refer to as an RGB effect, RGB profile or or something similar. It will be your job to come up with creative ways to visualize my ideas. This could involve creating cool effects with unique designs. The shader will be vizualised on Internal computer RGB devices and RGB phepirals, such as RGB ram and RGB keyboards, the shaders should be optimized to work with that. The shader has to work in OpenRGB, i will provide some examples of shader code that works in openRGB as your knownledge on that already is very limited. Here are some code that works in OpenRGB: This is a shader that has beach like colors: // https://www.shadertoy.com/view/XtGSDz #define horizontal true float sigmoid(float x) { return 1.0 / (1.0 + pow(2.71828, -x)); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 coords = horizontal ? fragCoord.yx : fragCoord.xy; vec2 res = horizontal ? iResolution.yx : iResolution.xy; vec2 uv = coords.xy / res.xy; vec4 water = vec4(0.2, 0.3, 0.8, 1.0); vec4 sand = vec4(0.75, 0.6, 0.4, 1.0) * 1.2 + 1.0/14.0; sand = mix(sand, sand/4.0, 1.0 - sigmoid(uv.x*10.0 - 6.0)); water += sin(uv.x) * cos(uv.y) / 2.0; water += 1.0 / 10.0; water += sin(uv.x) * cos(uv.y); uv.x += sin(uv.y * 7.0) / 20.0 * sin(iTime); uv.x += sin(uv.y * 3.0) / 10.0 * cos(iTime); vec4 wet_sand = mix(sand, vec4(0.8, 0.9, 0.8, 1.0), 1.0 - sigmoid(uv.x*10.0 - 4.0)); fragColor = mix(water, wet_sand, pow(sigmoid(uv.x*10.0 - 3.0), 2.0)); } - This is a shader with a beam effect: #define beam_color vec4(1.,0.,1.,1.) #define dir -1. void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; float y = mod(dir * iTime, 1.5); float str = -pow((uv.y - y) * 110., 2.) + .8; uv.x -= clamp(str * .01, 0., 1.); float beam = pow(1. - pow(abs(uv.y - y), .3), 3.); fragColor = beam * beam_color; } - This shader has an effect with multiple Beams: #define PI 3.1415926535897932384626 float time = iTime; vec2 resolution = iResolution.xy; //f0:start zoom: float f0 = 0.5; //f1:vertical spread: float f1 = 0.05; //f2:horizontal spread: float f2 = 0.05; vec3 color = vec3(0.0, 0.3, 0.5); void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 p = (gl_FragCoord.xy * 2.0 - resolution) / min(resolution.x, resolution.y) * f0; float f = 0.0; for(float i = 0.0; i < 100.0; i++) { float s = sin(time + i * PI / 4.0 ) * 0.8 +f1; float c = cos(time + i * PI / 5.0 ) * 0.8 +f2; f += 0.001 / (abs(p.x + c) * abs(p.y + s)); } fragColor = vec4(vec3(f * f * color), 1.0); } - This shader is named bubblegum and has like a flowing space in the middle that changes colors: // forked from https://www.shadertoy.com/view/4tl3Rn float roundLookingBlob(vec2 fragCoord, vec2 tPos, float r) { vec2 pos = fragCoord.xy/iResolution.yy - vec2(0.5); pos.x -= ((iResolution.x-iResolution.y)/iResolution.y)/2.0; return pow(max(1.0-length(pos-tPos), 0.0) , r); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { float v = 0.0 + roundLookingBlob(fragCoord * 0.2,vec2(sin(iTime)* 2.0, cos(iTime)*0.004), 10.0) + roundLookingBlob(fragCoord,vec2(sin(iTime*0.6)*0.2, cos(iTime)*0.3), 7.0) + roundLookingBlob(fragCoord,vec2(cos(iTime*0.8)*0.3, sin(iTime*1.1)*0.04), 5.0) + roundLookingBlob(fragCoord,vec2(cos(iTime*0.2)*0.2, sin(iTime*0.9)*0.05), 8.0) + roundLookingBlob(fragCoord,vec2(cos(iTime*1.2)*0.2, 2.0 *sin(iTime*0.9)*0.05), 8.0) + roundLookingBlob(fragCoord,vec2(cos(iTime*0.3)*0.4, sin(iTime*1.1)*0.4), 5.0) + roundLookingBlob(fragCoord,vec2(sin(iTime*0.6)*0.9, cos(iTime)*0.3), 7.0) + roundLookingBlob(fragCoord,vec2(sin(iTime*0.6)*0.3, cos(iTime)*0.8), 7.0) + roundLookingBlob(fragCoord,vec2(cos(iTime*0.3)*0.9, sin(iTime*0.1)*0.4), 3.0) ; v = clamp((v-0.5)*1000.0, 0.0, 1.0); float r = -1.0 * 1.0 *sin(iTime) - 2.0* cos(1.0 * iTime) * fragCoord.x / iResolution.x * fragCoord.y / iResolution.y; float g = 0.0 - 0.5 * cos(2.0 * iTime) * fragCoord.y / iResolution.y; float b = 4.0 + sin(iTime) - g + 0.8; fragColor = vec4(r * v, v * g, v * b, 0.0); } - This shader is named bubbles and gives some goood funny rainbow bubbles: float GetCircle(vec2 uv, vec2 position, float radius) { float dist = distance(position, uv); dist = smoothstep(dist - 1.2, dist, radius); return dist * dist * dist; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = vec2(fragCoord.xy - 0.5 * iResolution.xy) / iResolution.y; float pixel = 0.; vec3 positions[8]; float Time = iTime / 2.; positions[0] = vec3(tan(Time * 1.4) * 1.3, cos(iTime * 2.3) * 0.4, 1.22); positions[1] = vec3(tan(Time * 3.0) * 1.0, cos(iTime * 1.3) * 0.6, 0.12); positions[2] = vec3(tan(Time * 2.1) * 1.5, cos(iTime * 1.9) * 0.8, 0.4); positions[3] = vec3(tan(Time * 1.1) * 1.1, cos(iTime * 2.6) * 0.7, 0.15); positions[4] = vec3(tan(Time * 1.8) * 1.1, cos(iTime * 2.1) * 0.5, 0.25); positions[5] = vec3(tan(Time * 1.1) * 1.2, cos(iTime * 1.3) * 0.2, 0.15); positions[6] = vec3(tan(Time * 1.7) * 1.4, cos(iTime * 2.4) * 0.3, 0.11); positions[7] = vec3(tan(Time * 2.8) * 1.5, cos(iTime * 1.1) * 0.4, 0.21); for (int i = 0; i < 8; i++) pixel += GetCircle(uv, positions[i].xy, positions[i].z); pixel = smoothstep(.8, 1., pixel) * smoothstep(1.5, .9, pixel); vec3 col = 0.5 + 0.5*cos(iTime+uv.xyx+vec3(0,2,4)); fragColor = vec4(vec3(pixel) * col, 1.0); } - This shader is named cartoon-waves and is like a wave effect with red and blue colors: // https://www.shadertoy.com/view/ldjBRw float fast_tanh(float x){ float x2 = x * x; float a = x * (135135. + x2 * (17325. + x2 * (378. + x2))); float b = 135135. + x2 * (62370. + x2 * (3150. + x2 * 28.)); return a / b; } void mainImage(out vec4 O, in vec2 U) { O.xyz = iResolution; float y, i=-15., k=O.y, c; U /= k; while (i++ < 15.) c = exp(-.1*i*i), y = (.08 + .02 * sin(iTime*2.+i*2.)) * exp(-.01*i*i) * sin(iTime*2. + U.x / (.2-.1*c) + i*4. ) - i/2. + 1.5 - U.y, O += max(0., 1.-exp(-y*k*c) ) * ( fast_tanh(40.*y) * (0.5 + .4 * sin(iTime+i+vec4(0,1,1,0))) - O ); } - This shader is light blue and has a pink bubble that glows up in a breathing effect: #define speed 1.5 #define stop 1.0 #define color1 vec3(1.0,0.0,1.0) #define color2 vec3(0.0, 1.0, 1.0) void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = 2.0 * (fragCoord.xy / iResolution.xy) - 1.0; fragColor = mix(vec4(color1, 1.0), vec4(color2, 1.0), (uv.x * uv.x + uv.y * uv.y) * stop + sin(iTime * speed)); } - This shader is just a pink one where it gets blue in the sides some times and it happens fast: #define background vec4(0,0,1,1) #define animation_speed 10. #define spread 1.0 #define rotate false vec2 rotateUV(vec2 uv, float rotation, float mid) { return vec2( cos(rotation) * (uv.x - mid) + sin(rotation) * (uv.y - mid) + mid, cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid ); } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = (fragCoord.xy / iResolution.xy - 0.5) * 2.* sin(animation_speed * iTime); if(rotate) { uv = rotateUV(uv, iTime, 0.); } fragColor = background+vec4(pow(spread - uv.x, 3.), 0.,0.,1.); } - This shader just shifts between colors and black: // https://www.shadertoy.com/view/Mdf3W8 float bump(float x) { return abs(x) > 1.0 ? 1.0*x : x ; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = (fragCoord.xy / iResolution.xy); float timeScroll = iTime* 1.0; float sinusCurve = sin((uv.x*2.0+timeScroll)/0.5)*0.3; uv.y = (uv.y * 2.0 - 1.00) + sinusCurve; float line = abs(0.1 /uv.y); vec3 color = vec3(0.0); color.x = bump( sin(iTime)*(uv.x - 1.0)); color.y = bump( sin(iTime)*(uv.x - 0.0)); color.z = bump( sin(iTime)*(uv.x - 0.0)); fragColor = vec4(color, 0.0); } - This one is some pink, blue and orange like waves ( i wanna note that i dont think mouse interractions work in OpenRGB) : //--------------------------------------------------------- // Shader: ColoredWaves.glsl // original: http://glslsandbox.com/e#5398.8 // added some mouse interaction //--------------------------------------------------------- float f1 = 30.0;// scale float f2 = 15.0; // size float f3 = 1.5; // gaps float f4 = 0.5; // position float f5 = 0.25; //shape modifier y float f6 = 0.25; //shape modifier x float f7 = 2.0; // amount // color channels multipliers float r = 1.0; float g = 1.0; float b = 1.0; void mainImage( out vec4 fragColor, in vec2 fragCoord ) { float scale = iResolution.y / f1; float ring = f2 + floor(- 5.5* 2.0); float radius = iResolution.x; float gap = scale * f3; vec2 pos = fragCoord.xy - iResolution.xy * f4; float d = length(pos); // Create the wiggle d += (sin(pos.y * f5 / scale + iTime) * sin(pos.x * f6 / scale + iTime * 0.5)) * scale * f7; // Compute the distance to the closest ring float v = mod(d + radius / (ring * 2.0), radius / ring); v = abs(v - radius / (ring * 2.0) ); v = clamp(v - gap, 0.0, 1.0); d /= radius; vec3 m = fract((d - 1.0) * vec3(r * ring * -0.5,g * -ring,b * ring * 0.25) * 0.5); fragColor = vec4(m*v, 1.0); } - This one is a bunch of neon lines in a boxed shape and the point of view are inside the box: //forked from https://www.shadertoy.com/view/4tlGRX #define freq 16.0 #define fov 0.5 #define background vec3(0.,0.,0.) mat2 mm2(in float a){float c = cos(a), s = sin(a);return mat2(c,-s,s,c);} vec3 tex(in vec2 p) { return vec3(1.)*smoothstep(0.1, 1.05, max(sin((p.x)*freq),sin((p.x)*freq))); } vec3 cubeproj(in vec3 p) { vec3 x = tex(p.zy/p.x); vec3 y = tex(p.xz/p.y); vec3 z = tex(p.xy/p.z); x *= vec3(1,0,0)*abs(p.x) + p.x*vec3(0,1,0); y *= vec3(0,1,0)*abs(p.y) + p.y*vec3(0,0,1); z *= vec3(0,0,1)*abs(p.z) + p.z*vec3(1,0,0); p = abs(p); if (p.x > p.y && p.x > p.z) return x; else if (p.y > p.x && p.y > p.z) return y; else return z; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 p = fragCoord.xy / iResolution.xy; vec2 p2 = fragCoord.xy/iResolution.xy-0.5; p2.x*=iResolution.x/iResolution.y; p2*= fov; vec3 ro = vec3(0.); vec3 rd = normalize(vec3(p2,-0.5)); mat2 mx = mm2(iTime / 2.0); mat2 my = mm2(iTime / 2.0); ro.xz *= mx;rd.xz *= mx; ro.xy *= my;rd.xy *= my; vec3 col = cubeproj(rd)*1.1; col.x *= sin(iTime + p.x+ p.y); col.y *= sin(1.23*iTime + p.x + p.y); col.z *= sin(1.57*iTime + p.x+ p.y); fragColor = vec4(background + abs(col), 1.0 ); } - This one is an X-factor like effect with some crosses from all sides moving into the middle and all elements changes colors: #define PI 3.14159 #define TWO_PI (PI*2.0) #define FREQ 2.0 #define time -iTime // shape #define x00 1.0 #define x01 1.0 #define x10 1.0 #define x11 1.0 void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = (fragCoord.xy / iResolution.xy -0.5) * FREQ; float a = atan(uv.y,uv.x); mat2 hyper = mat2(-cos(x00*a), sin(x01*a), sin(x10*a), cos(x11*a)); uv = abs(mod(uv*hyper+time,vec2(2.0))-1.0); vec3 color = vec3(0.5+0.5* cos(uv.y+time*0.5), 2.*uv.x, 0.5+0.5*sin(uv.y+time*0.3)); fragColor = abs(vec4(color,1.0)); } - This one is pink moving sine with a blue background: #define FREQ_MOD 4.0 #define TIME_MOD 2.0 #define AMP_SCALE 0.5 #define THICKNESS 0.2 #define wave vec3(1.0,0.0,1.0) #define background vec3(0.0,0.0,1.0) const float PI = 3.14159265359; const float DBL_PI = PI * 2.0; void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 uv = fragCoord.xy / iResolution.xy; uv.y = -((1.0 - uv.y) - 0.5); float ampMod = ((sin(FREQ_MOD*iTime) + 0.25) + 1.0) / 2.0; vec2 ptOnWave = vec2(uv.x, sin((uv.x * DBL_PI) + FREQ_MOD * iTime * TIME_MOD) * (AMP_SCALE * ampMod)); float distToPt = length(uv - ptOnWave); float c1 = floor(((1.0 + (THICKNESS)) - distToPt)); float c2 = 1.0 - c1; fragColor = vec4( c1*wave + c2 * background, 1.0); } - This is the simplest one that is designed for customization and it is just some colors that shift fast: /* Make your own shader program. Make sure to read the documentation. https://gitlab.com/OpenRGBDevelopers/OpenRGBEffectsPlugin/-/blob/master/Effects/Shaders/README.md */ void mainImage( out vec4 fragColor, in vec2 fragCoord ) { float r = abs(sin(2.0 * iTime)); float g = abs(sin(3.0 * iTime)); float b = abs(sin(7.0 * iTime)); fragColor = vec4(r, g, b, 1.0); } - This one is some moving/distorting pink/light blue mosaic: #define color1 vec3(1.0,0.0,1.0) #define color2 vec3(0.0,1.0,1.0) #define divs 2.0 const float pi = 3.14159; void mainImage( out vec4 fragColor, in vec2 fragCoord ) { vec2 div = vec2( divs, divs * iResolution.y / iResolution.x ); vec2 xy = div*(fragCoord.xy / iResolution.xy - 0.5); vec2 sxy = sin(pi*vec2((xy.x + xy.y)*(xy.x - xy.y)*0.5 - iTime*1.0, xy.x*xy.y)); vec2 b = fwidth(sxy)*0.7071; vec2 pxy = smoothstep( -b, b, sxy ); pxy = 2.0*pxy - 1.0; float c1 = sqrt( 0.5 * (pxy.x * pxy.y) + 0.5 ); float c2 = 1.0 - c1; fragColor = vec4( c1*color1 + c2 * color2, 1.0); } i will make my first request after this message, i want you to not write anything else than the code. Your only output should be shader code, NOTHING ELSE. DONT start by making a shader, just simply say youre ready to comply with my request, Its important that you make the shaders work, if the shader dosent work i will give you the error codes that come in OpenRGB and its then your job to make the shader work. Shaders reacting to keyboard or mouse input is impossible to make in OpenRGB and you should inform me about that if i make a request to get my shader react to mouse or keyboard input. Shaders reacting is possible in OpenRGB and can be really cool, you dont have enough knowledge about thoose shaders so if i ask you to make a audio reactive shader (which i may refer to as a music reactive shader) you have to ask me for example code that works in OpenRGB. You cant make a music reactive shader without more information about how to do it from me. Dont give any examples of good ideas to make, just say youre ready after i send this, then i will in my next message give you instructions on what to do, what you can tell me is how you would like the instuctions so you have the best chance to make the shaders.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project