Commit Graph

271 Commits (d9cbc97ec07909e6ddb6687e0c22da07cc6bbdb6)

Author SHA1 Message Date
Qing Tao d9cbc97ec0
ATOM-16063 Remove SetShaderResourceGroupCallback in scene and update scene srg handling (#3969)
ATOM-16273 Compiling SceneSRG before updating it can cause a gpu crash

Changes include:
1. Removed Scene::SetShaderResourceGroupCallback() function and clean up code which use this function.
2. Moved SceneTimeSrg.azsli to RPI's DefaultSceneSrg folder and setup the constants in RPI::Scene
3. Add AZ::Event for Scene's update srg event which features and update scene srg at proper place
4. UpdateTransformServcie FP to use PrepareSceneSrg event handler.
5. Clean up shaders and srgs used in project templates.

Signed-off-by: Qing Tao <qingtao@amazon.com>
4 years ago
Ken Pruiksma d17ac748ac
Various terrain improvements: (#3942)
* Various terrain improvements:
- Height now stored in a R16_unorm to decrease the amount of memory / memory bandwidth needed for the height field
- Many simplifications to the feature processor
- Added a shader to render to the depth pre pass
- Pulled common functionality needed by depth and forward to a common include shader
- Forward shader now outputs to all the expected render targets
- Adjusted the way normals and lighting are being calculated

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding missing shader files. Updated terrain shader to alter the color slightly with height.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Removed pixel shader code from terrain depth pass

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Renamed the depth pass shaders to no longer indicate they include a pixel shader.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Removing unneeded code from TerrainCommon.azsli

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
mrieggeramzn e15634a867
Adding receiver plane bias to directional shadows (#3305)
* Adding receiver plane bias to directional shadows

* fixing whitespace issue

* Slight spelling change
4 years ago
Jonny Galloway 6f589ad50c
color grading workflow (#3152)
* color grading workflow assets, python scripts, ~and test data for Nuke and PS.

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* minor changes

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* pep8 reformate code style, clean up, address CR

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* Pep8 refactor, some DRY refactoring.

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* simplification write_azasset()

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* corrected code and further simplified ()

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* updated readme.txt, I was mistakenly converting the wrong lut to engine

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* refactoring, simplification and some re-org

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* fixed bad loop in old_lut_helper

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* improve the lut_helper and corrected lut shaping

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* skip non-digit metadata in 3DL files

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* file name fix

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* nit: renamed a tag in comment

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* style

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* cleanup, cmd readme

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* fixed WINGHOME

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* Updated the readme with basic instructions

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* fixed py bootstrapping errors

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* removed log file (shouldn't be there)

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

* re-gen bad test lut (forgot)

Signed-off-by: Jonny Gallowy <~gallowj@amazon.com>

Co-authored-by: Jonny Gallowy <~gallowj@amazon.com>
4 years ago
Chris Burel ec0278b899
Configure default Atom assets to be enabled on the linux platform (#3611)
Signed-off-by: Chris Burel <burelc@amazon.com>
4 years ago
Ken Pruiksma ef5b49fc2b
Adjust the sharpness of TAA's Catmull-Rom filter based on local area luminance (#3400)
* Adjust the sharpness of TAA's Catmull-Rom filter based on local area luminance.
This helps prevent ringing artifacts in high contrast areas. Due to Catmull-Rom's use of negative weights, it's possible to have a very high value neighbor sample with a negative weight completely overwhelm the result leading to a negative output. This change reduces the sharpness of the catmull rom filter in high contrast areas so the negative weights contribute less to the final result.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* PR review feedback fixes - more comments and updated the way the sharpness equation was written for clarity.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
moudgils aa68122002
Atom starter game ios fixes (#3297)
* Various fixes for AtomStarterGame on ios
 - Use low end pipeline on ioos by default for BoootStrapComponent
 - Track the need to bind null heap within Argument buffers
 - Only bind the null heap if its needed
 - Track its usage for Vertex/Fragment stages
 - Increase null dummy buffer to 1K to address GPU crash oon thee first frame

Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Guthrie Adams aa642bd566
Merge pull request #3156 from aws-lumberyard-dev/Atom/guthadam/material_component_api_script_canvas_support
AtomTools: better script canvas support for material component
4 years ago
jiaweig 6766d10d1b
ATOM-13883 [RHI][Core] - Moving RHI init settings to the new settings registry system (#3086)
* Moved PlatformLimits to setreg. Removed Device PostInit. Some clean up.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Move setreg loading the PlatformLimitsDescriptor super class.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Apply same implementation for fake device used in unit tests

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Add implementation for Null renderer. Swap order for register RHI interface in initialization.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Move back setreg from PlatfromLimitsDescriptor to Device, due to Linux dependency issue.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Changed the function to take in RHI backend name

Signed-off-by: jiaweig <jiaweig@amazon.com>
4 years ago
Ken Pruiksma 90845313fb
Overhaul of LookModification (#3282)
* Fixed log2 shaper equations. Added bspline sampling for lut. Added options for custom log2 or linear lut with custom exposure ranges.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Added support for PQ shaper. Added shader option & cvar for lut sampling quality. Fixed issues in the blend lut shader that were causing considerable quality loss. No longer always changing to the log2 1000 nit shaper when blending luts - if the source luts all use the same shaper, keep using that shaper in the blended lut.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixed an integer -> float

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Minor PR reveiw updates

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
AMZN-tpeng e15ae750a2
[ATOm][RHI][Vulkan][Android] - Reorganize float2 data members to floa… (#2718)
* [ATOm][RHI][Vulkan][Android] - Reorganize float2 data members to float to avoid Android Mali GPUdriver crashes

Signed-off-by: Peng <tonypeng@amazon.com>

* [ATOM][RHI][Vulkan][Android] - Added reason comment for modifying float2 in the shader

Signed-off-by: Peng <tonypeng@amazon.com>
4 years ago
galibzon 4cac875589
[ATOM-15058] Remove Automatic Entry Point Detection (#3150)
.shader files must declare at least  one entry function.

Signed-off-by: garrieta <garrieta@amazon.com>
4 years ago
Guthrie Adams 7da5b032e7 updated test scripts
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
mrieggeramzn 9571a15769
Atom/mriegger/explicit set pcf address mode (#3061)
* Explicit setting the addressing mode for the pcf shadowing

* Explicitly setting addressing mode for sampler
4 years ago
michabr 3a689aa319
Reenable support for UI Elements that use Render Targets (#2352)
* Re-add support for UI Elements that use Render Targets
* Move LyShine pass request from Atom's MainPipeline.pass to project's
* Make all dynamic draw contexts in LyShine draw to pass directly without the need of draw list tags
* Remove local RPI changes that are no longer needed
* Prevent crash if LyShine gem is enabled but its custom pass hasn't been added to the main render pipeline
* Revert to default UI pass if the LyShine pass has not been added to project's main render pipeline

Signed-off-by: abrmich <abrmich@amazon.com>
4 years ago
Guthrie Adams ffbeb903c1 Material Component: Add functions to lookup material ids by name
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Guthrie Adams ca2889a0ef fixing material property override lua test script
O3DE vector usage in lua has changed since script was written

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Ken Pruiksma 33c408f654
Expose shadow bias to component & feature processors. (#2406)
* Expose shadow bias to component & feature processors. Shadow bias now works more consistently with various near / far shadow planes and caster positions. Bias now also affects esm shadows which helps eliminate acne in certain situations.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Adding jira comment to light configuration serialization version. Improved comment on final adjustment to bias before its sent to the shader.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Hooking up bias to behavior context.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
Ken Pruiksma 53dd7a89aa ATOM-16024 Point light shadows now affect specular like they should.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
4 years ago
moudgils 5ad0cac085
Deleting a missed file from a previous PR (#2350)
Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Steve Pham 4d5a985276
Enable AZSLc and Shader Compilation on Linux (#2338)
* Enable Shader Compilation support for Linux
* Add azslc package 3P definition for download
* Add AzslcGeader.azsli nad PlatformHeader.hlsli for Linux/Null and Linux/Vulkan (Copy of Android/Vulkan)
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Add platform builder file dependencies
* Updated AZ_TRAIT_ATOM_SHADERBUILDER_AZSLC to use new 3P linux version of azslc
* Add AtomShaderCapabilities.json, PlatformLimits.azasset for Linux (Copy from Android)
* Fix paths/values for Vulkan_Traits_Linux.h
* Enable trait PAL_TRAIT_BUILD_ATOM_ASSET_SHADER_SUPPORTED for Linux
* Enabled AZ_TRAIT_ATOM_VULKAN_LAYER_LUNARG_STD_VALIDATION_SUPPORT for Linux/Vulkan
* Added AzslcHeader.azsli, PlatformHeader.hlsli dependencies for Linux/Null and Linux/Vulkan in the platform builders for windows and mac for consistency

Signed-off-by: spham-amzn <spham@amazon.com>
4 years ago
moudgils 1c2f5ab6d5
Add support for LowEndRenderPipeline for mobile and the cleanup associated with it (#2292)
Signed-off-by: moudgils <moudgils@amazon.com>
4 years ago
Steve Pham 38261d0800
Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
4 years ago
Fabio Anderegg c0276d22b0
shaders: make file references use CamelCase naming, linux shader compilation is case sensitive (#2212)
Signed-off-by: Fabio Anderegg <fabioa@kythera.ai>
4 years ago
yuriy0 ccd4cc65a5
Use SampleLevel instead of Sample to sample shadow maps. (#1370)
* Use SampleLevel instead of Sample to sample shadow maps.

This allows shadow code to be used from computer shaders which don't allow Sample. Shadow maps don't have LODs anyways

* Fix some very silly typos
4 years ago
Chris Galvan e924ed0b86 Merged stabilization/2106 to development; Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Tommy Walton 0d82c1e670
Use float buffer for skinning (#2009)
* Switching to Buffer<float> instead of Buffer<float3> in the skinning shader because metal doesn't support float3 buffers

Signed-off-by: amzn-tommy <waltont@amazon.com>

* Adding a comment to LinearSkinningPassSRG pointing out that positions, normals, and bitangents are using float buffers to work on Metal

Signed-off-by: amzn-tommy <waltont@amazon.com>
4 years ago
mrieggeramzn b187407e65
fix for lightculling / pdo artifacts (#2033)
Signed-off-by: mrieggeramzn <mriegger@amazon.com>
4 years ago
Cynthia Lin eb9304c28d
Preparation for automated benchmarks (#1923)
* ly_test_tools: Add filebeat_client module from o3de-mars.

Slightly modified with default parameters and exceptions in order to act as an individual component.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>

* scripts: Remove timestamp_aggregator.py to prepare for moving into ASV automated test repository.

Signed-off-by: Cynthia Lin <cyntlin@amazon.com>
4 years ago
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Ken Pruiksma 5e98eefcc2 Undoing change from review feedback as it led to an incorrect result in some cases.
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Ken Pruiksma 4c12e9c5ab
Refactoring the LTC quad and polygon lights (#1881)
* Refactoring the LTC quad and polygon lights to clip the light to the normal hemisphere before applying the LTC matrix. This prevents specular light leaking from behind the surface. Diffuse and specular contribution are now calculated at the same time to avoid clipping the polygon twice. Added a cheaper diffuse integration function that's accurate enough for diffuse. Also added a commented out alternate specular integration for platforms with poor acos() accuracy.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* PR review feedback - typo and some saturate() protection

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Making branch more explicit from review feedback.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
hultonha 2ea9bfb144 merge stabilization/2106 into development
Signed-off-by: hultonha <hultonha@amazon.co.uk>
5 years ago
Chris Galvan 40f9761f86 Fixed more copyright header issues caused by script replacement
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Ken Pruiksma 1f77afae6e
Fixing alpha affects specular showing up when the alpha mode is opaque or cut-out. It should only be available when mode is blended or tinted transparent. (#1830)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
Chris Galvan b9e06e70d9 Fixed copyright header issues per new validator
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
antonmic 832a1c36a4
Merge pull request #1756 from aws-lumberyard-dev/2016/antonmic/subsurfaceVulkan
[ATOM-15876] fixed subsurface scattering on vulkan
5 years ago
antonmic 19638c4697 [ATOM-15876] fixed subsurface scattering on vulkan
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
5 years ago
mrieggeramzn 1d95a4a2ba
Merge pull request #1724 from aws-lumberyard-dev/Atom/mriegger/esm16F
Switch directional light to use the same reformulation as projected s…
5 years ago
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
5 years ago
Anton Michels 9f904e08e7
Merge pull request #1753 from aws-lumberyard-dev/2016/antonmic/diffuse
[ATOM-15864] Added diffuseResponse to lambertian diffuse calculation
5 years ago
antonmic 097f99dcc6 [ATOM-15864] Added diffuseResponse to lambertian diffuse calculation 5 years ago
Ken Pruiksma 6a0b8ae6b6
[ATOM-15854] Adjusting alpha on grazing angles so it doesn't affect the diffuse response. (#1708)
Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
5 years ago
mriegger 346e294f60 Switch directional light to use the same reformulation as projected shadow and reduce to 16 bit float RT for perf 5 years ago
Steve Pham b4a2edec6a
Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
5 years ago
mrieggeramzn ed193c82fa
Merge pull request #1652 from aws-lumberyard-dev/Atom/mriegger/tgs
Bumping threadgroup sizes
5 years ago
Gene Walters f905b71844 Adding missing o3de copyright headers
Signed-off-by: Gene Walters <genewalt@amazon.com>
5 years ago
Riegger 57d2f28826 Bumping threadgroup sizes
Signed-off-by: Riegger <mriegger@amazon.com>
5 years ago
Ken Pruiksma 1ee4f7b447
Adjusting alpha on grazing angles so it doesn't affect the diffuse response. (#1599) 5 years ago
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 5 years ago