mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 15:09:19 +02:00
opacity handling hacks (part 2)
This commit is contained in:
12
Model3d.cpp
12
Model3d.cpp
@@ -422,7 +422,7 @@ std::pair<int, int> TSubModel::Load( cParser &parser, bool dynamic )
|
||||
{
|
||||
const opengl_material &mat = GfxRenderer->Material(m_material);
|
||||
|
||||
// if material have opacity set, replace submodel opacity with it
|
||||
// if material does have opacity set, replace submodel opacity with it
|
||||
if (mat.opacity)
|
||||
{
|
||||
iFlags &= ~0x30;
|
||||
@@ -2056,6 +2056,16 @@ void TSubModel::BinInit(TSubModel *s, float4x4 *m, std::vector<std::string> *t,
|
||||
{
|
||||
opengl_material const &mat = GfxRenderer->Material(m_material);
|
||||
|
||||
// if material does have opacity set, replace submodel opacity with it
|
||||
if (mat.opacity)
|
||||
{
|
||||
iFlags &= ~0x30;
|
||||
if (*mat.opacity == 0.0f)
|
||||
iFlags |= 0x20; // translucent
|
||||
else
|
||||
iFlags |= 0x10; // opaque
|
||||
}
|
||||
|
||||
// replace submodel selfillum with material one
|
||||
if( mat.selfillum ) {
|
||||
fLight = mat.selfillum.value();
|
||||
|
||||
Reference in New Issue
Block a user