first you need a working shader which can do something, then you have to convert it to glsl from shadertoy, if you made it in shadertoy (i.e. rename fragColor to gl_FragColor, mainImage(…) to main() etc)
next you have to make it a string, you can do it with something like notepad++ or use shader minifier http://www.ctrl-alt-test.fr/?page_id=7
then you have to compile your shader with a framework and see the result.
and you will understand that you have to pass TIME somehow, it could be GLSL uniform variable or C++ “if” statement or something you think will work.
then you will need music.. it’s another question I can explain if you want..
if you’re new to graphics programming i would suggest starting first with processing, unity, vvvv or shadertoy and only after you have some effects and more confidence in your programming skills to move on to an engine/framework of your own.
some resources that keen didn’t mention:
https://github.com/psenough/teach_yourself_demoscene_in_14_days
http://in4k.github.io
The most of the top of 4k intros are made as glsl shader loader + 4klang the glsl loader usually based on c++ framework made by iq/rgba isystem1k4k there are a lot of implementations opensourced which were made in that way. Whitespace by Prismbeings sources on github for Visual Studio
Our 4k converted to C from C++ Nwep VS2015 project
as result all you have to do is a shader and a 4klang tune.
You can use such tools like Shadertoy for shader prototyping. Or you can use Gargaj’s Shader compo tool Bonzomatic
Enjoy!
Introductory Democoding with ShaderToy https://bitbucket.org/inclinescene/demosplash-2016
V2 http://www.farbrausch.de/prod&which=86.py http://www.1337haxorz.de/drugs/libv2_1.5.zip
iq framework http://www.iquilezles.org/code/isystem1k4k/isystem1k4k.htm http://www.iquilezles.org/code/framework64k/framework64k.htm
noby’s introsystem https://github.com/armak/pbr-introsystem
4klang http://4klang.untergrund.net/
crinkler http://www.pouet.net/topic.php?which=10722&page=2#c522916 http://www.pouet.net/prod.php?which=18158
Shader minifiers https://github.com/laurentlb/Shader_Minifier http://www.pouet.net/topic.php?which=11220
4k into scenes timings https://www.pouet.net/topic.php?which=10820&page=1
Intro making questions… http://www.pouet.net/topic.php?which=11222
Raymarching Beginners’ Thread http://www.pouet.net/topic.php?which=7920&page=64#c423920
DoF http://lousodrome.net/blog/light/tag/depth-of-field/ http://c0de517e.blogspot.com/2012/01/current-gen-dof-and-mb.html http://c0de517e.blogspot.com/2009/09/calling-for-brainstorm.html
GLSL-Raymarching https://github.com/nical/GLSL-Raymarching/blob/master/src/shaders/DOF.frag
Bokeh DOF http://www.pouet.net/topic.php?which=8176&page=1&x=14&y=9
http://code4k.blogspot.com/
https://in4k.github.io/wiki/aulds-ogl-framework https://in4k.github.io/wiki/graphics http://yupferris.blogspot.com/ http://allendowney.blogspot.ru/2018/02/learning-to-program-is-getting-harder.html https://in4k.github.io/wiki/graphics http://sizecoding.blogspot.com/2008/12/code-for-moving-camera-in-glsl.html
Code for Moving Camera in GLSL Raytracer http://sizecoding.blogspot.co.nz/2008/12/code-for-moving-camera-in-glsl.html
intro.cpp https://pastebin.com/dmCc3GXG
https://www.strchr.com/
http://cg.ivd.kit.edu/downloads/IntModelingSDF.pdf
NVScene 2015 Session: Shadertoy Hackathon Kickoff (Inigo Quilez, Pol Jeremias, Otavio Good) https://www.youtube.com/watch?v=jjU3rO36zCs
https://github.com/acaudwell/Mandelbulb-Viewer/blob/master/data/shaders/MandelbulbQuick.frag http://www.hugi.scene.org/online/coding/hugi%2023%20-%20sqscript.htm http://www.fractalforums.com/sierpinski-gasket/implementing-mixpinski/ http://www.fractalforums.com/index.php?action=gallery;sa=view;id=19857
http://hugi.scene.org/online/hugi26/hugi%2026%20-%20coding%20corner%20graphics%20hopper%20making%20a%2064k%20intro.htm
https://joshb.github.io/articles/getting_started_with_glsl/
http://glsl.ru/index.php?s=ee0c1ced43b173dbf9eb2a9a9365a779&action=viewcomments&articleid=4
http://www.pouet.net/topic.php?which=7931 http://lousodrome.net/blog/light/2013/09/04/a-glsl-version-of-smallpt/ http://hugi.scene.org/online/hugi23/d9ray.htm https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing
http://blog.ruslans.com/2015/01/raymarching-christmas-tree.html https://gamedevelopment.tutsplus.com/ru/tutorials/a-beginners-guide-to-coding-graphics-shaders–cms-23313 https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders-part-2–cms-24111
http://www.geeks3d.com/20130524/building-worlds-with-distance-functions-in-glsl-raymarching-glslhacker-tutorial-opengl/
MACOS https://gafferongames.com/2009/01/19/opengl-on-macosx/ https://gist.github.com/Tapped/0da08a995052587563464fafa8372a89
Introductory Democoding with ShaderToy https://bitbucket.org/inclinescene/demosplash-2016
SHADERTOY collection https://www.shadertoy.com/view/lt3Gz8
https://www.shadertoy.com/view/ldS3zh https://www.shadertoy.com/view/4dGGzc https://www.shadertoy.com/view/ldffWN https://www.shadertoy.com/view/MttGD2
https://www.shadertoy.com/view/XsdfDH
https://www.shadertoy.com/view/MltSRf
https://www.shadertoy.com/view/MsSyzc
https://www.shadertoy.com/view/4ds3zn https://www.shadertoy.com/view/MslGWN https://www.shadertoy.com/view/4sX3Rn
https://www.shadertoy.com/view/ltlSWf
https://www.shadertoy.com/view/4lf3Rj
Oscar’s chair 4k making of http://www.amietia.com/oscarschair.html
A dive into the making of Immersion http://www.ctrl-alt-test.fr/2018/a-dive-into-the-making-of-immersion/
SURPRISE more links
Книга шейдеров для начинающих: https://thebookofshaders.com/?lan=ru
Уроки программирования GLSL: http://masandilov.ru/glsl
Цикл статей по OpenGL 3.0:
https://habr.com/ru/post/310790/
Краткий список функций GLSL https://en.wikibooks.org/wiki/GLSL_Programming/Vector_and_Matrix_Operations
Официальная Спецификация по GLSL https://www.khronos.org/files/opengles_shading_language.pdf
На русском: https://webglfundamentals.org/webgl/lessons/ru/webgl-shaders-and-glsl.html
Введение в программирование шейдеров для начинающих: https://gamedevelopment.tutsplus.com/ru/tutorials/a-beginners-guide-to-coding-graphics-shaders–cms-23313
Набор уроков/заданий “Hello world” для пиксельных шейдеров https://hughsk.io/fragment-foundry/chapters/01-hello-world.html
IDE и инструменты для написания шейдеров Bonzomatic: https://github.com/Gargaj/Bonzomatic/releases ShaderToy: https://www.shadertoy.com/ Kodelife: https://hexler.net/products/kodelife#get Строиит графики функций: https://www.desmos.com/calculator
Хорошая статья с картинками и куском кода на каждом этапе, объясняет базовые принципы https://reindernijhoff.net/2017/07/raymarching-distance-fields/
https://github.com/ajweeks/RaymarchingWorkshop
https://www.ronja-tutorials.com/2018/11/10/2d-sdf-basics.html
https://www.iquilezles.org/code/isystem1k4k/isystem1k4k.htm https://www.iquilezles.org/www/articles/distfunctions/distfunctions.htm
http://visualizethis.tumblr.com/post/2960616853/how-to-code-a-4k-intro
http://www.geeks3d.com/20130524/building-worlds-with-distance-functions-in-glsl-raymarching-glslhacker-tutorial-opengl/
http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/
Video Revision 2019 - Seminar - Shader Coding от Flappine https://www.youtube.com/watch?v=uFFR31t1WMM
https://medium.com/@avseoul/ray-marching-metaball-in-unity3d-fc6f83766c5d https://medium.com/@mackycheese21/raymarching-1-the-basics-d6f3e70fb430 (Soft shadows) https://medium.com/@mackycheese21/raymarching-2-aesthetics-ed3a5f7d12b1 https://flafla2.github.io/2016/10/01/raymarching.html http://www.michaelwalczyk.com/blog/2017/5/25/ray-marchinghttp://www.michaelwalczyk.com/blog/2017/5/25/ray-marching Расшифровка трассировщика лучей размером с открытку) https://habr.com/ru/post/434528/
Трехмерный (raymarch) движок на формулах Excel для чайников https://habr.com/ru/post/353422/
Ray Tracing in One Weekend https://drive.google.com/drive/folders/14yayBb9XiL16lmuhbYhhvea8mKUUK77W
Old-school effects are back - http://www.iquilezles.org/www/material/nvscene2008/rwwtt.pdf
https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-ray-tracing
Библиотека с SDF функциями http://mercury.sexy/hg_sdf/
https://www.shadertoy.com/view/3lXXWX https://www.shadertoy.com/view/XllGW4
Tri-Planar Texture Mapping https://www.shadertoy.com/view/wtjGWy
Хороший код с комментариями https://www.shadertoy.com/view/ll2SRy https://www.shadertoy.com/view/ldyGWm https://www.shadertoy.com/view/ltyXD3 (Raymarching Primitives Commented)
https://www.shadertoy.com/view/ltdSRn (Использование буферов в ShaderToy)
Size coding
http://www.sizecoding.org/wiki/Main_Page
Как сделано интро на 64k - https://habr.com/ru/post/330090/
Introductions to Mathematics and Vector algebra https://www.mathsisfun.com/algebra/trigonometry.html https://www.mathsisfun.com/algebra/vectors.html https://www.mathsisfun.com/algebra/vectors-dot-product.html https://www.mathsisfun.com/algebra/vectors-cross-product.html
4k Engines https://github.com/w23/bepct4k Верстак - предназначен для компиляции и сбора 4k интр с 4k-lang музыкой под Windows без Visual Studio, при помощий nasm. А также имеет инструмент для дампа 4k-lang музыки в raw формат (очень удобен для музыкантов, чтобы послушать результат без участия программиста).
https://github.com/armak/Leviathan-2.0/ один из самых известных и имхо удобных, можно делать постпроцессинг, заточен под 4klang, но можно впилить и другие синты, там в принципе несложно %)
https://github.com/w23/stameska работает под линуксом и виндой, использовать трудно, ничем не лучше. Это очень сырое нагромождение разного, умеет в таймлайны, релоад ямл-декларативного рендер-пайплайна, шейдер релоад и препроцессинг с инклудами.
http://www.crinkler.net/ - executable compressor Linker for small intros (8k/4k/1k)
http://www.ctrl-alt-test.fr/glsl-minifier/ - shader minifier
4klang/64klang
http://4klang.untergrund.net/ https://github.com/hzdgopher/64klang https://github.com/hzdgopher/4klang
Virgill’s tunes with 4klang patches https://github.com/in4k/4klang-assets
Some 4klang notes on Alcatrazes’ Equilibrium soundtrack http://www.pouet.net/topic.php?which=11327&page=1#c539706
4klang Wayfinder’s tutorial https://www.youtube.com/watch?v=wP__g_9FT4M
ForkedKlang, experimental 4klang fork http://www.pouet.net/topic.php?which=11312&page=1#c539656
Pouet’s 4klang related thread http://www.pouet.net/topic.php?which=10480&page=1
4klang’s basics https://www.youtube.com/watch?v=xLhT06lwaig
Learning 4klang | Part #1: I have no idea what I’m doing https://www.youtube.com/watch?v=EDCE2fYNXAk
Learning 4klang | Part #2: Oh! https://www.youtube.com/watch?v=ixIl0QpgFUQ
Installing and trying out different synths for 4kb intros (4klang, clinkster and oidos) https://www.youtube.com/watch?v=Ir0vcmHkIm0
https://www.youtube.com/watch?v=ifhUsy2jEhc
Генератор абстрактных картинок для ваших демок, ну или источник вдохновений ;) https://adaptiff.com/
3d isolines https://pissang.github.io/paper-quilling-art/
2d isolines https://msurguy.github.io/flow-lines/
генератор фото лиц сток-моделей https://www.generative.photos/
Крутая программа для моделирования кастомных фракталов на GPU: https://github.com/buddhi1980/mandelbulber2