Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package/Shaders/RunGrass.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ PS_OUTPUT main(PS_INPUT input, bool frontFace : SV_IsFrontFace)
float3 sss = dirLightColor * saturate(-dirLightAngle);

if (complex)
lightsSpecularColor += GrassLighting::GetLightSpecularInput(DirLightDirection, viewDirection, normal, dirLightColor, SharedData::grassLightingSettings.Glossiness);
lightsSpecularColor += GrassLighting::GetLightSpecularInput(SharedData::DirLightDirection.xyz, viewDirection, normal, dirLightColor, SharedData::grassLightingSettings.Glossiness);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

LGTM! Change aligns with existing usage patterns.

The change to use SharedData::DirLightDirection.xyz is consistent with line 584, which already uses SharedData::DirLightDirection.xyz for the directional light angle calculation in the same shader path.

However, please verify whether line 617 (in the TRUE_PBR path) should also be updated for consistency:

Line 617 passes DirLightDirection (from the constant buffer) to PBR::GetDirectLightInput. If SharedData::DirLightDirection is the canonical source, that call may need the same update.


🏁 Script executed:

#!/bin/bash
# Description: Check usage patterns of DirLightDirection vs SharedData::DirLightDirection in shader files

# Search for all DirLightDirection usages in HLSL files to identify inconsistent patterns
rg -n -C3 --type=hlsl 'DirLightDirection' -g '!RunGrass.hlsl'

# Also check in RunGrass.hlsl specifically
rg -n 'DirLightDirection' package/Shaders/RunGrass.hlsl

Length of output: 715


Update line 617 for consistency with GRASS_LIGHTING data sources.

The change at line 645 correctly aligns with line 584's usage of SharedData::DirLightDirection.xyz within the GRASS_LIGHTING path. However, line 617 in the TRUE_PBR sub-path still uses the constant buffer DirLightDirection directly.

For consistency within the GRASS_LIGHTING block, line 617 should also be updated to use SharedData::DirLightDirection:

PBR::GetDirectLightInput(dirDiffuseColor, coatDirDiffuseColor, dirTransmissionColor, dirSpecularColor, normal, normal, viewDirection, viewDirection, SharedData::DirLightDirection, SharedData::DirLightDirection, lightProperties, pbrSurfaceProperties, tbn, input.TexCoord.xy);
🤖 Prompt for AI Agents
In package/Shaders/RunGrass.hlsl around line 617, the TRUE_PBR path still passes
the standalone constant buffer DirLightDirection to PBR::GetDirectLightInput
while the GRASS_LIGHTING path uses SharedData::DirLightDirection; update the
PBR::GetDirectLightInput call to use SharedData::DirLightDirection for both
directional-light parameters (replacing DirLightDirection with
SharedData::DirLightDirection) so it matches the GRASS_LIGHTING data source and
remains consistent with the change at line 645.

# endif

# if defined(LIGHT_LIMIT_FIX)
Expand Down