===========================================================================
BSL v7.1 Changelog
===========================================================================
This changelog includes development versions which are available in
shaderLABS only.
Some fixes or tweaks may not be mentioned.
I added developer comment for no reason, have fun reading this :)
===========================================================================

2 July '19
v7.1.03 released.
-Promo Art Outline added, replacing Bumpy Edge.
-Sky brightness option changed to horizon distance.
-Renamed few options, older config file may not work properly.
-Non-english language files temporarily removed, will be readded in
 v7.1.03.1

===========================================================================
26 June '19
-Rain reflection coverage option added.
	You can now decide if rain reflection should cover the whole surface
	or in puddles.
-Directional lightmap added.
	Basically normal mapping for lightmaps. However, this effect breaks
	occasionally and it's more noticeable on higher strength. This effect
	requires RP Support to be enabled.
-Reworked Visual option menu.
===========================================================================
22 June '19
-Fixed shadow bug from vanilla AO.
===========================================================================
20 June '19
-Rain reflection added.
	This effect has been missing since v5.3 and literally everyone wants
	it.
-Reworked AO sampling offset and calculation.
-Lens flare scales with FOV now.
	This gives larger flares on lower FOV, vice versa.
===========================================================================
3 June '19
-Readded Rough reflection.
	Rough reflection no longer use a mix of texture2DLod and noise, it
	fully utilizes noise now. Variable sample count is also used to prevent
	very rough surfaces from having overly noisy reflections. It still
	have some noise though, which can be smoothed out using TAA.
-Emissive from specular map is now used in translucents.
===========================================================================
1 June '19
-Tweaked sky and fog.
===========================================================================

30 May '19
v7.1.02.2 released.
-Partial fix for cloud rendering behind skybox.
	This fix only works on certain parts of skybox, as the other parts
	aren't affected by it. This fix gets more expensive based on the
	amount of skybox layers used.
-Tweaked RP support behavior.
	Reverted some of the changes to make it behave a bit more like v7.1.01
-Tweaked specular highlight color.
-Corrected cloud quality settings.

===========================================================================

29 May '19
v7.1.02.1 released.
-Fixed sky error.

===========================================================================

28 May '19
v7.1.02 released.
-Clouds are now rendered earlier.
	Campfire made semitransparent particles more apparent as it renders
	below clouds, it forces me to render it before those particles. This
	causes some problems: clouds are rendered before custom skyboxes,
	sun, and moon; solid surfaces aren't rendered yet so optimization
	only can be done by reducing cloud quality.
-Cloud quality option added.

===========================================================================
27 May '19
-1.14 block mapping.
	New flowers, lantern, campfire, and new furnaces are now mapped. I
	regret mapping bamboo.
-GGX with area light approximation is now used globally.
	There are two specular models used : Phong and GGX. Both have been
	swapped for GGX with area light approximation. (thank you Horizon
	Zero Dawn SIGGRAPH slides)
-Tweaked RP support behavior.
	Metalness value is dropped for F0 in order to support newer specular
	formats.
-Some code cleanups.
===========================================================================
17 May '19
-Improved weather lighting.
	Weather lighting now correctly follows light/ambient intensity.
-Desaturation intensity is no longer affected by lighting intensity.
	Higher lighting intensity causes desaturation to be stronger, vice 
	versa. Now it scales properly. 
===========================================================================
12 May '19
-Improved light shafts falloff.
-Tweaked fog.
===========================================================================
27 April '19
-Improved sun position calculation to support time manipulating mods.
	Sun position is bugged in gbuffers_skybasic which requires me to use
	custom sun position (from Builderb0y). Unfortunately it conflicts
	with time manipulating mods. The new time system calculates sun
	position by the angle of the sun, which scales well with time
	manipulating mods.
===========================================================================

26 April '19
v7.1.01 released.

-Diamond, emerald, and redstone block are no longer marked as metal when
 using old specular format.

