Core and the app · crate
kinogaki-render-geometry
The render side of Studio's standard geometry values: what render engines receive for them, whatever kernel made them.
- Repository
- Core and the app (kinogaki/studio-core)
- Folder
studio/core/render-geometry- Source
- 5 files, 880 lines
- Tests
- 1 file, 441 lines
What it is
The render side of Studio's standard geometry values: what render engines receive for them, whatever kernel made them.
| Piece | What |
|---|---|
GeometrySource | a Geometry value's polygons or curves as a render ShapeSource: the display triangulation the viewport shows or the curves alone, primvars in render domains, material subsets, and after a drag only the points that moved |
GeometryRenderable | the Renderable facet of the standard polygons data type |
BrepRenderable | the Renderable facet of the standard B-rep data type: one item a distinct body mesh (the installed mesher's at the render's tolerances) |
Items | the render items each value gives, kept per value, Detail and tolerances so an unchanged value never asks again, each part's source made after the one before it so an edit re-sends only the parts it changed |
changes | what changed between two sources of one part, as the dirty bits an engine update carries |
Columns are shared, never copied per frame: f32 points are made once per positions column and kept on it, the triangle column is the triangulation's own, a Point or Detail primvar is the value's own column and a gathered one is kept from source to source while what it reads stays (the SDK's cache rule), so every source over the same columns, and every render scene, shares them.
Depends on
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-brep-mesh | Core and the app | normal | B-reps as polygons, below the viewport, renders and file exchange alike: each body's mesh by the installed mesher, cached on its geometry (meshed), and a value's bodies joined into one polygons value (joined): each body's mesh, the faces' polygons ... |
kinogaki-render-api | SDK | normal | Kinogaki's render interface: what a host (Studio) sends a render engine and what comes back, with no GPU or OS API. |
kinogaki-studio-api | SDK | normal | Kinogaki Studio's headless plugin API. |
Third-party
None.
Used by
| Crate | Repository | As | What it is |
|---|---|---|---|
kinogaki-core-package | Core and the app | normal | Core's own SDK package (kinogaki.core): what Studio holds whatever plugins are installed. |
kinogaki-scene | Core and the app | normal | Studio's scene: the document cooked object by object. |
Modules
changes(private)changes: what an engine update carries for one part whose source was replaced.49 linescolumns(private)What a render reads per vertex, primitive or point from a polygons value: primvars gathered into render domains, material subsets, and the table of a value's curves alone.240 linesitems(private)Items: the render items each value gives, kept per value and detail, each type's asked through itsRenderablefacet;GeometryRenderableandBrepRenderable: the standard polygons' and B-reps' facets.240 linessource(private)GeometrySource: a polygons value as a render shape.326 lines
Public types and traits
At the crate root
Structs BrepRenderableGeometryRenderableGeometrySourceItems
By module: 4 public types and traits in 2 modules
items BrepRenderableGeometryRenderableItems
source GeometrySource
