{"id":13708498,"url":"https://github.com/SoulRider/StrideOutlineRenderer","last_synced_at":"2025-05-06T13:30:44.817Z","repository":{"id":204047975,"uuid":"309533163","full_name":"SoulRider/StrideOutlineRenderer","owner":"SoulRider","description":"Stride Outline Renderer - Renderer for Rendering 3D Object (Model Component) Outlines","archived":false,"fork":false,"pushed_at":"2020-10-22T17:44:28.000Z","size":1941,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-13T18:43:48.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"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/SoulRider.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}},"created_at":"2020-11-03T00:52:19.000Z","updated_at":"2021-04-17T19:40:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"e8d99cb1-de3b-4272-8c83-9daaa0461123","html_url":"https://github.com/SoulRider/StrideOutlineRenderer","commit_stats":null,"previous_names":["soulrider/strideoutlinerenderer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulRider%2FStrideOutlineRenderer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulRider%2FStrideOutlineRenderer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulRider%2FStrideOutlineRenderer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoulRider%2FStrideOutlineRenderer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoulRider","download_url":"https://codeload.github.com/SoulRider/StrideOutlineRenderer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252693510,"owners_count":21789702,"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-02T23:00:24.188Z","updated_at":"2025-05-06T13:30:39.810Z","avatar_url":"https://github.com/SoulRider.png","language":null,"funding_links":[],"categories":["Example Projects"],"sub_categories":[],"readme":"# StrideOutlineRenderer\nStride Outline Renderer - Renderer for Rendering 3D Object (Model Component) Outlines\n\n \u003cimg src=\"Screenshots/StrideOutlineRenderer.png\"\u003e\n\n## Features:\n- Halo/Bloom/Blend outline effect for model components (this is not a shader)\n- Enable/Disable outline on model components by changing render group at runtime\n- Permanently enable outline on model components by assigning render group on Outline Component and enable \"AlwaysOutlined\"\n- Performance should scale (horizontally) directly with PostFX Bloom process\n\n## How it works:\n- Uses physics ray casting in camera controller to activate outline on objects, requires colliders\n- Model components are set to RenderGroup9, when they are highlighted they are changed to RenderGroup10 (arbitrary assignments)\n- Model components have an OutlineComponent attached to them, assigning a highlight color and outline RenderGroup (RenderGroup10)\n- RenderTextureSceneRenderer in Compositor writes only RenderGroup10 to a render texture (InputRenderTexture)\n- OutlineRenderer uses SpriteBatch to write a new RenderTexture (OutputRenderTexture) by saturating color\n- OutlineUiOutput Entity/UiComponent in Scene renders the OutputRenderTexture to the camera as RenderGroup30\n- RenderGroup30 has PostFX applied through SharedRenderer (This is how the bloom occurs)\n- InputRenderTexture is excluded from PostFX, but added as a SingleStageRenderer for Transparent pass \"on top of\" bloom effect\n\nScene:\n\n\u003cimg src=\"Screenshots/Scene.png\"\u003e\n\nCompositor:\n\n \u003cimg src=\"Screenshots/Compositor.png\"\u003e\n \nCompositor Expanded:\n\n\u003cimg src=\"Screenshots/CompositorExpanded.png\"\u003e\n  \nCompositor Render Texture (Item 0):\n\n\u003cimg src=\"Screenshots/GroupRenderToTexture.png\"\u003e\n\nCompositor Outline Renderer (Item 1):\n\n\u003cimg src=\"Screenshots/OutlineRenderer.png\"\u003e\n\nCompositor Shared Renderer to Post FX Omit Group 9 (Item 2):\n\n\u003cimg src=\"Screenshots/OmitGroupSharedRenderer.png\"\u003e\n\nCompositor Group 9 Single Stag Renderer (Item 3):\n\n\u003cimg src=\"Screenshots/Group9SingleStage.png\"\u003e\n\nCompositor Group 31 Single Stage Renderer (Item 4):\n\n\u003cimg src=\"Screenshots/Group31SingleStage.png\"\u003e\n \n## Potential Improvements\n- You could combine the RenderTextureSceneRenderer functionality into the OutlineRenderer\n\n## Other Implementations\n- Check my GitHub profile, I will also release the non-bloom version with a combined Renderer (RenderTexture and SpriteBatcher), should be titled something like \"RenderGroupOutlineRenderer\"\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSoulRider%2FStrideOutlineRenderer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSoulRider%2FStrideOutlineRenderer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSoulRider%2FStrideOutlineRenderer/lists"}