{"id":15400728,"url":"https://github.com/dbraun/matrixchop","last_synced_at":"2025-04-15T22:31:02.829Z","repository":{"id":75113993,"uuid":"205428279","full_name":"DBraun/MatrixCHOP","owner":"DBraun","description":"Matrix Multiply CHOP","archived":false,"fork":false,"pushed_at":"2025-01-13T02:37:10.000Z","size":97,"stargazers_count":25,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T03:41:36.248Z","etag":null,"topics":["touchdesigner","touchdesigner-components","touchdesigner-tool","touchdesigner-tools"],"latest_commit_sha":null,"homepage":null,"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/DBraun.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":"2019-08-30T17:30:08.000Z","updated_at":"2025-03-05T14:59:46.000Z","dependencies_parsed_at":"2023-06-05T10:00:15.484Z","dependency_job_id":null,"html_url":"https://github.com/DBraun/MatrixCHOP","commit_stats":{"total_commits":8,"total_committers":4,"mean_commits":2.0,"dds":0.375,"last_synced_commit":"4897cf2f1c276f44c8a7c788b8bd1151224d043f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DBraun%2FMatrixCHOP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DBraun%2FMatrixCHOP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DBraun%2FMatrixCHOP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DBraun%2FMatrixCHOP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DBraun","download_url":"https://codeload.github.com/DBraun/MatrixCHOP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249165949,"owners_count":21223352,"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":["touchdesigner","touchdesigner-components","touchdesigner-tool","touchdesigner-tools"],"created_at":"2024-10-01T15:54:47.775Z","updated_at":"2025-04-15T22:31:02.164Z","avatar_url":"https://github.com/DBraun.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MatrixCHOP (Matrix Multiply CHOP)\nThe MatrixCHOP produces the screen-space coordinates of points based on a camera and an aspect ratio. The inputs:\n\n* Positions (XYZ): 3 channels and any number of samples\n* Camera View and Projection Matrix : 16 channels and one sample. Check the demo project for an easy example.\n\nThe output:\n\n* The UV-coordinates of the positions in the camera's view. UVs are typically between [0,0] and [1,1] if they're inside the camera's view, but the MatrixCHOP does not clamp values or delete out-of-bounds samples.\n\n# Demo\nIn this image we render a white rectangle at an oblique angle. The MatrixCHOP takes the world-space positions of the rectangle's points, the camera's full view-projection-matrix, and then produces 4 new points. These 4 points are then depicted in a separate render of red squares. These squares land exactly on the corners in the first render, confirming that the MatrixCHOP outputs correct screen-space coordinates.\n![](MatrixCHOP/images/demo.png)\n\n## Instructions\n[Build the dll yourself](https://docs.derivative.ca/Write_a_CPlusPlus_Plugin), or use a compiled DLL file. `MatrixCHOP/MatrixCHOP/Plugins/MatrixCHOP.dll` has been compiled as a [Custom Operator](https://docs.derivative.ca/Custom_Operators) for TouchDesigner 2019.19160.\n\n## Changelog\n* 2019-09-27 Optimization\n* 2019-09-19 Public release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbraun%2Fmatrixchop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbraun%2Fmatrixchop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbraun%2Fmatrixchop/lists"}