You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw-tes3mp/components/nifogre/material.hpp

58 lines
1.6 KiB
C++

#ifndef COMPONENTS_NIFOGRE_MATERIAL_HPP
#define COMPONENTS_NIFOGRE_MATERIAL_HPP
#include <iostream>
#include <string>
#include <map>
#include <cassert>
#include <OgreString.h>
namespace Nif
{
class ShapeData;
class NiTexturingProperty;
class NiMaterialProperty;
class NiAlphaProperty;
class NiVertexColorProperty;
class NiZBufferProperty;
class NiSpecularProperty;
class NiWireframeProperty;
}
namespace NifOgre
{
class NIFMaterialLoader {
static void warn(const std::string &msg)
{
std::cerr << "NIFMaterialLoader: Warn: " << msg << std::endl;
}
static void fail(const std::string &msg)
{
std::cerr << "NIFMaterialLoader: Fail: "<< msg << std::endl;
abort();
}
static std::map<size_t,std::string> sMaterialMap;
public:
static std::string findTextureName(const std::string &filename);
static Ogre::String getMaterial(const Nif::ShapeData *shapedata,
const Ogre::String &name, const Ogre::String &group,
const Nif::NiTexturingProperty *texprop,
const Nif::NiMaterialProperty *matprop,
const Nif::NiAlphaProperty *alphaprop,
const Nif::NiVertexColorProperty *vertprop,
const Nif::NiZBufferProperty *zprop,
const Nif::NiSpecularProperty *specprop,
const Nif::NiWireframeProperty *wireprop,
bool &needTangents);
};
}
#endif