mirror of
https://github.com/minetest/minetest.git
synced 2025-01-08 22:37:32 +01:00
Fix model[] being lit wrongly if shaders are disabled (#15364)
This commit is contained in:
parent
0e06590ffd
commit
3064f3ccb7
@ -917,6 +917,9 @@ void GenericCAO::setNodeLight(const video::SColor &light_color)
|
|||||||
return;
|
return;
|
||||||
setColorParam(node, light_color);
|
setColorParam(node, light_color);
|
||||||
} else {
|
} 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) {
|
if (m_meshnode) {
|
||||||
setMeshColor(m_meshnode->getMesh(), light_color);
|
setMeshColor(m_meshnode->getMesh(), light_color);
|
||||||
} else if (m_animated_meshnode) {
|
} else if (m_animated_meshnode) {
|
||||||
|
@ -9,6 +9,8 @@
|
|||||||
#include <IVideoDriver.h>
|
#include <IVideoDriver.h>
|
||||||
#include "IAttributes.h"
|
#include "IAttributes.h"
|
||||||
#include "porting.h"
|
#include "porting.h"
|
||||||
|
#include "client/mesh.h"
|
||||||
|
#include "settings.h"
|
||||||
|
|
||||||
GUIScene::GUIScene(gui::IGUIEnvironment *env, scene::ISceneManager *smgr,
|
GUIScene::GUIScene(gui::IGUIEnvironment *env, scene::ISceneManager *smgr,
|
||||||
gui::IGUIElement *parent, core::recti rect, s32 id)
|
gui::IGUIElement *parent, core::recti rect, s32 id)
|
||||||
@ -96,6 +98,11 @@ void GUIScene::draw()
|
|||||||
if (m_inf_rot)
|
if (m_inf_rot)
|
||||||
rotateCamera(v3f(0.f, -0.03f * (float)dtime_ms, 0.f));
|
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();
|
m_smgr->drawAll();
|
||||||
|
|
||||||
if (m_initial_rotation && m_mesh) {
|
if (m_initial_rotation && m_mesh) {
|
||||||
|
Loading…
Reference in New Issue
Block a user