{"id":13418927,"url":"https://github.com/Auburn/FastNoiseSIMD","last_synced_at":"2025-03-15T04:31:07.760Z","repository":{"id":104837300,"uuid":"60382532","full_name":"Auburn/FastNoiseSIMD","owner":"Auburn","description":"C++ SIMD Noise Library","archived":true,"fork":false,"pushed_at":"2021-03-20T22:28:31.000Z","size":211,"stargazers_count":605,"open_issues_count":10,"forks_count":88,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-08-05T02:01:19.196Z","etag":null,"topics":["avx2","cellular","fastnoise","fastnoise-simd","fractal","neon","noise","noise-3d","noise-library","perlin","perlin-noise","simd","simplex","simplex-noise","sse","white-noise"],"latest_commit_sha":null,"homepage":"","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/Auburn.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,"publiccode":null,"codemeta":null}},"created_at":"2016-06-03T23:00:34.000Z","updated_at":"2024-06-12T22:33:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"09a48c75-d9ae-4db1-bd08-8966efc8fd95","html_url":"https://github.com/Auburn/FastNoiseSIMD","commit_stats":null,"previous_names":["auburns/fastnoisesimd"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auburn%2FFastNoiseSIMD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auburn%2FFastNoiseSIMD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auburn%2FFastNoiseSIMD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auburn%2FFastNoiseSIMD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Auburn","download_url":"https://codeload.github.com/Auburn/FastNoiseSIMD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685506,"owners_count":20330980,"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":["avx2","cellular","fastnoise","fastnoise-simd","fractal","neon","noise","noise-3d","noise-library","perlin","perlin-noise","simd","simplex","simplex-noise","sse","white-noise"],"created_at":"2024-07-30T22:01:08.962Z","updated_at":"2025-03-15T04:31:07.456Z","avatar_url":"https://github.com/Auburn.png","language":"C++","funding_links":[],"categories":["TODO scan for Android support in followings","C++"],"sub_categories":[],"readme":"[![discord](https://img.shields.io/discord/703636892901441577?style=flat-square\u0026logo=discord \"Discord\")](https://discord.gg/SHVaVfV)\n\n### Depreciated \nThis version of FastNoise SIMD is now depreciated, please look into using [FastNoise 2](https://github.com/Auburn/FastNoise2/) which is the successor to this library.\n\n# FastNoise SIMD\nFastNoise SIMD is the SIMD implementation of my noise library [FastNoise](https://github.com/Auburns/FastNoise). It aims to provide faster performance through the use of intrinsic(SIMD) CPU functions. Vectorisation of the code allows noise functions to process data in sets of 4/8/16 increasing performance by 700% in some cases (Simplex).\n\nAfter releasing FastNoise I got in contact with the author of [FastNoise SIMD](https://github.com/jackmott/FastNoise-SIMD) (naming is coincidence) and was inspired to work with SIMD functions myself. Through his code and discussions with him I created my implementation with even more optimisation thanks to the removal of lookup tables. \n\nRuntime detection of highest supported instruction set ensures the fastest possible performance with only 1 compile needed. If no support is found it will fallback to standard types (float/int).\n\n## Features\n\n- Value Noise 3D\n- Perlin Noise 3D\n- Simplex Noise 3D\n- Cubic Noise 3D\n- Multiple fractal options for all of the above\n- White Noise 3D\n- Cellular Noise 3D\n- Perturb input coordinates in 3D space\n- Integrated up-sampling\n- Easy to use 3D cave noise\n\nCredit to [CubicNoise](https://github.com/jobtalle/CubicNoise) for the cubic noise algorithm\n\n## Supported Instruction Sets\n- ARM NEON\n- AVX-512F\n- AVX2 - FMA3\n- SSE4.1\n- SSE2\n\n## Tested Compilers\n- MSVC v120/v140\n- Intel 16.0\n- GCC 4.7 Linux\n- Clang MacOSX\n\n## Wiki\n[Docs](https://github.com/Auburns/FastNoiseSIMD/wiki)\n\n## Related repositories\n\n- [FastNoise](https://github.com/Auburns/FastNoise)\n- [PyFastNoiseSIMD](https://github.com/robbmcleod/PyFastNoiseSIMD)\n\n# FastNoise SIMD Preview\n\nI have written a compact testing application for all the features included in FastNoiseSIMD with a visual representation. I use this for development purposes and testing noise settings used in terrain generation. The fastest supported instruction set is also reported.\n\nDownload links can be found in the [Releases Section](https://github.com/Auburns/FastNoiseSIMD/releases).\n\n![Simplex Fractal](http://i.imgur.com/45JkT5j.png)\n\n# Performance Comparisons\nUsing default noise settings on FastNoise SIMD and matching those settings across the other libraries where possible.\n\nTimings below are x1000 ns to generate 32x32x32 points of noise on a single thread.\n\n- CPU: Intel Xeon Skylake @ 2.0Ghz\n- Compiler: Intel 17.0 x64\n\n| Noise Type  | AVX512 | AVX2 | SSE4.1 | SSE2 | FastNoise | LibNoise |\n|-------------|--------|------|--------|------|-----------|----------|\n| White Noise | 7      | 9    | 16     | 29   | 141       |          |\n| Value       | 92     | 152  | 324    | 436  | 642       |          |\n| Perlin      | 147    | 324  | 592    | 795  | 1002      | 1368     |\n| Simplex     | 129    | 294  | 548    | 604  | 1194      |          |\n| Cellular    | 851    | 1283 | 2679   | 2959 | 2979      | 58125    |\n| Cubic       | 615    | 952  | 1970   | 3516 | 2979      |          |\n\nComparision of fractals and sampling performance [here](https://github.com/Auburns/FastNoiseSIMD/wiki/In-depth-SIMD-level).\n\n# Examples\n### Cellular Noise\n![Cellular Noise](http://i.imgur.com/RshUkoe.png)\n\n![Cellular Noise](http://i.imgur.com/PjPYBXu.png)\n\n![Cellular Noise](http://i.imgur.com/hyKjIuH.png)\n\n[Cave noise example](https://www.youtube.com/watch?v=Df4Hidvq11M)\n\n### Fractal Noise\n![Simplex Fractal Billow](http://i.imgur.com/gURJtpc.png)\n\n![Perlin Fractal Billow](http://i.imgur.com/IcjbpYz.png)\n\n### Value Noise\n![Value Noise](http://i.imgur.com/Ss22zRs.png)\n\n### White Noise\n![White Noise](http://i.imgur.com/wcTlyek.png)\n\n### Perturb\n![Perturbed Cellular Noise](http://i.imgur.com/xBKGo1E.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAuburn%2FFastNoiseSIMD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAuburn%2FFastNoiseSIMD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAuburn%2FFastNoiseSIMD/lists"}