{"id":13598933,"url":"https://github.com/armadillu/ofxTextureAtlas","last_synced_at":"2025-04-10T10:30:41.956Z","repository":{"id":29611463,"uuid":"33151850","full_name":"armadillu/ofxTextureAtlas","owner":"armadillu","description":"texture atlas for OpenFrameworks","archived":false,"fork":false,"pushed_at":"2024-05-26T23:09:58.000Z","size":47,"stargazers_count":14,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-06T23:40:51.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/armadillu.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","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":"2015-03-30T22:32:03.000Z","updated_at":"2024-08-13T12:36:46.000Z","dependencies_parsed_at":"2024-11-06T23:47:29.554Z","dependency_job_id":null,"html_url":"https://github.com/armadillu/ofxTextureAtlas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armadillu%2FofxTextureAtlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armadillu%2FofxTextureAtlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armadillu%2FofxTextureAtlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armadillu%2FofxTextureAtlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/armadillu","download_url":"https://codeload.github.com/armadillu/ofxTextureAtlas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248199136,"owners_count":21063641,"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":[],"created_at":"2024-08-01T17:00:58.227Z","updated_at":"2025-04-10T10:30:41.627Z","avatar_url":"https://github.com/armadillu.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# ofxTextureAtlas : What is this\n\n[![Build Status](https://travis-ci.org/armadillu/ofxTextureAtlas.svg?branch=master)](https://travis-ci.org/armadillu/ofxTextureAtlas)\n\nThis will allow you to draw lots of different images on screen with a minimal number of texture binds. First, you must create the atlases. Supply a list of images you want to be able to draw later, and create atlases for them. You can specify the atlas size, the max image size, interal format (with alpha, etc), and if you want mipmaps or not.\n\n![cats atlas](https://farm9.staticflickr.com/8748/16957624266_fdfddb6df2_z_d.jpg)\n\nSee [original image](https://farm9.staticflickr.com/8748/16957624266_1b86360192_o_d.jpg).\n\nThe addon accepts any image aspect ratio, so images can be all of different aspect ratios on the same atlas (ie not only sprite sheets). It does rectangle packing to maximize the atlas space.\n\nEach atlas is created in an fbo + a data structure, which can be saved to disk for later use. An atlas is saved to disk as an image file (png / jpg) and an XML. The xml holds a list of the images files that are contained inside the atlas, the atlas size, and each of the rects that defines where the image is in the atlas.\n\nThis is what an Atlas looks like:\n\n![cats atlas](https://farm8.staticflickr.com/7586/16983466005_7091e373f2_z_d.jpg)\n\n\nYou can easly load atlases from disk (multi threaded, as loading from XML is very slow) and use the TextureAtlasDrawer class to draw any images you need, regardless of which atlas they fell into. It will create an ofMesh on the fly for each atlas that holds an image that happens to be in the list of images you want to draw, minimizing the number of texture binds().\n\n#Dependencies\n\nRequires ofxXmlSettings and my fork of [ofxRectangleUtils](https://github.com/armadillu/ofxRectangleUtils).\n\n\n#Examples\n\nTo run the examples, first create some atlases. Open up exampleCreate, add lots of images into bin/data/images/cats and run it; it will create some atlases into bin/data/textureCache\n\nThen, to draw using the atlas, try the other example, exampleDraw. Copy the atlases created in bin/data/textureCache with exampleCreate into the bin/data/textureCache of exampleDraw, and run it. Use the mouse wheel to zoom in and out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmadillu%2FofxTextureAtlas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farmadillu%2FofxTextureAtlas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmadillu%2FofxTextureAtlas/lists"}