Exception SolidColor.j3md has been marked as obsolete. Please use Unshaded.j3md instead.

MaterialDef Solid Color {

    MaterialParameters {
        Vector4 Color

        // Texture of the glowing parts of the material
        Texture2D GlowMap
        // The glow color of the object
        Color GlowColor
    }

    Technique {
        VertexShader GLSL100:   Common/MatDefs/Misc/Unshaded.vert
        FragmentShader GLSL100: Common/MatDefs/Misc/Unshaded.frag

        Defines {
            HAS_COLOR : Color
        }

        WorldParameters {
            WorldViewProjectionMatrix
        }
    }

    Technique FixedFunc {
    }

   Technique Glow {

        VertexShader GLSL100:   Common/MatDefs/Misc/Unshaded.vert
        FragmentShader GLSL100: Common/MatDefs/Light/Glow.frag

        WorldParameters {
            WorldViewProjectionMatrix
        }

        Defines {
            HAS_GLOWMAP : GlowMap
            HAS_GLOWCOLOR : GlowColor
        }
    }
}