mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2025-06-22 00:37:35 +08:00
make handheld lights work on particles and translucents. make lit particle brightness work again. exclude hand from bloom. extend bloom mulitplier slider.
This commit is contained in:
@ -65,13 +65,20 @@ SOFTWARE.*/
|
||||
// vec3 RandomPosition = hash31(frameTimeCounter);
|
||||
vec3 ManualLightPos = vec3(ORB_X, ORB_Y, ORB_Z);
|
||||
|
||||
// int switcher = frameCounter % 2 == 0 ? 0 : 1;
|
||||
|
||||
// float OneOrZero = int(mod(gl_FragCoord.x*gl_FragCoord.y + switcher, 2));
|
||||
|
||||
void LightSourcePosition(vec3 WorldPos, vec3 CameraPos, inout vec3 Pos1, inout vec3 Pos2){
|
||||
|
||||
|
||||
Pos1 = WorldPos - vec3(0,200,0);
|
||||
// Pos2 = WorldPos - vec3(-50,100,0);
|
||||
// Pos1 = mix(Pos1, Pos2, OneOrZero);
|
||||
|
||||
|
||||
|
||||
vec3 Origin = WorldPos - CameraPos - ManualLightPos;
|
||||
|
||||
|
||||
float cellSize = 200;
|
||||
vec3 cellPos = CameraPos ;
|
||||
|
||||
@ -82,6 +89,7 @@ void LightSourcePosition(vec3 WorldPos, vec3 CameraPos, inout vec3 Pos1, inout v
|
||||
|
||||
Origin -= (randomPos * 2.0 - 1.0);
|
||||
|
||||
// Pos1 = mix(Pos1, Origin, OneOrZero);
|
||||
|
||||
Pos2 = Origin;
|
||||
}
|
||||
@ -169,8 +177,12 @@ float EndLightMie(vec3 LightPos){
|
||||
}
|
||||
|
||||
void LightSourceColors(inout vec3 Color1, inout vec3 Color2){
|
||||
Color1 = vec3(0.7,0.88,1.0);
|
||||
Color2 = vec3(ORB_R,ORB_G,ORB_B);
|
||||
// Color1 = vec3(0.7,0.88,1.0);
|
||||
// Color2 = vec3(ORB_R,ORB_G,ORB_B);
|
||||
Color1 = vec3(1.0,0.5,1.0);
|
||||
Color2 = vec3(0.0,0.5,1.0);
|
||||
|
||||
// Color1 = mix(Color1, Color2, OneOrZero);
|
||||
}
|
||||
|
||||
vec3 LightSourceLighting( vec3 WorldPos, vec3 LightPos, float Dither, float VolumeDensity, vec3 LightColor, float Phase ){
|
||||
@ -178,7 +190,10 @@ vec3 LightSourceLighting( vec3 WorldPos, vec3 LightPos, float Dither, float Volu
|
||||
float Mie = EndLightMie(LightPos);
|
||||
float Shadow = 0.0;
|
||||
|
||||
// vec3 shadowSamplePos = WorldPos - LightPos * 0.05;
|
||||
|
||||
for (int j=0; j < 3; j++){
|
||||
// shadowSamplePos -= LightPos * 0.25 * Dither * min(j,1);
|
||||
vec3 shadowSamplePos = WorldPos - LightPos * (0.05 + j * (0.25 + Dither*0.15));
|
||||
Shadow += cloudVol(shadowSamplePos);
|
||||
}
|
||||
@ -254,6 +269,7 @@ vec4 GetVolumetricFog(
|
||||
LightSourcePosition(progressW, cameraPosition, LightPos1, LightPos2);
|
||||
|
||||
float VolumeDensity = max(cloudVol(progressW),0.0);
|
||||
// float VolumeDensity = 0.0;
|
||||
float Density = max(VolumeDensity,0.0);
|
||||
|
||||
|
||||
@ -269,7 +285,7 @@ vec4 GetVolumetricFog(
|
||||
vec3 Light1 = vec3(0); vec3 Light2 = vec3(0);
|
||||
|
||||
|
||||
// Density += clamp((1.0 - length(LightPos1) / 10.0) * 10 ,0.0,1.0); // THE ORRRRRRRRRRRRRRRRRRRRRRRRRRB
|
||||
Density += clamp((1.0 - length(LightPos1) / 10.0) * 10 ,0.0,1.0); // THE ORRRRRRRRRRRRRRRRRRRRRRRRRRB
|
||||
Light1 = LightSourceLighting(progressW, LightPos1, dither2, VolumeDensity, LightCol1, Phase1);
|
||||
|
||||
#if lightsourceCount == 2
|
||||
|
@ -165,7 +165,7 @@ const float sunPathRotation = -35; //[-90 -89 -88 -87 -86 -85 -84 -83 -82 -81 -8
|
||||
#define RainFog_amount 3 // [0 1 2 3 4 5 6 7 8 9 10 15 20 25]
|
||||
|
||||
#define BLOOMY_FOG 1.5 // [0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 3.0 4.0 6.0 10.0 15.0 20.0]
|
||||
#define BLOOM_STRENGTH 4.0 // [0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 3.0 4.0]
|
||||
#define BLOOM_STRENGTH 4.0 // [0.0 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 15.0 20.0 25.0 50.0 75.0 100.0]
|
||||
|
||||
#define Cave_fog
|
||||
#define CaveFogFallOff 2.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 ]
|
||||
|
@ -261,6 +261,8 @@ vec4 renderClouds(
|
||||
|
||||
|
||||
#ifdef Cumulus
|
||||
|
||||
|
||||
for(int i=0;i<maxIT_clouds;i++) {
|
||||
|
||||
// IntersecTerrain = length(progress_view - cameraPosition) > lViewPosM;
|
||||
|
Reference in New Issue
Block a user