simple ubershader system, reflection debugging
[laserbrain_demo] / src / material.h
index c46a21d..4ca5c7d 100644 (file)
@@ -11,11 +11,22 @@ enum {
        MTL_TEX_SPECULAR,
        MTL_TEX_NORMALMAP,
        MTL_TEX_LIGHTMAP,
-       MTL_TEX_ENVMAP,
+       MTL_TEX_REFLECT,
 
        MTL_TEX_UNKNOWN
 };
 
+enum {
+       MTL_MIRROR_NONE,
+       MTL_MIRROR_AUTO,                // determine mirror plane automatically
+       MTL_MIRROR_AABB_PX,             // plane = AABB +X side
+       MTL_MIRROR_AABB_NX,             // plane = AABB -X side
+       MTL_MIRROR_AABB_PY,             // plane = AABB +Y side
+       MTL_MIRROR_AABB_NY,             // plane = AABB -Y side
+       MTL_MIRROR_AABB_PZ,             // plane = AABB +Z side
+       MTL_MIRROR_AABB_NZ              // plane = AABB -Z side
+};
+
 #define NUM_MTL_TEXTURES       MTL_TEX_UNKNOWN
 
 class Material {
@@ -25,6 +36,9 @@ public:
        float shininess;
        float alpha;
 
+       float reflect;
+       int flat_mirror;        // see MTL_MIRROR_* enumerations above
+
        Texture *stdtex[NUM_MTL_TEXTURES];
        std::vector<Texture*> textures;