This media is not supported in your browser
VIEW IN TELEGRAM
Отличная статья о том, какие техники помогают уложить эффектные шейдер-демки в 500-700 символов: ray-marching, smooth-min, шумы, варпинг и другие мини-приёмы для генеративной графики
Например, код трилобита в аттаче состоит из 602 символов
// Cutie [602] by bµg
// License: CC BY-NC-SA 4.0
#define V vec3
#define L length(p
#define C(A,B,X,Y)d=min(d,-.2*log2(exp2(X-L-A)/.2)+exp2(Y-L-B)/.2)))
#define H(Z)S,k=fract(T*1.5+s),a=V(1.3,.2,Z),b=V(1,.3*max(1.-abs(3.*k-1.),z),Z*.75+3.*max(-k*S,k-1.)),q=b*S,q+=a+sqrt(1.-dot(q,q))*normalize(V(-b.y,b.x,0)),C(a,q,3.5,2.5),C(q,a-b,2.5,2.)
void main(){float i,t,k,z,s,S=.5,d=S;for(V p,q,a,b;i++<5e1&&d>.001;t+=d=min(d,s=L+V(S-2.*p.x,-1,S))-S))p=normalize(V(P+P-R,R.y))*t,p.z-=5.,p.zy*=mat2(cos(vec4(1,12,34,1))),p.xz*=mat2(cos(sin(T)+vec4(0,11,33,0))),d=1.+p.y,C(z,V(z,z,1.2),7.5,6.),s=p.x<z?p.x=-p.x,z:H(z),s+=H(1.);O=vec4(V(exp(-i/(s>d?1e2:9.))),1);}
#shader #glsl #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🫡12❤6🔥3
Electronic Arts открыли исходный код
ShaderToHuman — полезного инструмента для разработки и отладки GLSL и HLSL шейдеровPrintf-стиль вывода данных прямо из шейдераImmediate-mode GUI внутри шейдеровHLSL и GLSLMIT лицензияДокументация
#graphics #cool_tool #opensource #shader #ea #hlsl #glsl #unrealengine #ue5 #gamedev #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24 11❤7🦄1
This media is not supported in your browser
VIEW IN TELEGRAM
Equation Space — интерактивный 3D редактор, который позволяет визуализировать математические формулы в реальном времени
Что умеет
#threejs #web #3d #shader #glsl #math #gamedev #games #lifeexe #lifeexecode
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍24❤8 6🦄2🔥1