===========================================================================
25 April '19
-Switchced Blinn-Phong to GGX
	Switching to GGX allows my specular highlight slightly on par with
	other shaders. GGX gives smoother falloff which looks better compared
	to Blinn-Phong.
-Improved specular highlight rendering on metals.
-Russian language file added, thanks Jerozgen!
===========================================================================
22 April '19
-Minecraft AO now appears in white world.
-Improved lightmap banding.
	Minecraft AO will be hidden while affecting both lightmaps when
	enabled.
===========================================================================
20 April '19
-Rough reflection is removed temporarily.
	The noise added on the reflection function results a surface reflect
	itself which is jarring (most noticeable on iron block.), and using
	texture2DLod alone won't give acceptable results. This effect will be
	added back when i can implement the noise in a better way.
-Improved reflection dithering.
-Continuum specular format is now partially supported.
-Specular support on translucents added..
===========================================================================
11 April '19
-Fixed dirty lens on non-16:9 aspect ratio.
-NaN fix for RP Support.
===========================================================================

06 April '19
v7.1 released.

===========================================================================
31 March '19
-Dirty lens added.
-Reduced base bloom amount by 20%, again.
	Combined with previous reduction, it's reduced by 36%.
-Adjusted shadow bias to reduce distant near-player artifact.
===========================================================================
30 March '19
-Minimum light now uses Brightness slider from Video Settings.
-Fixed lava fog not rendering at sky.
===========================================================================
28 March '19
-Removed beacon beam shadow.
===========================================================================
27 March '19
-Tweaked fog calculation.
	Fog is now calculated with exponential function instead of linear.
	This gives the fog a smoother look at the edges and reduces nearby
	fog. This change slightly reduces "blue filter", making AO more
	visible.
-World curvature added.
	Yes I actually miss this option, it's just ported from the older
	version of the pack. Enchanted items should work properly too now.
===========================================================================
23 March '19
-Tweaked auto exposure.
	Lower exposure receives much less additional exposure while higher
	exposure still receives a nice amount of exposure reduction.
===========================================================================
9 March '19
-Tweaked blocklight lightmap to match vanilla lightmap.
	This change makes blocklight more visible in lower light levels,
	however vanilla lightmap artifacts will be more noticeable.
===========================================================================
8 March '19
-Simplified ambient lighting.
	Ambient lighting now only get brighter instead of blends to white while
	the player is in dark areas.
===========================================================================
4 March '19
-Color intensity is squared now.
	This change increases highest contrast ratio possible, from 80:1 to
	6400:1.
-Tweaked bloom compression.
-Water with high intensity can glow now.
===========================================================================
2 March '19
-Specular reflection is now allowed in entities.
-Increased cloud render distance.
-AO and light shafts strength added.
-Removed cloud lighting.
===========================================================================
1 March '19
-Halved film grain amount.
===========================================================================
19 February '19
-Fixed normals on block entities.
===========================================================================
13 February '19
-Reduced base bloom amount by 20%
===========================================================================
30 January '19
-Fixed motion blur removing water and clouds in older Minecraft versions.
===========================================================================
27 January '19
-AO is applied on hand now.
===========================================================================
19 January '19
-DOF is done in single composite.
	This allows better compatibility with bloom.
===========================================================================
11 January '19
-Moved White World to Visual menu.
-Max desaturation factor option added.
	This option determines the maximum amount of desaturation applied.
	Set to high to get similar result with older versions.
===========================================================================
26 December '18
-Fixed TAA not working in 1.7.10.
===========================================================================

24 December '18
v7.1p5 released.

-Increased black outline sample count.
	This will make sure that all pixels in 5x5 neighborhood is affected.
-Removed motion blur on hand with black outline.

===========================================================================
23 December '18
-Vibrance added.
	Vibrance is similar to saturation, but affects saturated color less.
-Fixed RP skybox goes black when raining.
===========================================================================
16 December '18
-Removed AO and light shafts quality.
	Since TAA can smooth out these effects, the quality settings become
	redundant.
===========================================================================
14 December '18
-Disabling bright emmisive now also affects level 15 light sources.
===========================================================================
09 December '18
-Medium profile have better shadow quality instead of more effects.
	This ensures that the ugly shadows on foliages gone sooner. It also
	gives a bit of profile consistency where lower profiles don't have
	fancy effects while higher profiles do.
===========================================================================
08 December '18
-Fixed hand shadows.
-Clouds are 40% taller.
-Rescaled cloud height option.
-Cloud brightness and speed, and water speed option added.
===========================================================================
06 December '18
-Improved black outline.
	Paired sample is also used for this effect, reduces missing outlines.
	Changed offset shape from circle to square. This effect should be
	compatible with DOF too.
-Fixed high resolution shadows with TAA
===========================================================================
25 November '18
-Metals should look more metallic in lower smoothness.
===========================================================================
18 November '18
-Lilypad use waves like water now.
-Renamed Strength in color settings to Intensity.
	The internal name remains the same so older config file may work.
-Seperated tonemap curve to upper curve and lower curve.
	These options are tonemap based contrast, where 1.5 lower curve and
	0.5 upper curve gives high contrast while 0.5 lower curve and 1.5
	upper curve gives low contrast.
-Removed brightness and contrast settings.
-Saturation is done in gamma space.
===========================================================================
13 November '18
-Upgraded AO
	Toy Story 3 SIGGRAPH introduced me paired sample, where two samples
	are sampled in the opposite direction at a time. This allows me to
	greatly reduce the amount of anti-halo.
