water now has depth and looks much better

This commit is contained in:
2022-02-21 15:11:13 +08:00
parent 4204a15b1e
commit e2717aaaa9
3 changed files with 18 additions and 9 deletions

View File

@ -222,6 +222,7 @@ func (r *WorldRenderer) Init(w *world.World) (err error) {
r.lighting.shader.SetUniformTextureHandle("gColor", r.gbuffer.color)
r.ssao.shader.SetUniformTextureHandle("gPos", r.gbuffer.pos)
r.ssao.shader.SetUniformTextureHandle("gNorm", r.gbuffer.norm)
r.water.shader.SetUniformTextureHandle("gPos", r.gbuffer.pos)
// generate SSAO friends
gl.GenFramebuffers(1, &r.ssao.fbo)
@ -430,7 +431,7 @@ func (r *WorldRenderer) Render(world *world.World, view *View) {
gl.DepthFunc(gl.LESS)
gl.Enable(gl.CULL_FACE)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.BlendEquation(gl.FUNC_ADD)
r.water.shader.UseProgram()
r.water.shader.BindTextures()
@ -442,6 +443,7 @@ func (r *WorldRenderer) Render(world *world.World, view *View) {
r.water.shader.SetUniformVec4f("fogColor", io.FogColor)
r.water.shader.SetUniformVec3f("sun", normalSun)
r.water.shader.SetUniformFloat("alpha", alpha)
r.water.shader.SetUniformVec2f("screenSize", r.lastDisplaySize.ToFloat32())
world.RenderWater()