mirror of
https://github.com/minetest/minetest.git
synced 2025-03-06 20:48:40 +01:00
Fix model[] being lit wrongly if shaders are disabled (#15364)
This commit is contained in:
parent
0e06590ffd
commit
3064f3ccb7
2 changed files with 10 additions and 0 deletions
|
@ -917,6 +917,9 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
|||
return;
|
||||
setColorParam(node, light_color);
|
||||
} else {
|
||||
// TODO refactor vertex colors to be separate from the other vertex attributes
|
||||
// instead of mutating meshes / buffers for everyone via setMeshColor.
|
||||
// (Note: There are a couple more places here where setMeshColor is used.)
|
||||
if (m_meshnode) {
|
||||
setMeshColor(m_meshnode->getMesh(), light_color);
|
||||
} else if (m_animated_meshnode) {
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#include <IVideoDriver.h>
|
||||
#include "IAttributes.h"
|
||||
#include "porting.h"
|
||||
#include "client/mesh.h"
|
||||
#include "settings.h"
|
||||
|
||||
GUIScene::GUIScene(gui::IGUIEnvironment *env, scene::ISceneManager *smgr,
|
||||
gui::IGUIElement *parent, core::recti rect, s32 id)
|
||||
|
@ -96,6 +98,11 @@ void GUIScene::draw()
|
|||
if (m_inf_rot)
|
||||
rotateCamera(v3f(0.f, -0.03f * (float)dtime_ms, 0.f));
|
||||
|
||||
// HACK restore mesh vertex colors to full brightness:
|
||||
// They may have been mutated in entity rendering code before.
|
||||
if (!g_settings->getBool("enable_shaders"))
|
||||
setMeshColor(m_mesh->getMesh(), irr::video::SColor(0xFFFFFFFF));
|
||||
|
||||
m_smgr->drawAll();
|
||||
|
||||
if (m_initial_rotation && m_mesh) {
|
||||
|
|
Loading…
Add table
Reference in a new issue