mirror of
https://github.com/lighttransport/tinyusdz.git
synced 2026-01-18 01:11:17 +01:00
Moving documents to MkDocs.
This commit is contained in:
7
doc/README.md
Normal file
7
doc/README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# How to setup documentation environment
|
||||||
|
|
||||||
|
```
|
||||||
|
$ python -m pip install mkdocs
|
||||||
|
$ python -m pip install mkdocs-material
|
||||||
|
$ python -m pip install markdown-katex
|
||||||
|
```
|
||||||
233
doc/docs/index.md
Normal file
233
doc/docs/index.md
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
# TinyUSDZ documentation
|
||||||
|
|
||||||
|
For full documentation visit [mkdocs.org](https://www.mkdocs.org).
|
||||||
|
|
||||||
|
## Mesh prim
|
||||||
|
|
||||||
|
* points : usually vec3f[]
|
||||||
|
* normals : usually vec3f[] varying
|
||||||
|
* primvars:st : usually vec2f[] varying
|
||||||
|
* primvars:st:indices : usually int[] varying
|
||||||
|
* velocities : usually vec3f[]
|
||||||
|
* texcoord: usually `texCoord2f[]` (Texcoord bound to Mesh prim)
|
||||||
|
|
||||||
|
|
||||||
|
#### Mesh property
|
||||||
|
|
||||||
|
* doubleSided : bool
|
||||||
|
* extent : floa3[2]
|
||||||
|
* facevaryingLinearInterpolation : cornerPlus1
|
||||||
|
* faceVertexCounts : int[]
|
||||||
|
* faceVertexIndices : int[]
|
||||||
|
|
||||||
|
* orientation : ty: token. uniform. allowedTokens: ['rightHanded', 'leftHanded']
|
||||||
|
* visibility : ty: token. varying. allowedTokens: ['inherited', 'invisible']
|
||||||
|
* purpose : ty: token. uniform. allowedTokens: ['default', 'render', 'proxy', 'guide']
|
||||||
|
* subdivisionScheme : ty: token. uniform. allowedTokens: ['catmullClark', 'loop', 'bilinear', 'none']
|
||||||
|
* trianglesSubdivisionRule : ty: token. uniform. allowedTokens: ['catmullClark', 'smooth']
|
||||||
|
|
||||||
|
* xformOpOrder : ty: token. uniform.
|
||||||
|
|
||||||
|
* material:binding : Path
|
||||||
|
* proxyPrim : ty: relation. uniform
|
||||||
|
|
||||||
|
##### Optional property
|
||||||
|
|
||||||
|
* primvars:displayColor : ty: float3[], varying
|
||||||
|
* Usually array len = 1(constant color over the mesh)
|
||||||
|
* primvars:displayOpacity : ty: float[], varying
|
||||||
|
* Usually array len = 1(constant opacity over the mesh)
|
||||||
|
|
||||||
|
#### SubD property
|
||||||
|
|
||||||
|
* cornerIndices : int[]
|
||||||
|
* cornerSharpnesses : float[]
|
||||||
|
* creaseIndices : int[]
|
||||||
|
* creaseLengths : int[]
|
||||||
|
* creaseSharpnesses : float[]
|
||||||
|
* holeIndices : int[]
|
||||||
|
* interpolateBoundary : token?
|
||||||
|
|
||||||
|
### Xform
|
||||||
|
|
||||||
|
* world bounding box : range3d
|
||||||
|
* local world xform : matrix4d
|
||||||
|
* purpose
|
||||||
|
* visibility
|
||||||
|
* xformOpOrder
|
||||||
|
|
||||||
|
### Shader
|
||||||
|
|
||||||
|
* inputs:id : UsdUVTexture
|
||||||
|
* inputs:fallback : fallback color(Usually vec4f)
|
||||||
|
* inputs:file : @filename@
|
||||||
|
|
||||||
|
#### Texcoord reader
|
||||||
|
|
||||||
|
`UsdPrimvarReader_float2`
|
||||||
|
|
||||||
|
* inputs:varname(token) : Name of UV coordinate primvar in Mesh primitive.
|
||||||
|
* outputs:<name>(float2) : Output connection name. Usually `outputs:result`
|
||||||
|
|
||||||
|
### TODO
|
||||||
|
|
||||||
|
* [ ] non-vec3f `position`
|
||||||
|
* [ ] vertex color
|
||||||
|
* [ ] xformOpOrder
|
||||||
|
* [ ] Multi texcoord UVs
|
||||||
|
|
||||||
|
|
||||||
|
## PreviewSurface
|
||||||
|
|
||||||
|
https://graphics.pixar.com/usd/docs/UsdPreviewSurface-Proposal.html
|
||||||
|
|
||||||
|
### Inputs
|
||||||
|
|
||||||
|
| Name | Type | Default value, possible value |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| diffuseColor | color3f | (0.18, 0.18, 0.18) |
|
||||||
|
| emissiveColor | color3f | (0.0, 0.0, 0.0) |
|
||||||
|
| roughness | float | 0.5 |
|
||||||
|
| clearcoat | float | 0.0 |
|
||||||
|
| clearcoatRoughness | float | 0.01 |
|
||||||
|
| opacity | float | 1.0 |
|
||||||
|
| opacityThreshold | float | 0.0 |
|
||||||
|
| ior | float | 1.5 |
|
||||||
|
| normal | normal3f | (0.0, 0.0, 1.0) |
|
||||||
|
| displacement | float | 0.0 |
|
||||||
|
| occlusion | float | 1.0 |
|
||||||
|
| useSpeclarWorkflow | int | 1(specular) or 0(metallic) |
|
||||||
|
|
||||||
|
Specular workflow
|
||||||
|
|
||||||
|
| Name | Type | Default value |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| specularColor | color3f | (0.0, 0.0, 0.0) |
|
||||||
|
|
||||||
|
Metallic workflow
|
||||||
|
|
||||||
|
| Name | Type | Default value |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| metallic | float | 0.0 |
|
||||||
|
|
||||||
|
|
||||||
|
### Outputs
|
||||||
|
|
||||||
|
* surface - token
|
||||||
|
* displacement - token
|
||||||
|
|
||||||
|
### UsdUVTexture
|
||||||
|
|
||||||
|
#### Inputs
|
||||||
|
|
||||||
|
| Name | Type | Default value, possible value |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| file | asset | string |
|
||||||
|
| st | float2 | (0.0, 0.0) |
|
||||||
|
| wrapS | token | black, clamp, repeat, mirror |
|
||||||
|
| wrapT | token | black, clamp, repeat, mirror |
|
||||||
|
| fallback | float4 | (0.0, 0.0, 0.0, 1.0) |
|
||||||
|
| scale | float4 | (1.0, 1.0, 1.0, 1.0) |
|
||||||
|
| bias | float4 | (0.0, 0.0, 0.0, 0.0) |
|
||||||
|
|
||||||
|
#### Outputs
|
||||||
|
|
||||||
|
* r, g, b, a
|
||||||
|
|
||||||
|
|
||||||
|
### UsdTransform2d
|
||||||
|
|
||||||
|
#### Inputs
|
||||||
|
|
||||||
|
* in - float2 - (0.0, 0.0)
|
||||||
|
* rotation - float - (0.0)
|
||||||
|
* counter-clockwise rotation in degrees around the origin
|
||||||
|
* scale - float2 - (1.0, 1.0)
|
||||||
|
* translation - float2 (0.0, 0.0)
|
||||||
|
|
||||||
|
#### Outpuits
|
||||||
|
|
||||||
|
* result - float2
|
||||||
|
|
||||||
|
|
||||||
|
### TODO
|
||||||
|
|
||||||
|
* [ ] Primvar Reader(arbitrary vertex attributes)
|
||||||
|
* [ ] displacement
|
||||||
|
* [ ] Texture transform
|
||||||
|
|
||||||
|
|
||||||
|
## Notes on USDC crate file format
|
||||||
|
|
||||||
|
### Bootstrap(header)
|
||||||
|
|
||||||
|
* magic header: "PXR-USDC" : 8 bytes
|
||||||
|
* version number: uint8 x 8(0 = major, 1 = minor, 2 = patch, rest unused) :8 bytes
|
||||||
|
* int64_t tocOffset
|
||||||
|
* int64_t _reserved[8]
|
||||||
|
|
||||||
|
=> total 88 bytes
|
||||||
|
|
||||||
|
### Version
|
||||||
|
|
||||||
|
From pxr/usd/usd/crateFile.cpp
|
||||||
|
|
||||||
|
```
|
||||||
|
// Version history:
|
||||||
|
// 0.9.0: Added support for the timecode and timecode[] value types.
|
||||||
|
// 0.8.0: Added support for SdfPayloadListOp values and SdfPayload values with
|
||||||
|
// layer offsets.
|
||||||
|
// 0.7.0: Array sizes written as 64 bit ints.
|
||||||
|
```
|
||||||
|
|
||||||
|
* 0.8.0(USD v20.11)
|
||||||
|
|
||||||
|
### Compression
|
||||||
|
|
||||||
|
version 0.4.0 or later uses LZ4 for compression and interger compression(pxr original? compression. its backend still uses LZ4) for index arrays.
|
||||||
|
|
||||||
|
### TOC(table of contents)
|
||||||
|
|
||||||
|
List of Sections.
|
||||||
|
|
||||||
|
### Sections
|
||||||
|
|
||||||
|
There are 6 known sections.
|
||||||
|
|
||||||
|
#### TOKENS
|
||||||
|
|
||||||
|
List of strings(tokens). tokens are unique.
|
||||||
|
|
||||||
|
#### STRINGS
|
||||||
|
|
||||||
|
List of StringIndices(index to `tokens`)
|
||||||
|
|
||||||
|
#### FIELDS
|
||||||
|
|
||||||
|
Data field info. This is a bit tricky data format.
|
||||||
|
See the source code for details.
|
||||||
|
|
||||||
|
Field is consist of
|
||||||
|
|
||||||
|
* index to token
|
||||||
|
* 8 byte info. 2 byte for type an so on, 6 byte for primitive value or offset to the value(e.g. for array data)
|
||||||
|
|
||||||
|
#### FIELDSETS
|
||||||
|
|
||||||
|
List of indices
|
||||||
|
|
||||||
|
#### PATHS
|
||||||
|
|
||||||
|
List of path indices.
|
||||||
|
|
||||||
|
Need to reconstruct
|
||||||
|
|
||||||
|
#### SPECS
|
||||||
|
|
||||||
|
List of specs
|
||||||
|
|
||||||
|
###### Spec
|
||||||
|
|
||||||
|
* path index
|
||||||
|
* fieldsets index
|
||||||
|
* SdfSpecType
|
||||||
0
doc/macros.tex
Normal file
0
doc/macros.tex
Normal file
13
doc/mkdocs.yml
Normal file
13
doc/mkdocs.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
site_name: TinyUSDZ
|
||||||
|
|
||||||
|
theme:
|
||||||
|
name: material
|
||||||
|
palette:
|
||||||
|
scheme: slate
|
||||||
|
|
||||||
|
markdown_extensions:
|
||||||
|
- markdown_katex:
|
||||||
|
no_inline_svg: True
|
||||||
|
insert_fonts_css: True
|
||||||
|
macro-file: macros.tex
|
||||||
|
- admonition
|
||||||
Reference in New Issue
Block a user