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

[Kind] Remove TF_FOR_ALL usage. #394

Closed

Conversation

superfunc
Copy link
Contributor

Description of Change(s)

Replaces uses of TF_FOR_ALL macro with standard for each construct introduced in C++11.

Fixes Issue(s)

Towards #80 , many uses left.

@jtran56
Copy link

jtran56 commented Jan 29, 2018

Filed as internal issue #156426.

@superfunc superfunc closed this Oct 9, 2018
AdamFelt added a commit to autodesk-forks/USD that referenced this pull request Apr 16, 2024
…tionStudios#394)

### Description of Change(s)
Squash merge adsk/feature/billboards to tidy the history.

Include:
* Billboard support for HdMesh and HdBasisCurves through 'cameraFacing' primvar

* PixelScale attribute and appropriate shader code

* refactoring: create secondaryGraphics.glslfx and move the appropriate code there

* Merge remote-tracking branch 'origin/ogs/secondary_graphics' into wip/fusion-usd-merge-2nd

* Enhance pixelScale

* Enhance BillBoardAttribute::eScreen type billboard feature, ensure the scale channel is not lost

* Fix billboard issue

* Add cameraFacing & pixelScale primvar handling in UsdImagingDelegate::GetPrimvarDescriptors()

* Simpler pixelScale functionality, working billboard transforms

NOTE: that when text.glslfx is recreated (shortly), this conflicted
part of this change will need to be applied!

Conflicts:
	pxr/imaging/hdSt/shaders/text.glslfx

* Avoid failing to compile GL_VERTEX_SHADER for SecondaryGraphics by defining axialConstraint and billboardConstraint

* Fix pixel-scaling on Metal...

This is arguably not a PR-quality fix, but it is tiny.

The issue is that on Metal, hdStorm decides at to use Metal’s tessellation
capability. This results in Patch rather than Triangle being selected as
the primitive type, then a PostTessVertex function is selected instead of
the regular Vertex function. Only the regular vertex function supports pixel
scale.

There isn’t any good way to override the device capabilities decision, and
it’s dubious that we would really want to even if we could. Better to extend
pixel scale functionality to the PostTessVertex function as well, but I’ve
yet to find a way to do that other than by copying the (tiny) pixelScale
functions into the PostTessVertex program — the shader compiler refuses to
recognize the function name otherwise.

* Fix camera-facing: same situation as with pixel-scale...

The entirety of secondaryGraphics.glslfx is now duplicated here. Yuck.
We will need to figure out how to avoid that before a PR can be made.

* pixelScale with scalePivot and size controls

* mesh.glslfx: apply modified pixelscale from secondarygraphics

* mimic code in mesh.glsls for metal. We have a precedence from before and needs to be addressed.

* use new pixelScaleTransform

* Fix issues with billboards

Support for billboarding text and screen facing geometry.

* Fix for cameraFacing primvar type

* Tweaks to simplify changes vs. dev branch

* Comment update

* Update from dev and tidy

* More tidy

* Bad tab

Co-authored-by: Ivan Vlasov <[email protected]>
Co-authored-by: luow <[email protected]>
Co-authored-by: “Vince <[email protected]>
Co-authored-by: Parviz Rushenas <[email protected]>
Co-authored-by: Jason Bellenger <[email protected]>
Co-authored-by: Ramesh Santhanam <[email protected]>
Co-authored-by: Adam Felt <[email protected]>
Co-authored-by: Erika Harrison <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants