nuclear@3: #ifndef MATERIAL_H_ nuclear@3: #define MATERIAL_H_ nuclear@3: nuclear@3: #include "vmath.h" nuclear@3: nuclear@5: enum { nuclear@5: TEX_DIFFUSE, nuclear@5: TEX_ENVMAP, nuclear@5: nuclear@5: NUM_TEXTURES nuclear@5: }; nuclear@5: nuclear@3: class Material { nuclear@3: public: nuclear@3: Vector3 ambient; nuclear@3: Vector3 diffuse; nuclear@3: Vector3 specular; nuclear@3: float shininess; nuclear@3: float alpha; nuclear@3: nuclear@5: unsigned int tex[NUM_TEXTURES]; nuclear@5: Vector2 tex_scale[NUM_TEXTURES], tex_offset[NUM_TEXTURES]; nuclear@5: nuclear@5: unsigned int sdr; nuclear@5: nuclear@3: Material(); nuclear@3: nuclear@3: void setup() const; nuclear@3: }; nuclear@3: nuclear@5: unsigned int load_texture(const char *fname); nuclear@5: unsigned int load_shader_program(const char *vname, const char *pname); nuclear@5: nuclear@3: #endif // MATERIAL_H_