| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
This change adds support to the UsdUtils Asset Localization System enabling its clients to transparently gain support for working with asset paths that contain variable expressions. This is accomplished though three main modifications: - `AssetLocalizationContext`, which handles primary dependency traversal will track and compose variable expressions for the root layer stack and across References and Payloads - `AssetLocalizationDelegate`, which handles value processing and updating will transparently evaluate variable expressions before passing asset paths to clients. - `UsdUtilsDependencyInfo` now makes the raw authored path and the composed set of variable expressions available to user processing functions should they need it (Internal change: 2415510) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Implement proposed LOD schema for USD This implementation includes two API schemas, three typed schemas, a few support/helper classes, and validators. The API schemas are LODRootAPI and LODOverrideAPI. LODRootAPI declares that the prim that it is applied to is the root of an LOD choice hierarchy. The direct namespace children of the root are the LOD items that can be chosen. LODRootAPI adds the property "int lod:default:index = 0" and the relationship "lod:heuristics". The lod:default:index property defines the index of the LOD item child that should be selected by default (when the renderer has no other recommendation for a LOD item). The lod:heuristics relationship targets a list of heuristics that the renderer may use to select an appropriate LOD item child. LODOverrideAPI defines an inherited LOD override that potentially affects all descendents of the prim to which it is applied. It is intended primarily for testing or for locking down an expoicit LOD choice. It defines two properties: "lod:override:mode" and "lod:override:index". The mode is one of "inherited", "noOverride", "indexedLOD", "noLOD", or "allLOD". The default is "inherited" which means the override simply inherits any ancestor override or "noOverride" if there is no such ancestor. "noOverride" means that there is explicitly no override, trumping any override that may have been specified by a more distant ancestor. "indexedLOD" indicates that the value of "lod:override:index" should be used instead of consulting any heuristics. "noLOD" and "allLOD" indicate that the renderer should display no LOD items or all LOD items respectively. The typed schemas are LODHeuristic, an abstract base class for other heuristics, and the two concrete heuristics LODDistanceHeuristic and LODScreenSizeHeuristic. Each heuristic has type and an lodDomain property to help the renderer choose which heuristics to use. Concrete heuristics have additional methods that can be used by the renderer to select a LOD item child. The function signatures and return types of these extra methods are unique to the heuristic and are not part of the proposal. The concrete heuristics provided here are example, proof-of-concept implementations that are probably useful in their current state. But it is expected that specific renderers will probably create their own, renderer-specific heuristics for things like frame rate, memory use, GPU use, etc. The LODDistanceHeuristic and LODScreenSizeHeuristic classes are implemented in C++ by UsdLodDistanceHeuristic and UsdLodScreenSizeHeuristic. These two classes implement the normal C++ bindings for a schema, but they also have renderer friendly "query" classes UsdLodDistanceHeuristicQuery and UsdLodScreenSizeHeuristicQuery respectively. The query classes are completely separate from the USD scene. They hold a snapshot of the scene data at a point in time and can compute a metric value (distance or screen size) as well as a corresponding LOD for that metric. For convenience, the computation methods from the query classes are wrapped on the schema classes themselves. The validators use the UsdValidation framework to allow you to verify the data on the heuristics (threshold values are sorted, etc.). Overview doxygen documentation is in overview.dox (Internal change: 2414814) (Internal change: 2416024) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Regenerate precompiled headers This change regenerates precompiled headers throughout the tree. It also adds a pch.h file for the newly-created usdLod schema domain. (Internal change: 2414923) | 3 个月前 | |
Make lightFilter respect UsdShadeConnectableBehavior encapsulation rules. Previously it was okay to connect a light filter across multiple lights, and hence breaking encapsulation. This change disallows the same. Added a new validator under a new usdLuxValidators plugin to check for the same and added unit test for the same. Fixes #3908 (Internal change: 2404884) | 5 个月前 | |
Adding validators/validation to docs (Internal change: 2385911) | 11 个月前 |
Validation
The OpenUSD Validation framework provides a system to validate assets, verifying core rules and schema rules, to ensure assets are robust and interchangeable between different USD workflows.
See usdValidation for more detailed documentation.