{"adoption": {"forks": 159, "observed_at": "2026-08-28T04:04:17.287964+00:00", "stars": 1298}, "canonical_url": "https://ross.abutalabs.com/products/softras", "card": {"archived": false, "artifact_type": "library", "description": "Project page of paper \"Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning\"", "domain": ["computer-vision", "graphics", "deep-learning", "machine-learning"], "enriched": true, "function": ["graphics", "machine-learning", "image-processing", "simulation"], "health_score": 52, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ShichenLiu/SoftRas"], "name": "ShichenLiu/SoftRas", "platform": ["python"], "pushed_at": "2025-11-24T06:47:24+00:00", "repo": "ShichenLiu/SoftRas", "stars": 1298, "tags": ["differentiable-rendering", "pytorch", "3d-reconstruction", "rasterizer", "cuda", "iccv-2019", "mesh-rendering", "gpu", "linux"], "topics": ["differentiable-rendering", "3d-reconstruction", "computer-graphics", "geometry-processing"], "urls": [], "use_cases": ["render 3D meshes differentiably in PyTorch", "reconstruct 3D meshes from single RGB images without 3D supervision", "backpropagate image-based losses to mesh vertices and textures", "train single-view mesh reconstruction networks on multi-view image datasets", "generate soft, blurred, or transparent renderings of meshes for research"], "what_it_is": "SoftRas is a PyTorch-based differentiable renderer that treats rasterization as a differentiable aggregating process over mesh triangles, enabling gradient back-propagation from images to mesh vertices and attributes. It supports rendering colorized meshes and training 3D reconstruction models from images without 3D supervision.", "when_to_avoid": ["you need a fast production renderer without gradient requirements", "you need support for modern PyTorch versions or recent CUDA toolkits out of the box", "you need features like ray tracing, global illumination, or complex material models"], "when_to_choose": ["you need gradients flowing from rendered images back to 3D mesh geometry or texture", "you are doing image-based 3D reconstruction or inverse graphics research", "you want a differentiable alternative to standard rasterizers in a PyTorch pipeline"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/softras", "repo": "ShichenLiu/SoftRas", "role": "main", "score": 56}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.287964+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:53:48.709205+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "546b5e50cc1f2a147c3135cb7cd92e4b16af78af0e7185cdc6bd0f2ca7239f48", "fetched_at": "2026-08-28T04:04:17.287964+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ShichenLiu/SoftRas"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 53, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2710, "days_push": 282, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 56, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}