forked from PixarAnimationStudios/OpenUSD
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- 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
- 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
- corrected doc to only include defaultPrim check
- adding all necessary validation pieces including plugInfo.json, valdator tokens, tests, and validator code itself
- 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
- 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
- add metadata test to validator check - separate validator check into a new test
- allow validators to be contained in the set rather than requiring matching by name
- 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
- 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
- no need to catch multiple errors here
- updated plugInfo description - updated name to MaterialBindingApiAppliedValidator - updated how material binding relationships are found to be how the python compliance checker was checking it -
- switched from using TfToken("SkelBindingAPI") to UsdSkelTokens->SkelBindingAPI - use const vectors where possible - refactoring / reordering of code for clarity
- converted hasMaterialBindingRelationship function into a lambda - changed materialBindingString to be static
…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.
…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.
…sons This allows clients more flexibility when using the reason strings.
…ator We also include a "UsdGeomSubset" keyword token, as there will be a collection of validators that check various aspects of geom subsets.
This validator performs validation on all geom subset families authored beneath an Imageable prim.
This validator checks whether a geom subset prim is a direct descendant of an Imageable prim.
…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.
…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.
…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.
2 tasks
…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)
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)
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)
(Internal change: 2335391)
…alidators_for_GeomSubsets usdGeom, usdShade: add validators related to UsdGeomSubsets (Internal change: 2335400)
…ple can follow along without having to install USD first. (Internal change: 2335409)
…rdering. (Internal change: 2335482)
fix Python binding for USD EditTarget's GetSpecForScenePath (Internal change: 2335500)
…ddStageMetadataValidation feat: Add StageMetadataChecker Validator for core USD (Internal change: 2335527)
…ndingAPIChecker feat: add validator SkelBindingAPIAppliedChecker (Internal change: 2335543)
…alBindingAPIAppliedChecker feat: add MaterialBindingAPIChecker (Internal change: 2335561)
…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)
(Internal change: 2335938)
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)
- 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)
…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)
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
force-pushed
the
pr/hdEmbree-random-fix
branch
from
September 23, 2024 17:28
20f883e
to
67fc43f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Change(s)
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
Fixes Issue(s)
NOTE: This chain of PRs was made separate from the PR documenting expected behavior: