===========================================================================
BSL v7.1 Changelog
===========================================================================
Go to bottom part of this file to see the latest changes.
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 :)
===========================================================================

===========================================================================
v7.0 preview 1
===========================================================================
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_sky 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.
===========================================================================
09 June '18
-Cloud 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).
-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.
-Shader options added
-Vertex shader code cleaning.
===========================================================================
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.
===========================================================================
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 graphics paper)
-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 is not 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.
-Fixed first phase VL still renders while disabled.
-Added some comments
-Sky desaturation and skybox brightness option added.
===========================================================================
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.
===========================================================================
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)
===========================================================================
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.
===========================================================================	
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.
-Reduce step size of color customization from 16 to 4.
===========================================================================
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.
===========================================================================
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.
===========================================================================
04 July '18
-Lava fix
	Emissive blocks have glitchy blocklight value, so it needs to be
	hardcoded (unfortunately I'm doing this for lava only so far).
-RP Support added in other dimensions.
-Tweaked parallax self-shadowing.
-Fixed hand shading having negative values.
===========================================================================
05 July '18
-Specular leak fix.
===========================================================================
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.)
===========================================================================
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.
===========================================================================
10 July '18
-Fixed specular highlight doesn't fade in day/night transition.
-Indoor desaturation uses its own color.
===========================================================================
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.
-Emissive recolor no longer affected by blocklight strength.
===========================================================================
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.
-Added another bloom tile.
	In other words, increased maximum bloom size.
-Ambient light tweaks
===========================================================================
28 July '18
-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.
-Fixed end skybox.
-Film grain tweaks
===========================================================================
30 July '18
-Smoother light shaft 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.
===========================================================================
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.
===========================================================================
07 August '18
-Motion blur and DOF are done in seperate passes.
	This allows for both effects to be enabled without any hacky tricks.
===========================================================================
08 August '18
-Improved motion blur.
	Dithering is now applied to the sampling offset, allowing much smoother
	blur while using the same sample count.
-Round sun and moon added.
-More option comments.
===========================================================================
09 August '18
-Fixed bloom in the end.
===========================================================================
11 August '18
-Guesswork auto exposure fix
	Another NaN from mods issue. Fixed by clamping the main framebuffer.
===========================================================================
12 August '18
-v7.1 preview released.
===========================================================================

===========================================================================
v7.0 preview 2
===========================================================================
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.
===========================================================================
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.
===========================================================================
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.
===========================================================================
07 September '18
-Reduced specular highlight strength for metals.
-Fixed sky reflection tinted twice in metals.
===========================================================================
08 September '18
-Improved metallic reflection.
	I changed the metallic reflection tint from the main image to raw
	albedo to give more believable results.
-Fixed motion blur when RP support enabled.
===========================================================================
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.
===========================================================================
17 September '18
-Vanilla clouds use shader lighting now.
	Vanilla cloud lighting doesn't match with shader's day/night
	transition.
===========================================================================
18 September '18
-Nether fog range adjusts automatically
	This is the only case where the fog distance really should adjust
	automatically to render distance.
===========================================================================
23 September '18
-Added AO radius and light shafts quality option.
	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.
===========================================================================
24 September '18
-Swapped AO dithering.
	I use 2 dither pattern (8x8 and 5x3) for sampling distribution. It
	turns out that swapping the dither gives smoother result overall.
-Fixed parallax self-shadowing at night.
===========================================================================
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.
===========================================================================
04 October '18
-Fixed false occlusion.
	AO can create false occlusions in some places. This is fixed by
	tweaking the distance check a bit.
===========================================================================
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.
===========================================================================
07 October '18
-v7.1 preview 2 released.
===========================================================================