1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

Improve ergonomics of CachedShaderSetting

This commit is contained in:
sfan5 2024-02-20 14:59:47 +01:00
parent e9ab5bc223
commit 0c3a4cc7b9
4 changed files with 75 additions and 47 deletions

View file

@ -227,7 +227,7 @@ public:
// Set world matrix
core::matrix4 world = driver->getTransform(video::ETS_WORLD);
m_world.set(*reinterpret_cast<float(*)[16]>(world.pointer()), services);
m_world.set(world, services);
// Set clip matrix
core::matrix4 worldView;
@ -237,12 +237,12 @@ public:
core::matrix4 worldViewProj;
worldViewProj = driver->getTransform(video::ETS_PROJECTION);
worldViewProj *= worldView;
m_world_view_proj.set(*reinterpret_cast<float(*)[16]>(worldViewProj.pointer()), services);
m_world_view_proj.set(worldViewProj, services);
if (driver->getDriverType() == video::EDT_OGLES2 || driver->getDriverType() == video::EDT_OPENGL3) {
core::matrix4 texture = driver->getTransform(video::ETS_TEXTURE_0);
m_world_view.set(*reinterpret_cast<float(*)[16]>(worldView.pointer()), services);
m_texture.set(*reinterpret_cast<float(*)[16]>(texture.pointer()), services);
m_world_view.set(worldView, services);
m_texture.set(texture, services);
}
}
};