diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2016-01-19 22:25:40 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2016-01-19 22:25:40 +0100 |
commit | d67df42cc864c3bc5cd1911406e284c3cb84f8e8 (patch) | |
tree | 923cc7b15fbcec69b5229722866e9bf76a32fc5b | |
parent | e12835552732463536163b314ee78f4e7d94809b (diff) | |
parent | d807a2298145e72cdcb9290eb6c7e6c88df9848a (diff) |
Merge pull request #2180 from sketchyfun/SketchyFun
Billboards were displayed upside down when drawn to a render texture
-rw-r--r-- | drivers/gles2/rasterizer_gles2.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gles2/rasterizer_gles2.cpp b/drivers/gles2/rasterizer_gles2.cpp index 58d5c307f0..f0978228ff 100644 --- a/drivers/gles2/rasterizer_gles2.cpp +++ b/drivers/gles2/rasterizer_gles2.cpp @@ -6755,7 +6755,13 @@ void RasterizerGLES2::_render_list_forward(RenderList *p_render_list,const Trans if (e->instance->billboard) { Vector3 scale = xf.basis.get_scale(); - xf.set_look_at(xf.origin,xf.origin+p_view_transform.get_basis().get_axis(2),p_view_transform.get_basis().get_axis(1)); + + if (current_rt && current_rt_vflip) { + xf.set_look_at(xf.origin, xf.origin + p_view_transform.get_basis().get_axis(2), -p_view_transform.get_basis().get_axis(1)); + } else { + xf.set_look_at(xf.origin, xf.origin + p_view_transform.get_basis().get_axis(2), p_view_transform.get_basis().get_axis(1)); + } + xf.basis.scale(scale); } material_shader.set_uniform(MaterialShaderGLES2::WORLD_TRANSFORM, xf); |