diff options
author | stujones11 <stujones111@gmail.com> | 2018-12-20 22:40:17 +0000 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2018-12-20 23:40:17 +0100 |
commit | d994f7ca5f75431da8e17fd6762209c404d89482 (patch) | |
tree | 0207d6bf70056cf3acb58f885c6912c1b9a6d674 /src | |
parent | ba07a8b87235896d2c8685db5ce6748dbd5e211d (diff) | |
download | minetest-d994f7ca5f75431da8e17fd6762209c404d89482.tar.gz minetest-d994f7ca5f75431da8e17fd6762209c404d89482.tar.bz2 minetest-d994f7ca5f75431da8e17fd6762209c404d89482.zip |
Fix more transparency issues with ogles2 driver (#8005)
Diffstat (limited to 'src')
-rw-r--r-- | src/client/content_cao.cpp | 3 | ||||
-rw-r--r-- | src/client/wieldmesh.cpp | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 9e4725881..d2bd32afa 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -1062,6 +1062,7 @@ void GenericCAO::updateTextures(std::string mod) texturestring = m_prop.textures[0]; texturestring += mod; m_spritenode->getMaterial(0).MaterialType = material_type; + m_spritenode->getMaterial(0).MaterialTypeParam = 0.5f; m_spritenode->setMaterialTexture(0, tsrc->getTextureForMesh(texturestring)); @@ -1097,6 +1098,7 @@ void GenericCAO::updateTextures(std::string mod) // Set material flags and texture video::SMaterial& material = m_animated_meshnode->getMaterial(i); material.MaterialType = material_type; + material.MaterialTypeParam = 0.5f; material.TextureLayer[0].Texture = texture; material.setFlag(video::EMF_LIGHTING, true); material.setFlag(video::EMF_BILINEAR_FILTER, false); @@ -1143,6 +1145,7 @@ void GenericCAO::updateTextures(std::string mod) // Set material flags and texture video::SMaterial& material = m_meshnode->getMaterial(i); material.MaterialType = material_type; + material.MaterialTypeParam = 0.5f; material.setFlag(video::EMF_LIGHTING, false); material.setFlag(video::EMF_BILINEAR_FILTER, false); material.setTexture(0, diff --git a/src/client/wieldmesh.cpp b/src/client/wieldmesh.cpp index 4c25fafb1..2c6807fab 100644 --- a/src/client/wieldmesh.cpp +++ b/src/client/wieldmesh.cpp @@ -282,6 +282,7 @@ void WieldMeshSceneNode::setExtruded(const std::string &imagename, material.TextureLayer[0].TextureWrapU = video::ETC_CLAMP_TO_EDGE; material.TextureLayer[0].TextureWrapV = video::ETC_CLAMP_TO_EDGE; material.MaterialType = m_material_type; + material.MaterialTypeParam = 0.5f; material.setFlag(video::EMF_BACK_FACE_CULLING, true); // Enable bi/trilinear filtering only for high resolution textures if (dim.Width > 32) { @@ -426,6 +427,7 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, Client *client, bool che for (u32 i = 0; i < material_count; ++i) { video::SMaterial &material = m_meshnode->getMaterial(i); material.MaterialType = m_material_type; + material.MaterialTypeParam = 0.5f; material.setFlag(video::EMF_BACK_FACE_CULLING, true); material.setFlag(video::EMF_BILINEAR_FILTER, m_bilinear_filter); material.setFlag(video::EMF_TRILINEAR_FILTER, m_trilinear_filter); @@ -569,6 +571,7 @@ void getItemMesh(Client *client, const ItemStack &item, ItemMesh *result) scene::IMeshBuffer *buf = mesh->getMeshBuffer(i); video::SMaterial &material = buf->getMaterial(); material.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL; + material.MaterialTypeParam = 0.5f; material.setFlag(video::EMF_BILINEAR_FILTER, false); material.setFlag(video::EMF_TRILINEAR_FILTER, false); material.setFlag(video::EMF_BACK_FACE_CULLING, true); @@ -619,6 +622,7 @@ scene::SMesh *getExtrudedMesh(ITextureSource *tsrc, material.setFlag(video::EMF_BACK_FACE_CULLING, true); material.setFlag(video::EMF_LIGHTING, false); material.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL; + material.MaterialTypeParam = 0.5f; } scaleMesh(mesh, v3f(2.0, 2.0, 2.0)); |