{"id":20247984,"url":"https://github.com/w23/jetlag_appear","last_synced_at":"2025-07-14T07:32:49.238Z","repository":{"id":150563004,"uuid":"134048919","full_name":"w23/jetlag_appear","owner":"w23","description":"appear by jetlag 4k intro sources","archived":false,"fork":false,"pushed_at":"2018-06-24T06:56:14.000Z","size":2459,"stargazers_count":41,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T22:37:20.375Z","etag":null,"topics":["4k","demoscene","glsl","raymarching","scattering"],"latest_commit_sha":null,"homepage":"https://www.pouet.net/prod.php?which=75750","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/w23.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-05-19T09:38:59.000Z","updated_at":"2024-12-22T21:33:11.000Z","dependencies_parsed_at":"2023-07-29T20:03:32.552Z","dependency_job_id":null,"html_url":"https://github.com/w23/jetlag_appear","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/w23/jetlag_appear","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w23%2Fjetlag_appear","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w23%2Fjetlag_appear/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w23%2Fjetlag_appear/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w23%2Fjetlag_appear/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/w23","download_url":"https://codeload.github.com/w23/jetlag_appear/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/w23%2Fjetlag_appear/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265255274,"owners_count":23735222,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["4k","demoscene","glsl","raymarching","scattering"],"created_at":"2024-11-14T09:44:33.385Z","updated_at":"2025-07-14T07:32:49.208Z","avatar_url":"https://github.com/w23.png","language":"C","funding_links":[],"categories":["Productions"],"sub_categories":["4k Intros"],"readme":"# appear by jetlag\n\n4k intro\n\n*FINAL VERSION*\n\nparty version took 12th place at [Revision 2018](https://2018.revision-party.net/)\n\n![Screenshot](https://yolp.omgwtf.ru/jetlag_appear_final.jpg)\n\n## Links\n- Pouet: [https://www.pouet.net/prod.php?which=75750](https://www.pouet.net/prod.php?which=75750)\n- Video capture: [https://youtu.be/3af_z8LQOe4](https://youtu.be/3af_z8LQOe4)\n- Scattering model explained: [https://provod.gl/blog/2018-06-11-scattering/](https://provod.gl/blog/2018-06-11-scattering/)\n  - На русском: [https://habr.com/post/414173/](https://habr.com/post/414173/)\n- \"Making of\" stream records playlist (mostly in Russian): [https://www.youtube.com/playlist?list=PLP0z1CQXyu5AQALvAGyH0jxNsTyxlsl7F](https://www.youtube.com/playlist?list=PLP0z1CQXyu5AQALvAGyH0jxNsTyxlsl7F)\n\n## Credits\nmusic, direction: keen\n\ncode, shaders: provod\n\n### Third-party tools and libraries used\n* [Crinkler](http://crinkler.net) for linking+packing an executable from ~10..20kb to \u003c4096 bytes.\n* [Shader minifier](https://github.com/laurentlb/Shader_Minifier) to make GLSL shader sources compress better.\n* [4klang](http://4klang.untergrund.net/) for getting decent music in about 2 kilobytes\n\n## Building and exploring\nNOTE: requires beefy GPU. Expect 10-30fps on NVidia GTX Titan (~2013) or 20-60fps on AMD Radeon Fury X.\n\n### Tool\nSources contain the tool that this intro was made in. Tool is in fact a really minimalistic file-monitor-shader-reloader.\n\nTool uses [atto](https://github.com/w23/atto) for window creation/OpenGL init/user input. So do `git submodule update --init` first.\n\nHit `e` to export current version of shader as `main.shader.glsl` file. It requires manual editing to be usable for intro compilation, see comments inside the file.\n\nTool also supports wsad+mouselook camera, but you'll need to uncomment this line in shader (don't forget to comment it back when exporting): `//O = $(vec3 cam_pos) * 3.; D = -normalize($(vec3 cam_dir));`\n\nHit `p` to print current camera coordinates into console window.\n\n#### On Windows\n- Open `intro.sln`\n- Run `dump_audio` project to generate `audio.raw` file. Beware that 4klang/track is kind of unstable and may crash. There's no known fix for that.\n- Build `tool` project using `Debug` configuration\n- Run `run_tool.bat`\n\n#### On Linux\n- Run `make`. It will automatically pregenerate `audio.raw` (takes about a minute) and then run the tool.\n\n### Intro\nThere are a few options to make intro executable:\n- Debug: windowed, complains about shader compilation, no music.\n- Release: fullscreen, no video if shader compilation failed, music, larger than 4k (about 4200 bytes)\n- ReleaseSlow: same as Release, but takes about 5 minutes to be compressed by crinkler. Barely fits within 4096 bytes.\n\nAll dependencies (e.g. GLSL minification) are handled automatically.\n\nThere are also separate C and assembly versions. They are functionally very similar, but asm compresses better.\n\n#### On Windows\nSelect `yo29_asm` project and desired configuration and build it.\n\n#### On Linux\n- `make win32-fast` will build Release as `appear-fast.exe`\n- `make win32-slow` will build ReleaseSlow as `appear-slow.exe`\n\nNOTE that for some reason Windows and Linux will produce different exes with different sizes for same targets (up to 20 bytes difference was observed, without any stable preference). Reason for this is not known, but they both run on Windows just fine.\n\nThere are also `appear.sh` and `appear.dbg` Linux targets, but they crash due to 4klang instability.\n\n### Making video capture\nPerfect 720p60 video capture can be made on Linux by running `make capture`. It will take quite some time to generate and encode the resulting video (about 30 minutes on my machine, but YMMV).\n\n## Greetings\n- alcatraz\n-\tconsciousness\n-\tconspiracy\n-\tctrl-alt-test\n-\tdarklite\n-\telix\n-\tfairlight\n-\tfarbrausch\n-\tfl1ne\n-\tfms_cat\n-\tfrag\n-\tkalium cyanide group\n-\tlogicoma\n-\tmercury\n-\tnonoil\n-\torange\n-\torbitaldecay\n-\tproxium\n-\tprismbeings\n-\tquite\n-\tsands\n-\tsensenstahl\n-\tstill\n-\tsystemk\n-\tt-rex\n-\tthe nephelims\n-\tthrob\n-\ttitan\n-\ttomohiro\n-\tvaahtera\n-\tvirtual illusions\n-\tyouth uprising\n-\tfuture crew :)\n\n## License\nMIT for tool and intro code. All third-party dependencies have their own licenses, go check them out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw23%2Fjetlag_appear","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fw23%2Fjetlag_appear","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fw23%2Fjetlag_appear/lists"}