mirror of
https://github.com/X0nk/Bliss-Shader.git
synced 2024-12-23 01:59:39 +08:00
384 lines
19 KiB
INI
384 lines
19 KiB
INI
#shaders/shaders.properties
|
|
#Minecraft Settings
|
|
|
|
#ifndef RENDER_ENTITY_SHADOWS
|
|
shadowBlockEntities = false
|
|
shadowEntities = false
|
|
#endif
|
|
|
|
oldLighting=false
|
|
underwaterOverlay=false
|
|
sun=true
|
|
moon=true
|
|
clouds=off
|
|
stars=false
|
|
vignette=false
|
|
dynamicHandLight=true
|
|
program.composite4.enabled=TAA_UPSCALING
|
|
|
|
#Get the correct alpha value : S_A*(1-DST_A)+DST_A
|
|
|
|
blend.gbuffers_water = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_textured= SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_armor_glint= SRC_ALPHA ZERO ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_textured_lit= SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_weather= SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
|
|
|
|
# SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ZERO
|
|
# SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_hand_water=SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ZERO
|
|
blend.gbuffers_entities = off
|
|
blend.gbuffers_hand = off
|
|
blend.gbuffers_block= off
|
|
blend.gbuffers_basic= off
|
|
blend.gbuffers_damagedblock= SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
|
|
blend.gbuffers_skytextured=off
|
|
|
|
blend.gbuffers_water.colortex11 = off
|
|
|
|
alphaTest.gbuffers_entities=GREATER 0.1
|
|
|
|
alphaTest.gbuffers_armor_glint=false
|
|
alphaTest.gbuffers_weather=false
|
|
alphaTest.gbuffers_water=false
|
|
alphaTest.gbuffers_skybasic=false
|
|
alphaTest.gbuffers_skytextured=false
|
|
alphaTest.gbuffers_hand=true
|
|
|
|
|
|
sliders = UPPER_CURVE LOWER_CURVE CONTRAST EMISSIVE_TYPE Lightning_R Lightning_G Lightning_B SCALE_FACTOR CompSky_R CompSky_G CompSky_B ambientsss_brightness SSS_TYPE Cloud_Speed Cumulus_height Cumulus_coverage Cumulus_density Alto_coverage Alto_density ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_Fog_mult Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog NetherFog_brightness Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Moon_temp Haze_amount RainFog_amount ambient_temp Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH BLOOM_STRENGTH shadowDistance shadowDistanceRenderMul FinalR FinalG FinalB Sky_Brightness fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB sun_illuminance sunColorG sunColorB sunColorR sky_mieg sky_coefficientMieB sky_coefficientMieG sky_coefficientMieR sky_coefficientRayleighB sky_coefficientRayleighG sky_coefficientRayleighR CLOUDS_QUALITY EXPOSURE_MULTIPLIER MIN_LIGHT_AMOUNT TORCH_R TORCH_G TORCH_B TORCH_AMOUNT shadowMapResolution sunPathRotation BLEND_FACTOR VL_SAMPLES Exposure_Speed POM_DEPTH MAX_ITERATIONS MAX_DIST SSR_STEPS ambientOcclusionLevel SEA_LEVEL moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal aperture MANUAL_FOCUS SHADOW_FILTER_SAMPLE_COUNT Max_Filter_Depth VPS_Search_Samples Min_Shadow_Filter_Radius Max_Shadow_Filter_Radius Water_Top_Layer fog_coefficientRayleighB SHARPENING rayMarchSampleCount Dirt_Amount Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B Purkinje_strength Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Texture_MipMap_Bias DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDER_RESOLUTION BLOOM_QUALITY VL_RENDER_RESOLUTION RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 Roughness_Threshold Sun_specular_Strength reflection_quality DOF_QUALITY DOF_ANAMORPHIC_RATIO AEROCHROME_PINKNESS DOF_JITTER_FOCUS JITTER_STRENGTH
|
|
|
|
screen.columns=2
|
|
screen = [Direct_Light] [World] \
|
|
[Ambient_light] [Fog] \
|
|
[Post_Processing] [Clouds] \
|
|
[Misc_Settings] [Climate] \
|
|
<empty> <empty> \
|
|
PhysicsMod_support [LabPBR]
|
|
|
|
# screen = [Direct_Light] [World]
|
|
# [Ambient_light] [Fog]
|
|
# [Post_Processing] [Clouds]
|
|
# [Misc_Settings] [Climate]
|
|
|
|
######## LIGHTING
|
|
### DIRECT LIGHT
|
|
screen.Direct_Light.columns=1
|
|
screen.Direct_Light = [Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] sunPathRotation sun_illuminance moon_illuminance
|
|
|
|
screen.Shadows.columns=1
|
|
screen.Shadows = SCREENSPACE_CONTACT_SHADOWS RENDER_ENTITY_SHADOWS <empty> [Filtering] shadowMapResolution shadowDistance
|
|
|
|
screen.Subsurface_Scattering.columns=1
|
|
screen.Subsurface_Scattering = SSS_TYPE LabSSS_Curve <empty> MISC_BLOCK_SSS MOB_SSS <empty> Ambient_SSS ambientsss_brightness
|
|
|
|
screen.Filtering.columns=1
|
|
screen.Filtering = BASIC_SHADOW_FILTER SHADOW_FILTER_SAMPLE_COUNT Min_Shadow_Filter_Radius <empty> Variable_Penumbra_Shadows VPS_Search_Samples Max_Shadow_Filter_Radius Max_Filter_Depth
|
|
|
|
### AMBIENT LIGHT
|
|
screen.Ambient_light.columns=1
|
|
screen.Ambient_light = [Torch_Colors] [Ambient_Colors] MIN_LIGHT_AMOUNT indirect_effect <empty> <empty> AO_Strength GI_Strength ambientOcclusionLevel HQ_SSGI Hand_Held_lights
|
|
|
|
screen.Torch_Colors.columns=1
|
|
screen.Torch_Colors = TORCH_AMOUNT Emissive_Brightness Emissive_Curve <empty> TORCH_R TORCH_G TORCH_B
|
|
|
|
screen.Ambient_Colors.columns=1
|
|
screen.Ambient_Colors = ambient_brightness MIN_LIGHT_AMOUNT ambient_colortype ambient_temp <empty> AmbientLight_R AmbientLight_G AmbientLight_B
|
|
|
|
|
|
|
|
######## WORLD
|
|
screen.World.columns=1
|
|
screen.World = [Water] [Waving_Stuff] [LabPBR] <empty> AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED
|
|
### SPECULARS
|
|
screen.Reflections.columns=2
|
|
screen.Reflections = Specular_Reflections Sun_specular_Strength Screen_Space_Reflections reflection_quality Rough_reflections Roughness_Threshold Sky_reflection Dynamic_SSR_quality
|
|
### WAVING STUFF
|
|
screen.Waving_Stuff.columns=1
|
|
screen.Waving_Stuff = WAVY_PLANTS WAVY_STRENGTH WAVY_SPEED
|
|
## POM
|
|
screen.POM.columns=1
|
|
screen.POM = POM Adaptive_Step_length MAX_ITERATIONS POM_DEPTH MAX_DIST Horrible_slope_normals
|
|
|
|
|
|
|
|
######## CLIMATE
|
|
screen.Climate.columns=1
|
|
screen.Climate = [Seasons] Biome_specific_environment Daily_Weather
|
|
|
|
## BIOME SPECIFICS
|
|
screen.Biome_Fog.columns=1
|
|
screen.Biome_Fog = Biome_specific_environment
|
|
|
|
|
|
## SEASONS
|
|
screen.Seasons.columns=1
|
|
screen.Seasons = Seasons Season_Length Start_Season Snowy_Winter <empty> [Summer_colors] [Fall_colors] [Winter_colors] [Spring_colors]
|
|
|
|
screen.Summer_colors.columns=1
|
|
screen.Summer_colors = Summer_R Summer_G Summer_B <empty> Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B
|
|
|
|
screen.Fall_colors.columns=1
|
|
screen.Fall_colors = Fall_R Fall_G Fall_B <empty> Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B
|
|
|
|
screen.Winter_colors.columns=1
|
|
screen.Winter_colors = Winter_R Winter_G Winter_B <empty> Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B
|
|
|
|
screen.Spring_colors.columns=1
|
|
screen.Spring_colors = Spring_R Spring_G Spring_B <empty> Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B
|
|
|
|
|
|
######## ATMOSPHERICS
|
|
screen.Atmospherics.columns=1
|
|
screen.Atmospherics = [Sky] [Fog] [Biome_Fog] [Clouds] Altostratus Cumulus_Clouds Allow_Vanilla_sky
|
|
|
|
### SKY
|
|
screen.Sky.columns=1
|
|
screen.Sky = [Sky_coefficients] [Sun_and_Moon_Colors] sunPathRotation
|
|
|
|
screen.Sky_coefficients.columns=1
|
|
screen.Sky_coefficients = Sky_Brightness sky_mieg sky_coefficientRayleighR sky_coefficientRayleighG sky_coefficientRayleighB sky_coefficientMieR sky_coefficientMieG sky_coefficientMieB
|
|
|
|
### CLOUDS
|
|
screen.Clouds.columns = 2
|
|
screen.Clouds = VOLUMETRIC_CLOUDS CLOUDS_QUALITY CLOUDS_SHADOWS Daily_Weather Cloud_Speed Rain_coverage <empty> <empty> Cumulus Altostratus Cumulus_coverage Alto_coverage Cumulus_density Alto_density Cumulus_height
|
|
|
|
### FOG
|
|
screen.Fog.columns=2
|
|
screen.Fog = VL_RENDER_RESOLUTION Haze_amount VL_SAMPLES RainFog_amount BLOOMY_FOG [TOD_fog] Cloud_Fog [Biome_Fog] BorderFog [Cave_Fog]
|
|
|
|
|
|
|
|
screen.TOD_fog.columns=2
|
|
screen.TOD_fog = TOD_Fog_mult <empty> Morning_Uniform_Fog Morning_Cloudy_Fog Noon_Uniform_Fog Noon_Cloudy_Fog Evening_Uniform_Fog Evening_Cloudy_Fog Night_Uniform_Fog Night_Cloudy_Fog
|
|
|
|
screen.Cave_Fog.columns=1
|
|
screen.Cave_Fog = Cave_fog CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B
|
|
|
|
screen.Fog_Color.columns=1
|
|
screen.Fog_Color = fog_coefficientRayleighR fog_coefficientRayleighG fog_coefficientRayleighB fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB
|
|
|
|
### WATER
|
|
screen.Water.columns=2
|
|
screen.Water = WATER_REFLECTIONS Refraction WATER_SUN_SPECULAR Vanilla_like_water SCREENSPACE_REFLECTIONS SSR_STEPS WATER_BACKGROUND_SPECULAR Dirt_Amount [Water_fog_color] Water_Top_Layer
|
|
|
|
screen.Water_fog_color.columns=1
|
|
screen.Water_fog_color = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B
|
|
|
|
######## POST
|
|
screen.Post_Processing.columns=2
|
|
screen.Post_Processing = [TAA_OPTIONS] [Tonemapping] [Exposure] [DepthOfField] [Purkinje_effect] [Editing] SHARPENING BLOOM_STRENGTH
|
|
### TAA
|
|
screen.TAA_OPTIONS.columns = 1
|
|
screen.TAA_OPTIONS= SCREENSHOT_MODE <empty> TAA BLEND_FACTOR <empty> TAA_UPSCALING SCALE_FACTOR
|
|
### DOF
|
|
screen.DepthOfField.columns = 1
|
|
screen.DepthOfField = [JITTER_DOF] DOF_QUALITY DOF_ANAMORPHIC_RATIO AUTOFOCUS focal aperture MANUAL_FOCUS DoF_Adaptation_Speed FAR_BLUR_ONLY
|
|
screen.JITTER_DOF.columns=1
|
|
screen.JITTER_DOF = JITTER_STRENGTH FOCUS_LASER_COLOR SCREENSHOT_MODE
|
|
### EXPOSURE
|
|
screen.Exposure.columns = 1
|
|
screen.Exposure = AUTO_EXPOSURE EXPOSURE_MULTIPLIER Exposure_Speed Manual_exposure_value
|
|
### TONEMAPS
|
|
screen.Tonemapping.columns = 1
|
|
screen.Tonemapping = TONEMAP USE_ACES_COLORSPACE_APPROXIMATION SATURATION CROSSTALK CONTRAST <empty> FinalR FinalG FinalB
|
|
### PURKINJE
|
|
screen.Purkinje_effect.columns = 1
|
|
screen.Purkinje_effect = Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Purkinje_Multiplier
|
|
|
|
screen.Editing.columns = 1
|
|
screen.Editing = Compositing_Sky CompSky_R CompSky_G CompSky_B <empty> CONTRAST LUMINANCE_CURVE UPPER_CURVE LOWER_CURVE
|
|
|
|
|
|
|
|
######## MISC SETTINGS
|
|
screen.Misc_Settings.columns=1
|
|
screen.Misc_Settings = [the_orb] [lightning_color] WhiteWorld ambientLight_only Glass_Tint display_LUT ambientSSS_view
|
|
|
|
screen.the_orb.columns = 1
|
|
screen.the_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_B
|
|
|
|
screen.lightning_color = Lightning_R Lightning_G Lightning_B
|
|
|
|
screen.LabPBR.columns = 1
|
|
screen.LabPBR = [Reflections] [Subsurface_Scattering] [Emissives] [POM] [Porosity]
|
|
|
|
screen.Emissives.columns = 1
|
|
screen.Emissives = EMISSIVE_TYPE Emissive_Brightness Emissive_Curve
|
|
|
|
screen.Porosity.columns = 1
|
|
screen.Porosity = Porosity <empty> Puddles Puddle_Size
|
|
|
|
screen.Sun_and_Moon_Colors.columns = 1
|
|
screen.Sun_and_Moon_Colors = sunColorR sunColorG sunColorB moonColorR moonColorG moonColorB colortype Sun_temp Moon_temp
|
|
|
|
screen.Advanced = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B
|
|
|
|
######## moonphase based weather
|
|
|
|
# in seconds...
|
|
variable.int.TransitionTime = 30
|
|
|
|
uniform.float.Cumulus_Cov = smooth(1, if( \
|
|
moonPhase == 0, 0.7, \
|
|
moonPhase == 1, 0.9, \
|
|
moonPhase == 2, 0.0, \
|
|
moonPhase == 3, 0.8, \
|
|
moonPhase == 4, 0.0, \
|
|
moonPhase == 5, 1.2, \
|
|
moonPhase == 6, 0.6, \
|
|
0.0 ), TransitionTime, TransitionTime)
|
|
|
|
uniform.float.Alto_Cov = smooth(2, if( \
|
|
moonPhase == 0, 0.1, \
|
|
moonPhase == 1, 1.0, \
|
|
moonPhase == 2, 1.0, \
|
|
moonPhase == 3, 0.3, \
|
|
moonPhase == 4, 0.3, \
|
|
moonPhase == 5, 0.0, \
|
|
moonPhase == 6, 1.5, \
|
|
0.0 ), TransitionTime, TransitionTime)
|
|
|
|
uniform.float.Alto_Den = smooth(3, if( \
|
|
moonPhase == 0, 0.1, \
|
|
moonPhase == 1, 0.25, \
|
|
moonPhase == 2, 0.1, \
|
|
moonPhase == 3, 0.7, \
|
|
moonPhase == 4, 0.7, \
|
|
moonPhase == 5, 0.0, \
|
|
moonPhase == 6, 0.05, \
|
|
0.0 ), TransitionTime, TransitionTime)
|
|
|
|
uniform.float.Uniform_Den = smooth(4, if( \
|
|
moonPhase == 0, 0, \
|
|
moonPhase == 1, 0, \
|
|
moonPhase == 2, 4, \
|
|
moonPhase == 3, 0, \
|
|
moonPhase == 4, 0, \
|
|
moonPhase == 5, 0, \
|
|
moonPhase == 6, 2, \
|
|
0 ), TransitionTime, TransitionTime)
|
|
|
|
uniform.float.Cloudy_Den = smooth(5, if( \
|
|
moonPhase == 0, 0, \
|
|
moonPhase == 1, 0, \
|
|
moonPhase == 2, 0, \
|
|
moonPhase == 3, 0, \
|
|
moonPhase == 4, 0, \
|
|
moonPhase == 5, 0, \
|
|
moonPhase == 6, 5, \
|
|
0 ), TransitionTime, TransitionTime)
|
|
|
|
# uniform.float.CloudHeight = smooth(5, if( \
|
|
# moonPhase == 0, 1.0, \
|
|
# moonPhase == 1, 0.5, \
|
|
# moonPhase == 2, 1.0, \
|
|
# moonPhase == 3, 1.5, \
|
|
# moonPhase == 4, 1.0, \
|
|
# moonPhase == 5, 1.0, \
|
|
# moonPhase == 6, 1.0, \
|
|
# 1.0 ), TransitionTime, TransitionTime)
|
|
|
|
|
|
# Biome uniforms
|
|
|
|
variable.int.BiomeTransitionTime = 30
|
|
|
|
uniform.float.isJungles = smooth(6, if(in(biome,23,24,25), 1,0), BiomeTransitionTime,BiomeTransitionTime)
|
|
uniform.float.isSwamps = smooth(7, if(in(biome,6,7,52), 1,0), BiomeTransitionTime,BiomeTransitionTime)
|
|
|
|
uniform.float.sandStorm = smooth(8, if(in(biome,5,26,27,28), rainStrength,0), 15,15)
|
|
uniform.float.snowStorm = smooth(9, if(in(biome,31,32,33,34), rainStrength,0), 15,15)
|
|
|
|
uniform.float.noPuddleAreas = smooth(10, if(in(biome,5,16,17,18,26, 27, 28, 3, 4, 16,31,32,33,34, 37, 39, 48), 0,1), 5,5)
|
|
|
|
|
|
# uniform.float.isLush = smooth(8, if(in(biome,10,50), 1,0), BiomeTransitionTime,BiomeTransitionTime)
|
|
# uniform.float.isDeserts = smooth(9, if(in(biome,5), 1,0), BiomeTransitionTime,BiomeTransitionTime)
|
|
|
|
# uniform.float.isWastes = smooth(10, if(in(biome,51), 1,0), BiomeTransitionTime, BiomeTransitionTime)
|
|
# uniform.float.isWarpedForest = smooth(11, if(in(biome,52), 1,0), BiomeTransitionTime, BiomeTransitionTime)
|
|
# uniform.float.isCrimsonForest = smooth(12, if(in(biome,53), 1,0), BiomeTransitionTime, BiomeTransitionTime)
|
|
# uniform.float.isSoulValley = smooth(13, if(in(biome,54), 1,0), BiomeTransitionTime, BiomeTransitionTime)
|
|
# uniform.float.isBasaltDelta = smooth(14, if(in(biome,55), 1,0), BiomeTransitionTime, BiomeTransitionTime)
|
|
|
|
|
|
|
|
# uniform.float.ifEndBoss = smooth(if(bossBattle == 2, 1, 0 ), 1, 1)
|
|
|
|
# uniform.float.EndSequence1 = smooth(if(hideGUI == 1, 1.0, 0.0), 30, 0)
|
|
|
|
# uniform.float.EndSequence2 = smooth(if(EndSequence1 > 0.95, 1.0, 0.0), 1.25, 0)
|
|
|
|
# uniform.float.Winter = smooth(14, if( worldDay > 0 && worldDay < 10), 5, 5)
|
|
|
|
|
|
# thank you sixthsurge!
|
|
uniform.float.lightningFlash = smooth(16,if(equals(skyColor.r, skyColor.g, 0.01) && skyColor.r > 0.3, 1.0, 0.0), 0, 1)
|
|
|
|
texture.noise=texture/noises.png
|
|
texture.composite.colortex6=texture/blueNoise.png
|
|
separateAo=true
|
|
alphaTest.shadow= GREATER 0.1
|
|
beacon.beam.depth=true
|
|
rain.depth=false
|
|
|
|
variable.float.texelSizeX = 1.0/viewWidth
|
|
variable.float.texelSizeY = 1.0/viewHeight
|
|
uniform.vec2.texelSize=vec2(texelSizeX,texelSizeY)
|
|
|
|
uniform.int.framemod8 = frameCounter%8
|
|
|
|
variable.float.normSunVec = sqrt(sunPosition.x*sunPosition.x+sunPosition.y*sunPosition.y+sunPosition.z*sunPosition.z)
|
|
variable.float.normUpVec = sqrt(upPosition.x*upPosition.x+upPosition.y*upPosition.y+upPosition.z*upPosition.z)
|
|
|
|
variable.float.sunPosX = sunPosition.x/normSunVec
|
|
variable.float.sunPosY = sunPosition.y/normSunVec
|
|
variable.float.sunPosZ = sunPosition.z/normSunVec
|
|
|
|
uniform.vec3.sunVec=vec3(sunPosX,sunPosY,sunPosZ)
|
|
|
|
variable.float.upPosX = upPosition.x/normUpVec
|
|
variable.float.upPosY = upPosition.y/normUpVec
|
|
variable.float.upPosZ = upPosition.z/normUpVec
|
|
|
|
uniform.vec3.upVec=vec3(upPosX,upPosY,upPosZ)
|
|
uniform.float.sunElevation = sunPosX*upPosX+sunPosY*upPosY+sunPosZ*upPosZ
|
|
uniform.float.lightSign = clamp(sunElevation * 1000000000000000000, 0.0, 1.0) * 2.0 - 1.0
|
|
|
|
#Max angle at frustrum diagonal
|
|
variable.float.maxAngle = atan(1.0 / gbufferProjection.1.1 * sqrt(1.0+(aspectRatio * aspectRatio)))
|
|
uniform.float.cosFov = cos(maxAngle)
|
|
variable.float.viewDirX = gbufferModelViewInverse.2.0
|
|
variable.float.viewDirY = gbufferModelViewInverse.2.1
|
|
variable.float.viewDirZ = gbufferModelViewInverse.2.2
|
|
variable.float.normView = sqrt(viewDirX*viewDirX + viewDirY*viewDirY + viewDirZ*viewDirZ)
|
|
variable.float.shViewDirX = (shadowModelView.0.0 * viewDirX + shadowModelView.1.0 * viewDirY + shadowModelView.2.0 * viewDirZ)/normView
|
|
variable.float.shViewDirY = (shadowModelView.0.1 * viewDirX + shadowModelView.1.1 * viewDirY + shadowModelView.2.1 * viewDirZ)/normView
|
|
variable.float.shViewDirZ = (shadowModelView.0.2 * viewDirX + shadowModelView.1.2 * viewDirY + shadowModelView.2.2 * viewDirZ)/normView
|
|
|
|
uniform.vec3.shadowViewDir = vec3(shViewDirX, shViewDirY, shViewDirZ)
|
|
|
|
variable.float.shStartX = (shadowModelView.0.0 * gbufferModelViewInverse.3.0 + shadowModelView.1.0 * gbufferModelViewInverse.3.1 + shadowModelView.2.0 * gbufferModelViewInverse.3.2)
|
|
variable.float.shStartY = (shadowModelView.0.1 * gbufferModelViewInverse.3.0 + shadowModelView.1.1 * gbufferModelViewInverse.3.1 + shadowModelView.2.1 * gbufferModelViewInverse.3.2)
|
|
variable.float.shStartZ = (shadowModelView.0.2 * gbufferModelViewInverse.3.0 + shadowModelView.1.2 * gbufferModelViewInverse.3.1 + shadowModelView.2.2 * gbufferModelViewInverse.3.2)
|
|
|
|
uniform.vec3.shadowCamera = vec3(shStartX + shadowModelView.3.0 + shViewDirX*2., shStartY + shadowModelView.3.1 + shViewDirY*2., shStartZ + shadowModelView.3.2 + shViewDirZ*2.0)
|
|
|
|
|
|
variable.float.wSunX = (gbufferModelViewInverse.0.0 * sunPosX + gbufferModelViewInverse.1.0 * sunPosY + gbufferModelViewInverse.2.0 * sunPosZ)
|
|
variable.float.wSunY = (gbufferModelViewInverse.0.1 * sunPosX + gbufferModelViewInverse.1.1 * sunPosY + gbufferModelViewInverse.2.1 * sunPosZ)
|
|
variable.float.wSunZ = (gbufferModelViewInverse.0.2 * sunPosX + gbufferModelViewInverse.1.2 * sunPosY + gbufferModelViewInverse.2.2 * sunPosZ)
|
|
|
|
variable.float.shSunX = (shadowModelView.0.0 * wSunX + shadowModelView.1.0 * wSunY + shadowModelView.2.0 * wSunZ)
|
|
variable.float.shSunY = (shadowModelView.0.1 * wSunX + shadowModelView.1.1 * wSunY + shadowModelView.2.1 * wSunZ)
|
|
variable.float.shSunZ = (shadowModelView.0.2 * wSunX + shadowModelView.1.2 * wSunY + shadowModelView.2.2 * wSunZ)
|
|
|
|
uniform.vec3.shadowLightVec = vec3(lightSign*shSunX, lightSign*shSunY, lightSign*shSunZ)
|
|
|
|
uniform.float.shadowMaxProj = 150.0/abs(sunPosY)
|
|
|
|
# photon stuff
|
|
uniform.vec2.view_res = vec2(viewWidth, viewHeight)
|
|
uniform.vec2.view_pixel_size = vec2(1.0 / viewWidth, 1.0 / viewHeight) |