{"id":13660601,"url":"https://github.com/ssell/UnitySobelOutline","last_synced_at":"2025-04-24T19:31:29.374Z","repository":{"id":143435891,"uuid":"323966906","full_name":"ssell/UnitySobelOutline","owner":"ssell","description":"Example implementation of a Sobel Outline Post-Processing effect","archived":false,"fork":false,"pushed_at":"2020-12-23T21:16:00.000Z","size":44,"stargazers_count":89,"open_issues_count":0,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-10T14:42:46.733Z","etag":null,"topics":["3d","cg","outline","shader","sobel","unity"],"latest_commit_sha":null,"homepage":"","language":"ShaderLab","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/ssell.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}},"created_at":"2020-12-23T17:46:53.000Z","updated_at":"2024-09-27T07:40:42.000Z","dependencies_parsed_at":"2023-06-06T07:00:38.486Z","dependency_job_id":null,"html_url":"https://github.com/ssell/UnitySobelOutline","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/ssell%2FUnitySobelOutline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssell%2FUnitySobelOutline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssell%2FUnitySobelOutline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssell%2FUnitySobelOutline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssell","download_url":"https://codeload.github.com/ssell/UnitySobelOutline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250693583,"owners_count":21472279,"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":["3d","cg","outline","shader","sobel","unity"],"created_at":"2024-08-02T05:01:23.534Z","updated_at":"2025-04-24T19:31:24.360Z","avatar_url":"https://github.com/ssell.png","language":"ShaderLab","funding_links":[],"categories":["ShaderLab"],"sub_categories":[],"readme":"# Unity Sobel Outline Example\n\n![](Media/SobelOutline.gif#center)\n\nThis repository contains the source code for a deferred renderer Sobel Outline post-processing effect for Unity.\n\nThere is an accompanying article,\n\n* https://www.vertexfragment.com/ramblings/unity-postprocessing-sobel-outline/\n\nwhich provides a step-by-step tutorial on how the effect was created.\n\nIt should be noted that this project is for demonstration purposes only, and there is no guarantess of its correctness. This project _may_ see occasional future updates to support new Unity or package versions or bug fixes.\n\nThe code was written against:\n\n* Unity v2020.2.0f1\n* [Post Processing v2.3.0](https://docs.unity3d.com/Packages/com.unity.postprocessing@2.3/index.html)\n\n## Exclude from Outline\n\nSometimes you don't want the outlines affecting certain geometry. One way this can be done is by setting signals in the sampled buffers.\n\nPersonally, I have gone about this two different ways:\n\n1. Using a secondary depth buffer to render excluded geometry to, combined with ShaderLab tags. See the `OutlineOcclusion` related objects in the project (C# class, shader, material).\n2. Setting a signal in the deferred renderer G-Buffer. Personally have done this by setting the world normal `.w` to `0.0` and interpreting it in the Sobel shader. This is not demonstrated in the example project.\n\n## Contact\n\nAny questions or comments may be directed to the contact information [found here](https://www.vertexfragment.com/about/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssell%2FUnitySobelOutline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssell%2FUnitySobelOutline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssell%2FUnitySobelOutline/lists"}