===========================================================================
12 November '18
-Temporal Antialiasing added.
	I used to dislike TAA due to how rough everything is when some pixels
	are recently shown. But, I actually like it now due to how it resolves
	temporal aliasing and reduces dithering on some effects. (thank you 
	Playdead's Inside GDC talk)
===========================================================================
11 November '18
-Fixed end hand issue.
===========================================================================
02 November '18
-Light shafts culling.
	You should get a bit more performance when there's nothing above you
	and you're looking against the light source.
===========================================================================
10 November '18
-Fixed reflect translucent affecting light shafts.
-Beacon beam is now tinted by blocklight color.
-Increased AO sample count for increased quality.
===========================================================================

03 November '18
v7.1p4 released.

===========================================================================
01 November '18
-Changed AO radius setting to AO quality.
===========================================================================
27 October '18
-Subtle underwater distortion added.
===========================================================================
26 October '18
-Previous frame refleciton renamed to Reflect translucent and disabled by
 default now.
-AO on translucents only applied on the opaque parts.
===========================================================================
24 October '18
-Black outline have sharp corners instead of round corners now.
===========================================================================
22 October '18
-Lower part of tall plants shouldn't wave anymore.
-Fixed antialiasing on some GPUs.
-Slight reformatting in shader options.
-Tonemap settings added.
-Merged basic color adjustment with color grading.
===========================================================================
21 October '18
-Improved clouds when raining.
-Hand emissive recolor is now split.
===========================================================================

20 October '18
v7.1p3 released.

-1.13.1 block mapping added.
	With 1.13's flattening, Optifine removes the original block mapping for
	shaders to prevent several issues. I added my own block.properties file
	to remap all the block, and it worked pretty well. Few Aquatic stuffs
	are mapped too. Pre 1.13 is still compatible, but it loses emissive
	recolor on hand due to the lack of hand item mapping.
-Increased underwater light shafts tint amount.
-Doubled underwater fog range when deep under water.
-Allowed texture2DLod for some GPUs.

===========================================================================
18 October '18
-Sky brightness option.
-Antialiasing should work on lower render quality now.
===========================================================================
17 October '18
-Tweaked AO.
===========================================================================
14 October '18
-Fixed shadow bias on gbuffers_terrain.
	Some shadows from thin objects (e.g. rails) should cast shadows on
	high shadow map resolution.
-Fixed sky making NaN.
===========================================================================
13 October '18
-Per biome weather option added.
===========================================================================
09 October '18
-Improved Antialiasing.
	Previous versions use FXAA 4x, which is similar to Optifine's
	implementation. The older version have limited step length which makes
	near horizontal / vertical line still have a bit of aliased feel, and
	it's just bad with tiny details (i.e. New default oak leaves).
	Now it's replaced with FXAA 3.11 which works well on near horizontal /
	vertical lines and works better on tiny details.
===========================================================================

07 October '18
v7.1p2 released.

===========================================================================
06 October '18
-Weather optimization.
	I didn't realize that the weather fog is expensive. It turns out that
	the fix doesn't use alpha check which creates a lot of wasted textures,
	and fps.
-This changelog.
	I decided to add this changelog since most people who only have the
	public releases are wondering what are the changes.
===========================================================================
04 October '18
-Fixed false occlusion.
	AO can create false occlusions in some places. This is fixed by
	tweaking the distance check a bit.
===========================================================================
27 September '18
-Tweaked underwater fog.
	Underwater was done in deferred, allowing solid blocks to have the fog
	behind translucents. However, this allows it to leak outside water.
	By moving it to composite, solid blocks doesn't have the fog behind
	translucents, but the fog doesn't leak anymore.
-Per biome weather color
	Optifine's custom uniform (specifically biome) is rarely used, and it
	gives some really interesting results.
===========================================================================
23 September '18
-AO radius and light shafts quality option added.
	These settings allows me to provide higher quality effects for those
	with better GPUs, and makes Ultra profile feels more like how Ultra
	profile should've been.
===========================================================================
18 September '18
-Nether fog range adjusts automatically
	This is the only case where the fog distance really should adjust
	automatically to render distance.
===========================================================================
17 September '18
-Vanilla clouds use shader lighting now.
	Vanilla cloud lighting doesn't match with shader's day/night
	transition.
===========================================================================
15 September '18
-Fixed block damage.
	I usually don't play survival, so i don't really check the block damage
	(the texture which appears when breaking blocks). I added another
	gbuffers pass which applies increased brightness to fix this problem.
-Previous frame reflection option.
	When disabled, reflection uses current framebufer which removes
	translucent reflections, but it gives compatibility to Optifine's
	screenshot size feature.
-More RP Support options.
	I'm adding more options just in case someone don't want some features.
===========================================================================
08 September '18
-Improved metallic reflection.
	I changed the metallic reflection tint from the main image to raw
	albedo to give more believable results.
===========================================================================
02 September '18
-AO scales on FOV
	When using FOV scaling, the effect's size feels "same" in different
	FOVs.
-Tweaked screen space reflection
	I lowered the accuracy of the reflection to allow it to fill some gaps.
===========================================================================
16 August '18
-Cloud lighting added.
	It's an experimental feature, so it's not enabled by default in all
	profiles. Cloud lighting is kind of difficult to do (for me) and it's
	full of hacky calculations.
===========================================================================
14 August '18
-Fixed weather covered by fog.
	Weather is rendered before deferred shaders (where some effects
	including fog are done), so it gets covered by fog. I increased the
	weather's intensity based on the fog value.
===========================================================================

12 August '18
v7.1p1 released.

===========================================================================
11 August '18
-Guesswork auto exposure fix
	Another NaN from mods issue. Fixed by clamping the main framebuffer.
===========================================================================
08 August '18
-Round sun and moon added.
-Improved motion blur.
	Dithering is now applied to the sampling offset, allowing much smoother
	blur while using the same sample count.
===========================================================================
07 August '18
-Motion blur and DOF are done in separate passes.
	This allows for both effects to be enabled without any hacky tricks.
===========================================================================
02 August '18
-Increased water alpha
	Due to the lack of refraction (which is another difficult thing in
	forward lighting), it's a bit difficult to recognize water so I
	increased the alpha so it's a bit easier to recognize.
-Removed sky reflection when underwater.
===========================================================================
30 July '18
-Smoother light shafts weighting.
	Due to the growing sampling length, light shafts can make panel-y feel.
	I tweaked the weights to make it feel smoother.
-Waving flowers renamed to waving plants.
	It includes dead bush and saplings.
===========================================================================
28 July '18
-Fixed end skybox.
-Tweaked end color.
	My laptop's color is inaccurate(?). With the power of my old but color
	accurate(?) PC, i decided to make the end more purple.
===========================================================================
23 July '18
-Bloom option added.
	Back then I wanted everyone to enjoy bloom since that's how BSL should
	be experienced. Suddenly i noticed how annoying it is to hold sea
	lantern at night with all the bloom.
-Another bloom tile added.
	In other words, increased maximum bloom size.
===========================================================================
13 July '18
-Guesswork NaN (not a number) fix.
	Somehow modded blocks does division by zero which creates NaN. Fixed
	it by clamping those values.
-Skybox tweaks.
	Turns out that some resource pack's (e.g. Dokucraft) skybox works a bit
	different so my shader needs to adapt to it. Skybox should also fade
	properly during weather transition.
===========================================================================
07 July '18
-Buffer optimization.
	Changing the main framebuffer from RGBA16F to R11F_G11F_B10F gives a
	nice fps boost. Any other shader devs should try it! (Bart Wronski's
	Small Float Formats is interesting to read.)
-Bumpy edge and lightmap banding added.
===========================================================================
06 July '18
-Particles receive shadows now.
	The normals in particles are bugged somehow, so I need to remove the
	diffuse to allow it to receive shadows. However, 3D particle mods won't
	receive diffuse lighting. (extra code added so it's possible to enable
	it manually.)
===========================================================================
04 July '18
-RP Support added in other dimensions.
-Lava fix
	Emissive blocks have glitchy blocklight value, so it needs to be
	hardcoded (unfortunately I'm doing this for lava only so far).
===========================================================================
03 July '18
-Resource Pack Support added (overworld only).
	I'm using less framebuffers in v7.1 and ended up having the rest used
	for RP Support (specular map, normals, and raw albedo.). Due to the
	more demanding framebuffers, you'll get framerate drops with this
	option enabled even when you're not using any specular / normal packs.
	RP Support is getting a new feature which is parallax self-shadowing,
	which allows surfaces with parallax texture to get extra details.
	I also applied RP support at hand to give a bit more consistent feel.
===========================================================================
01 July '18
-Black outline added.
	Black outline in shaders are kind of rare nowdays, but I still have it.
	This time i use the minimum depth from all samples to give a proper
	fade effect.
===========================================================================
28 June '18
-Lava uses blocklight color for tinting.
	Just in case someone wants green or blue (etc.) lava.
-Changed color grading values from 0.00-1.00 to 0-255
	This makes the option more consistent and easier color referencing.
===========================================================================
27 June '18
-Nether and End shader added.
	v7.1's End is very different compared to v7.0 since shadows are added
	in the end now. It also allows me to add light shafts in the End to
	make it feel more atmospheric.
===========================================================================	
21 June '18
-Ultra profile added, others rescaled.
	With v7.1, I wanted to make sure that low looks good enough, higher
	profiles have minimal changes, and ultra have acceptable performance.
	(go watch 2kliksphilip's Ultra Settings Suck)
===========================================================================
17 June '18
-Screen space reflection now uses previous frame.
	I just learned a trick from Chocapic13 which allows him to reflect
	translucents, which is using previous frame's image (it's impossible
	to create translucent reflections immediately). The only downside is
	some part of the reflection is delayed.
===========================================================================
11 June '18
-Tweaked fog.
	Fog shouldn't straight go yellow (or whatever the light color is) near
	the player so fast. I applied normal fog color when near and light
	color when far away. (thank you Uncharted 4 SIGGRAPH slides)
-DOF and motion blur added.
	Kind of a must have post processing effect in shaders (although it's
	fine to have it disabled by default)
-Modifiable water.
	Color customization isn't enough :p . Who knows if someone can make
	a good use from it.
-Afternoon light and ambient color option.
	Just in case someone wants their afternoon looks different from their
	morning.
===========================================================================
10 June '18
-Screen space reflection added.
	I thought it will be difficult, it turns out that it's not. The major
	problem of water shader is gone! This effect also subtly applied to
	some translucent blocks.
-Light shafts added.
	This time I only provide volumetric light, screen space godrays are
	gone because it's FOV friendly and  there's enough framerate to use
	volumetric light by default.
-Stars added.
	Vanilla stars are dimmed for no reason. That's why I added brighter
	shader stars.
-Lens flare and auto exposure added.
	Both effects now use values stored from temporal framebuffers which
	allows smoother transition with a fairly cheap cost.
-Weather is now affected by torchlight.
	This isn't a brand new feature everywhere, really. Some other shaders
	did it earlier than me. But, it's still a very welcome addition.
===========================================================================
09 June '18
-Clouds added.
    It's the same with v7.0.
-Ambient occlusion added.
    This time it's only possible to use my own AO method which uses
    depth buffer only. SSAO from most shaders (including v6.2 below) also
    uses normals buffer which is unavailable in v7.1 since normals are used
    immediately and not stored in framebuffers (exception for RP Support).
-Fog
    One thing I learned from SEUS is to have the fog starts right from the
    player's position which doesn't create fog ring (the part where the fog
	starts building).
-Shader options added
-Fixed spider and enderman eye from using blocklight color.
	Spider and enderman eye have some amount of blocklight and the
	blocklight color is applied by default. I added a new gbuffers pass
	which only applies 4x brightness.
-Fixed armor glint.
-Underwater fog
	The downside of forward lighting method is it makes underwater fog very
	difficult to apply behind translucents.
===========================================================================
08 June '18
-v7.1 development started.
    I never learned to stop copy-pasting codes from older versions.
    With this version, I'm aiming for 30 fps in 900p with NVIDIA GT940MX,
    which is barely a success since it can reach target fps, sometimes.
-Full color customization added.
	Customizability and versatility is what i wanted from my shader.
	With all these color settings anyone can make BSL looks better (or
	worse), and there's much less complain about colors doesn't match
	their taste.
-Base lighting added, forward method.
    As soon as Chocapic13's v7 is out, I'm just amazed by how well it
    runs. I thought because it uses forward lighting method, which is done
    in gbuffers pass and basically this is the reason I make v7.1.
-Sky added.
	This time the sky is calculated in gbuffers, which allows vanilla stars
	and few part of resource pack's skybox to appear. The only downside is
	that the sun position in gbuffers_skybasic is delayed by 1 frame so I
	need custom sun position uniform to fix it.(thank you Builderb0y)
-Desaturation added.
	Desaturating things and tinting is pretty much a thing in Gen 7 console
	era which gives realistic/cinematic feel. I only use this at night,
	when raining, or inside dark areas. It contrasts well with the well
	saturated daytime.
-Fixed texture overlays. e.g. Conquest RP
    This one is kind of a huge problem for dual deferred and deferred-
    forward hybrid rendering since it uses custom alpha blending.
    Internal alpha blending fixes it flawlessly(?).
-Sky reflection added forward method.
    Reflections are usually done after completing the lighting and alpha
    blending in composite and composite1. This time it's done in gbuffers
    pass which allows any non-frontmost surface to have reflections too.
    i.e. water creates reflection behind stained glass.
-and several other stuffs.
===========================================================================