Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[hdEmbree] fix for random number generation #2

Merged
merged 51 commits into from
Sep 23, 2024

Commits on Jun 17, 2024

  1. feat: start implementing StageMetadataChecker

    - adding entry into plugInfo.json
    - adding tokens
    - adding function itself
    
    Note: this does not work for upAxis or metersPerUnit because I'm not sure how to include the reference to UsdGeom
    beersandrew committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    daf856e View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. feat: finish initial implementation

    - trimmed down the functionality to only check for a defaultPrim, since the other fields will go in usdGeom
    - added a test file, included in CMakeLists.txt
    beersandrew committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    67aea03 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. refactor: update names, docs

    - corrected doc to only include defaultPrim check
    beersandrew committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    14e5b0e View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. feat: add MaterialBindingAPIChecker

    - adding all necessary validation pieces including plugInfo.json, valdator tokens, tests, and validator code itself
    beersandrew committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    b62b9c4 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. feat: add validator SkelBindingAPIAppliedChecker

    - added a validation check for when a skel binding property is present but the skel binding api is not applied
    - added a validation check for when a skel binding api is applied to a prim that is not parented by a skel root
    - added a unit test
    beersandrew committed Jul 15, 2024
    Configuration menu
    Copy the full SHA
    a708a01 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. fix: clean up based on PR comments

    - fixed description string in plugInfo.json to be clear about requiring a defaultPrim
    - updated validation error message to include the rootLayer identifier
    - added the defaultPrim at the end of the unit test to verify the error is cleared when a defaultPrim is set
    beersandrew committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    a1d8305 View commit details
    Browse the repository at this point in the history
  2. test: update and separate validator test

    - add metadata test to validator check
    - separate validator check into a new test
    beersandrew committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    be20780 View commit details
    Browse the repository at this point in the history
  3. test: update test

    - allow validators to be contained in the set rather than requiring matching by name
    beersandrew committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    0181e8a View commit details
    Browse the repository at this point in the history
  4. fix: fix issues based on PR comments

    - update comments to be in sentence form
    - remove local path, update to an in memory stage
    - remove \ from multi-line strings and wrap them in parenthesis instead
    - reduce nesting in validation code
    - check parentPrim for null before checking it's type
    beersandrew committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    86bf1f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. fix: address PR comments

    - reenabled testUsdSkelRoot, accidentally removed in a previous commit
    - removed sdr dependency from skel test
    - removed unused headers
    - added TestUsdSkelValidators test to verify validator existence
    - removed SkelBindingApiChecker name from error messages
    - refactored how skelPropertyNames are collected, stored, and checked against
    beersandrew committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    a5b1145 View commit details
    Browse the repository at this point in the history
  2. refactor: break out once an error is found

    - no need to catch multiple errors here
    beersandrew committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    2693885 View commit details
    Browse the repository at this point in the history
  3. fix: addressed PR comments

    - updated plugInfo description
    - updated name to MaterialBindingApiAppliedValidator
    - updated how material binding relationships are found to be how the python compliance checker was checking it
    -
    beersandrew committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    7cf4ac6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    19fa668 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. fix: addressed PR comments

    - switched from using TfToken("SkelBindingAPI") to UsdSkelTokens->SkelBindingAPI
    - use const vectors where possible
    - refactoring / reordering of code for clarity
    beersandrew committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    3ccf73f View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2024

  1. fix: addressed PR comments

    - converted hasMaterialBindingRelationship function into a lambda
    - changed materialBindingString to be static
    beersandrew committed Jul 20, 2024
    Configuration menu
    Copy the full SHA
    34abee9 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. usdGeom: query for subsets of all element types in UsdGeomSubset::Val…

    …idateFamily()
    
    This ensures that we correctly detect the case where a subset family
    consists of subsets that have differing element types, which should
    result in a validation failure.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    33caaaa View commit details
    Browse the repository at this point in the history
  2. usdGeom: adjust validation failure reason string for mixing subset el…

    …ement types
    
    Referring to them as "GeomSubset" rather than just "Subset" is more
    consistent with the other failure reasons, and both element type values
    are now enclosed in single quotes.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    4e66558 View commit details
    Browse the repository at this point in the history
  3. usdGeom: remove newline characters from subset validation failure rea…

    …sons
    
    This allows clients more flexibility when using the reason strings.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    87c5487 View commit details
    Browse the repository at this point in the history
  4. usdGeom: add validator tokens, including one for SubsetFamilies valid…

    …ator
    
    We also include a "UsdGeomSubset" keyword token, as there will be a
    collection of validators that check various aspects of geom subsets.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    322e0d8 View commit details
    Browse the repository at this point in the history
  5. usdGeom: implement and register the "SubsetFamilies" validator

    This validator performs validation on all geom subset families authored
    beneath an Imageable prim.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    24e6dee View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    626e683 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f91c0ca View commit details
    Browse the repository at this point in the history
  8. usdGeom: implement and register the "SubsetParentIsImageable" validator

    This validator checks whether a geom subset prim is a direct descendant
    of an Imageable prim.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    6166770 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0f9d027 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0543e9e View commit details
    Browse the repository at this point in the history
  11. usdShade: implement and register the "SubsetMaterialBindFamilyName" v…

    …alidator
    
    This validator checks whether a geom subset has authored material bindings
    but no authored subset family name, in which case an error is emitted
    indicating that the family name should be set to "materialBind" to ensure
    that the material bindings are visible to renderers. The material bindings
    will have no effect otherwise.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    c5c4725 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    fa5fd86 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    e0e489b View commit details
    Browse the repository at this point in the history
  14. usdShade: implement and register the "SubsetsMaterialBindFamily" vali…

    …dator
    
    This validator checks that if an Imageable prim has GeomSubsets of the
    "materialBind" family, the family must be of a restricted type (either
    "nonOverlapping" or "partition"), since it is invalid for an element of
    geometry to be bound to multiple materials. Those subsets are also checked
    to ensure that they are of element type "face", since material bindings may
    only be applied to geometric faces.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    32c85be View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    684905c View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    24e4ca1 View commit details
    Browse the repository at this point in the history
  17. usdShade: implement and register the "MaterialBindingRelationships" v…

    …alidator
    
    This validator checks that all properties named "material:binding" or in the
    "material:binding" namespace are relationships, as the expectation is that
    they target Material prims.
    mattyjams committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    77ef087 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    7556b56 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2024

  1. fix: remove unused line

    beersandrew committed Jul 26, 2024
    Configuration menu
    Copy the full SHA
    e7f63fa View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2024

  1. Remove matrix multiply operator overloads that potentially lose preci…

    …sion.
    
    The overloads of this methods that take and return a GfVec3f can cause
    inadvertent loss of precision.
    
    This change includes updates to call sites where the result of a call to one of
    these overloads now needs to be converted to GfVec3f. The advantage of requiring
    these conversions is that the loss of precision is explicit.
    
    (Internal change: 2335357)
    adamrwoodbury authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    b9b37ff View commit details
    Browse the repository at this point in the history
  2. arch: try to use _Fork for async-signal-safe forking

    This code intended to provide a "non-locking" fork for use in the
    signal handlers used to implement crash dumps.  __libc_fork is a
    private glibc symbol that, in the very distant past, was a direct fork
    syscall.  __libc_fork now refers to the full fork implementation,
    including at-fork handlers.  If a multithreaded application aborts
    from inside glibc's malloc implementation, fork's attempt to acquire
    the malloc lock causes a deadlock.  Starting in glibc 2.34, _Fork
    provides an async-signal-safe implementation that does not run
    handlers or acquire any malloc locks.
    
    (Internal change: 2335367)
    jloy authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    0cfd2a6 View commit details
    Browse the repository at this point in the history
  3. sdf: Fix a bug in SdfPathExpressionEval::Next(), the incremental search

    API, found by dsyu.  Move a function out-of-line, and fix up the depth
    calculations for popping incremental search state properly.  Add a
    regression test case.
    
    (Internal change: 2335372)
    (Internal change: 2335376)
    gitamohr authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    1f14c4d View commit details
    Browse the repository at this point in the history
  4. Updating contributing to usd doc.

    (Internal change: 2335391)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    fd32923 View commit details
    Browse the repository at this point in the history
  5. Merge pull request PixarAnimationStudios#3123 from mattyjams/pr/add_v…

    …alidators_for_GeomSubsets
    
    usdGeom, usdShade: add validators related to UsdGeomSubsets
    
    (Internal change: 2335400)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    b367949 View commit details
    Browse the repository at this point in the history
  6. USD tutorials: adding output of generate_simpleShading.py so that peo…

    …ple can follow along without having to install USD first.
    
    (Internal change: 2335409)
    unhyperbolic authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    b0507c2 View commit details
    Browse the repository at this point in the history
  7. Attempt to clarify the documentation that describes schema strength o…

    …rdering.
    
    (Internal change: 2335482)
    adamrwoodbury authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    48d4f7b View commit details
    Browse the repository at this point in the history
  8. Add AttributeSpec and RelationshipSpec getters on UsdEditTarget, and

       fix Python binding for USD EditTarget's GetSpecForScenePath
    
    (Internal change: 2335500)
    anwang2009 authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    378ba15 View commit details
    Browse the repository at this point in the history
  9. Merge pull request PixarAnimationStudios#3125 from beersandrew/3122-a…

    …ddStageMetadataValidation
    
    feat: Add StageMetadataChecker Validator for core USD
    
    (Internal change: 2335527)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    e47efe0 View commit details
    Browse the repository at this point in the history
  10. Merge pull request PixarAnimationStudios#3166 from beersandrew/skelBi…

    …ndingAPIChecker
    
    feat: add validator SkelBindingAPIAppliedChecker
    
    (Internal change: 2335543)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    7eb18f5 View commit details
    Browse the repository at this point in the history
  11. Merge pull request PixarAnimationStudios#3154 from beersandrew/materi…

    …alBindingAPIAppliedChecker
    
    feat: add MaterialBindingAPIChecker
    
    (Internal change: 2335561)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    ab6eadc View commit details
    Browse the repository at this point in the history
  12. NVIDIA: Fix SdfCopySpec issues about overwriting field SdfFieldKeys->…

    …TargetPaths/ConnectionPaths
    
    The whole process of SdfCopySpec can be summarized as the following steps:
    
    * Getting all fields to be copied, including value fields and children fields.
    * Copying value fields firstly.
    * Then copying children fields.
    
    It's possible that the children fields fetched in step 1 is cleared in step 2, so step 3 is failed with copying a non-existent children field. This fix is to delay the fetch of children fields after step 2 so step 3 will be done on the correct children fields.
    
    Fixes PixarAnimationStudios#3095
    (github pull request PixarAnimationStudios#3117)
    
    - PR updated internally to enhance SdfCopySpec() to handle overlapping source/destination by copying the source to a temporary anonymous layer first, then copying that temporary to the destination.
    
    (Internal change: 2335761)
    gitamohr authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    26edc87 View commit details
    Browse the repository at this point in the history
  13. Fix various doxygen warnings in opensrc build

    (Internal change: 2335938)
    pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    19ec0d3 View commit details
    Browse the repository at this point in the history
  14. [hd, hdSt, usdImaging] Fix for both Hydra 1.0 and 2.0. When a

    material is edited, any prims with that material bound should have their
    primvars invalidated. This fixes a bug in which the material is edited in some
    way (for example, changing the name of which primvar to use in a primvar reader
    shader node), and the expected result does not show up correctly in usdview.
    
    Fixes PixarAnimationStudios#2382
    
    (Internal change: 2335965)
    clach authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    0151cd4 View commit details
    Browse the repository at this point in the history
  15. Added a new validator for UsdSkelBindingAPI

       - Decoupled the logic from skelBindingAPIAppliedValidator
       - This validator applies to any prim which has the UsdSkelBindingAPI applied, unlike the skelBindingAPIAppliedValidator which applies to any prim.
       - This is done so as to make sure that the validator logic can be independenly run on only the prims which have the UsdSkelBindingAPI applied.
    
    (Internal change: 2335967)
    tallytalwar authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    6eb78e2 View commit details
    Browse the repository at this point in the history
  16. Update hd with new MaterialOverrideSchema and add docs to relevant sc…

    …hemas.
    
    The schema is designed to live on a 'material' prim type as a data source of the following structure:
    materialOverride.interfaceValues.<publicUIName>.value -> value
    
    Note that 'materialOverride' is a container data source with one member 'interfaceValues'.
    Each interfaceValue specifies the overriding data source, which follows the MaterialNodeParameter schema.
    
    (Internal change: 2336028)
    vverovvero authored and pixar-oss committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    30392d9 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. [hdEmbree] fix for random number generation

    use of std::bind was copying the underlying random number generator before
    use, resulting in the exact same sequence getting reused for, ie, every
    AO calculation within a given tile-group
    pmolodo committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    67fc43f View commit details
    Browse the repository at this point in the history