For soft shadows, I tried several different techniques but ended up settling on PCF because it has less visual artifacts than other methods. This site has it too: https://www.ogldev.org/www/tutorial42/tutorial42.html
For soft shadows, I tried several different techniques but ended up settling on PCF because it has less visual artifacts than other methods. This site has it too: https://www.ogldev.org/www/tutorial42/tutorial42.html