{"id":28604016,"url":"https://github.com/takana671/texturegenerator","last_synced_at":"2026-04-25T11:33:07.296Z","repository":{"id":283292654,"uuid":"951291445","full_name":"taKana671/TextureGenerator","owner":"taKana671","description":"Procedually generate texture images from noise.","archived":false,"fork":false,"pushed_at":"2025-10-18T11:49:00.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T07:14:30.953Z","etag":null,"topics":["cloud","cubemap","cv2","cython","noise","noise-textures","numpy","python","skybox"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taKana671.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-19T13:02:20.000Z","updated_at":"2025-10-18T11:49:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"65aa986c-008b-4a94-a492-7071c53feddc","html_url":"https://github.com/taKana671/TextureGenerator","commit_stats":null,"previous_names":["takana671/texture_generator","takana671/texturegenerator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/taKana671/TextureGenerator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTextureGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTextureGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTextureGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTextureGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taKana671","download_url":"https://codeload.github.com/taKana671/TextureGenerator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taKana671%2FTextureGenerator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cloud","cubemap","cv2","cython","noise","noise-textures","numpy","python","skybox"],"created_at":"2025-06-11T17:40:08.915Z","updated_at":"2026-04-25T11:33:07.266Z","avatar_url":"https://github.com/taKana671.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TextureGenerator\n\nProcedually generate texture images from noise.\nThe `noise` of this repository contains two directories, `cynoise` and `pynoise`. `cynoise` has Cython source code and must be built by setup.py to use.\nIf it has been build, the fast Cython code is used, if not, python code is used.  \nSee [NoiseTexture](https://github.com/taKana671/NoiseTexture/tree/main) for the difference in speed.\n\n# Requirements\n\n* Cython 3.0.12\n* numpy 2.2.4\n* opencv-contrib-python 4.11.0.86\n* opencv-python 4.11.0.86\n\n# Environment\n\n* Python 3.12\n* Windows11\n\n# Building Cython code\n\n### Clone this repository with submodule.\n```\ngit clone --recursive https://github.com/taKana671/TextureGenerator.git\n```\n\n### Build cython code.\n```\ncd TextureGenerator\npython setup.py build_ext --inplace\n```\nIf the error like \"ModuleNotFoundError: No module named ‘distutils’\" occurs, install the setuptools.\n```\npip install setuptools\n```\n\n# Procedural texture\nOutput procedural texture images from noise.  \nFor more details of methods and parameters, please see source codes.\n\n1. [Cloud](#cloud)\n2. [Cubemap](#cubemap)\n3. [Sphere map](#sphere-map)\n4. [Island heightmap](#island-heightmap)\n\n## Cloud\n\n![Image](https://github.com/user-attachments/assets/017ab598-c65c-4a76-9819-470cd78ca941)\n\n```\nfrom texture_generator.cloud import Cloud\n\nmaker = Cloud.from_vfractal()             # using fractal Value Noise.\n\n# maker = Cloud.from_pfractal()           # using fractal Perlin Noise.\n# maker = Cloud.from_sfractal()           # using fractal Simplex Noise.\n# maker = Cloud.from_file('noise_5.png')  # using noise image file.\n\n# output a cloud image composited with a background image. \nmaker.create_cloud_image()\n```\n\n\n## Cubemap\n\nThe cubemap is seamless and each skybox image can be connected exactly.  \nSee [skybox](https://github.com/taKana671/skybox).\n\n![Image](https://github.com/user-attachments/assets/a27a2d3c-4dcd-4275-b952-b5691695d0f2)\n\n```\nfrom texture_generator.cubemap import CubeMap\nfrom utils.output_image import output\n\nmaker = CubeMap.from_sfractal()           # using fractal Simplex Noise.\n\n# maker = CubeMap.from_pfractal()         # using fractal Perlin Noise.\n# maker = CubeMap.from_vfractal()         # using fractal Value Noise.\n\n# output a grayscale cubemap image.\nimg = maker.create_cubemap()\noutput(img, 'cubemap')\n\n# output skybox images composited with a background image.\nmaker.create_skybox_images()\n```\n\n## Sphere map\n\n### _An image for Sphere sky_\n\nApplying this image as a texture to a sphere creates a spherical sky.\n\n![Image](https://github.com/user-attachments/assets/6de22ecc-8759-4fee-b9dc-5759e5c29729)\n\n```\nfrom texture_generator.spheremap import SphereMap\nfrom utils.output_image import output\n\n# using fractal Simplex Noise.\nmaker = SphereMap.from_sfractal()\n \n# output a grayscale sphere map image.\nimg = maker.create_spheremap()\noutput(img, 'spheremap')\n\n# output a sky sphere image composited with a background image.    \nmaker.create_skysphere_image()\n```\n\n### _6 images for Sky box_\n\nCreate a sphere and use a 3D cube map to seamlessly wrap six images around its surface, creating a full-surround background.\n\n![Image](https://github.com/user-attachments/assets/5dd59dc1-7c0b-45f4-a804-fccaa6cabe6d)\n\n```\nfrom texture_generator.spheremap import SphereMap\nfrom utils.output_image import output\n\n# using fractal Simplex Noise.\nmaker = SphereMap.from_sfractal()\n\n# output a grayscale cubemap image converted from a sphere map.\nimg = maker.create_cubemap()\noutput(img, 'cubemap')\n\n# output skybox images composited with a background image.\nmaker.create_skybox_images()\n```\n\n## Island heightmap\n\n![Image](https://github.com/user-attachments/assets/74f43288-9f68-4a77-a608-23a0b1daba4b)\n\n```\nfrom heightmap_generator.island_heightmap import IslandHeightmap\n\nmaker = IslandHeightmap.from_sfractal()\n# maker = IslandHeightmap.from_sfractal(reverse=True)  # basin-shaped heightmap\nmaker.create_island_heightmap()\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakana671%2Ftexturegenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftakana671%2Ftexturegenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftakana671%2Ftexturegenerator/lists"}