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

Add new shaders, Maya matte support, fixes #2426

Draft
wants to merge 5 commits into
base: master
from

Conversation

2 participants
@luisbarrancos
Copy link
Contributor

luisbarrancos commented Feb 15, 2019

  • Added raySwitch surface shader, for closures. We have one for textures.
  • Added blendNormals node to blend tangent space normal maps via reoriented normal mapping.
  • Added surface luminance node via NPR rays, color space aware.
  • Added support for matte opacity in the Maya shaders, but restricted only to matte opacity mode 0 (Black Hole). For the rest, piping the output to the as_matte shader via shader passthrough provides equivalent functionality.
  • Added minor performance optimizations to the Maya nodes, mostly related to opacity tests and shadow and transparency rays.
  • Added orientation check to as_fresnel, to ensure the normal is forward facing.
  • Added access to appleseed exclusive global primvars dNdu, dNdv, and others.
  • Added access to vertex_color, currently a placeholder attribute.
  • Chromaticity coordinates can be negative, so ensure the UI metadata reflects this in as_luminance node.
  • Added the glass random walk profile to as_subsurface.
  • Added flip/switch XY/RG components of the texture sections of the triplanar node, required to blend correctly tangent space normal maps if they follow different conventions (OpenGL vs DX)
  • Minor fixes and cleanups.
Add new shaders, Maya matte support, fixes
Added raySwitch surface shader, for closures. We have one for textures.
Added blendNormals node to blend **tangent space normal maps** via
reoriented normal mapping.
Added surface luminance node via NPR rays, color space aware.
Added support for matte opacity in the Maya shaders, but restricted only
to matte opacity mode 0 ("Black Hole"). For the rest, piping the output
to the as_matte shader via shader passthrough provides equivalent
functionality.
Added minor performance optimizations to the Maya nodes, mostly related
to opacity tests and *shadow* and *transparency* rays.
Added **reorientNormal** checkbox to *as_bump* node to give the user the
option to ensure the resulting normals of tangent space normal mapping
are in the same hemisphere as the surface normal N.
Added orientation check to *as_fresnel*, to ensure the normal is forward
facing.
Added access to appleseed exclusive global primvars dNdu, dNdv, and
others.
Added access to *vertex_color*, currently a placeholder attribute.
Chromaticity coordinates can be negative, so ensure the UI metadata
reflects this in *as_luminance* node.
Added the *glass random walk* profile to *as_subsurface*.
Added flip/switch XY/RG components of the texture sections of the
triplanar node, required to blend correctly tangent space normal maps.
Minor fixes and cleanups.
@luisbarrancos

This comment has been minimized.

Copy link
Contributor Author

luisbarrancos commented Feb 15, 2019

This requires the type IDs and other changes currently in progress for appleseed-maya.
Until Max can address adding parameters without breaking backwards compatibility, the following nodes are breaking backwards compatibility:

  • as_subsurface
  • as_triplanar
@Mango-3

This comment has been minimized.

Copy link
Member

Mango-3 commented Feb 15, 2019

Very nice!
One thing, as_bump is not used in appleseed-Max, it uses it's own bump map implementation which is added to each material node. So the reorientNormal checkbox you added to as_bump.osl would need to be replicated in the appleseed-Max C++ code.

@luisbarrancos luisbarrancos force-pushed the luisbarrancos:shader_wip branch from 8b52c7f to 1b1e62c Feb 16, 2019

@luisbarrancos luisbarrancos force-pushed the luisbarrancos:shader_wip branch from 68fdb96 to 3f798a3 Feb 17, 2019

Add integer remainder, remove random
and replace mod/fmod by remainder when using large (signed) hash IDs

dictoon added a commit to appleseedhq/appleseed-maya that referenced this pull request Mar 10, 2019

New Render Settings, UI controls, parameters exposed (#198)
- Added NEtemplates for asBlendNormals, asRaySwitchSurface, asSurfaceLuminance, asBlendNormals, asASCCDL, asMatte (new shaders added in appleseedhq/appleseed#2426) and icons for the same nodes (#185).
- Added and expose cast indirect controls for delta lights, and reorganize the delta lights appleseed UI sections.
- Reorganize the UI for mesh/geometry attributes, sections for SPPM, and medium priority, and expose bias control.
- Remove duplicate turbitidy scale from physical sky and clean its UI.
- Add completely new render globals (or render settings), split into the default Maya section, appleseed and now lighting, output and system. Toggle the controls and sections, subsections according to values of parent attributes, and added Maya annotation and status bar messages.
- Added render stamp status bar message referencing the string replacement allowed by default.
- Fix attribute spreadsheet hiding the appleseed keyable attributes (#167).
- Minor c++ fixes (missing MString header, fixing wrong order in constructor initializer list, and replacing 0 by nullptr where appropriate).
- Set softmin and softmax in some attributes according to appleseed defaults.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.