item lights

This commit is contained in:
NULL511
2024-05-07 10:27:37 -04:00
parent a1cb96dd03
commit 0c88744e8d
5 changed files with 1098 additions and 915 deletions

View File

@ -1,5 +1,5 @@
#ifdef IS_LPV_ENABLED
vec3 GetHandLight(const in int itemId, const in vec3 playerPos) {
vec3 GetHandLight(const in int itemId, const in vec3 playerPos, const in vec3 normal) {
vec3 lightFinal = vec3(0.0);
vec3 lightColor = vec3(0.0);
float lightRange = 0.0;
@ -11,8 +11,10 @@
if (lightRange > 0.0) {
float lightDist = length(playerPos);
vec3 lightDir = playerPos / lightDist;
float NoL = 1.0;//max(dot(normal, lightDir), 0.0);
float falloff = pow(1.0 - lightDist / lightRange, 3.0);
lightFinal = lightColor * max(falloff, 0.0);
lightFinal = lightColor * NoL * max(falloff, 0.0);
}
return lightFinal;
@ -55,11 +57,13 @@ vec3 DoAmbientLightColor(
TorchLight = mix(TorchLight,LpvTorchLight/5.0, LpvFadeF);
const vec3 normal = vec3(0.0); // TODO
if (heldItemId > 0)
TorchLight += GetHandLight(heldItemId, playerPos);
TorchLight += GetHandLight(heldItemId, playerPos, normal);
if (heldItemId2 > 0)
TorchLight += GetHandLight(heldItemId2, playerPos);
TorchLight += GetHandLight(heldItemId2, playerPos, normal);
#endif
return IndirectLight + TorchLight * TorchBrightness_autoAdjust;

View File

@ -1 +1,25 @@
#define ITEM_LIGHT_SOURCES 1000
#define ITEM_AMETHYST_BUD_LARGE 1001
#define ITEM_AMETHYST_BUD_MEDIUM 1002
#define ITEM_AMETHYST_CLUSTER 1003
#define ITEM_BEACON 1004
#define ITEM_BLAZE_ROD 1005
#define ITEM_END_ROD 1006
#define ITEM_FROGLIGHT_OCHRE 1007
#define ITEM_FROGLIGHT_PEARLESCENT 1008
#define ITEM_FROGLIGHT_VERDANT 1009
#define ITEM_GLOW_BERRIES 1010
#define ITEM_GLOW_LICHEN 1011
#define ITEM_GLOWSTONE 1012
#define ITEM_GLOWSTONE_DUST 1013
#define ITEM_JACK_O_LANTERN 1014
#define ITEM_LANTERN 1015
#define ITEM_LAVA_BUCKET 1016
#define ITEM_MAGMA 1017
#define ITEM_REDSTONE_TORCH 1018
#define ITEM_SCULK_CATALYST 1019
#define ITEM_SEA_LANTERN 1020
#define ITEM_SHROOMLIGHT 1021
#define ITEM_SOUL_LANTERN 1022
#define ITEM_SOUL_TORCH 1023
#define ITEM_TORCH 1024