eqemu

annotate src/material.h @ 12:2656099aff12

added copyright notices and license
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 18 Jul 2014 07:04:21 +0300
parents 977bc1cb055b
children
rev   line source
nuclear@12 1 /*
nuclear@12 2 eqemu - electronic queue system emulator
nuclear@12 3 Copyright (C) 2014 John Tsiombikas <nuclear@member.fsf.org>,
nuclear@12 4 Eleni-Maria Stea <eleni@mutantstargoat.com>
nuclear@12 5
nuclear@12 6 This program is free software: you can redistribute it and/or modify
nuclear@12 7 it under the terms of the GNU General Public License as published by
nuclear@12 8 the Free Software Foundation, either version 3 of the License, or
nuclear@12 9 (at your option) any later version.
nuclear@12 10
nuclear@12 11 This program is distributed in the hope that it will be useful,
nuclear@12 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
nuclear@12 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
nuclear@12 14 GNU General Public License for more details.
nuclear@12 15
nuclear@12 16 You should have received a copy of the GNU General Public License
nuclear@12 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
nuclear@12 18 */
nuclear@3 19 #ifndef MATERIAL_H_
nuclear@3 20 #define MATERIAL_H_
nuclear@3 21
nuclear@3 22 #include "vmath.h"
nuclear@3 23
nuclear@5 24 enum {
nuclear@5 25 TEX_DIFFUSE,
nuclear@5 26 TEX_ENVMAP,
nuclear@5 27
nuclear@5 28 NUM_TEXTURES
nuclear@5 29 };
nuclear@5 30
nuclear@3 31 class Material {
nuclear@3 32 public:
nuclear@6 33 Vector3 emissive;
nuclear@3 34 Vector3 ambient;
nuclear@3 35 Vector3 diffuse;
nuclear@3 36 Vector3 specular;
nuclear@3 37 float shininess;
nuclear@3 38 float alpha;
nuclear@3 39
nuclear@5 40 unsigned int tex[NUM_TEXTURES];
nuclear@5 41 Vector2 tex_scale[NUM_TEXTURES], tex_offset[NUM_TEXTURES];
nuclear@5 42
nuclear@5 43 unsigned int sdr;
nuclear@5 44
nuclear@3 45 Material();
nuclear@3 46
nuclear@3 47 void setup() const;
nuclear@3 48 };
nuclear@3 49
nuclear@5 50 unsigned int load_texture(const char *fname);
nuclear@5 51 unsigned int load_shader_program(const char *vname, const char *pname);
nuclear@5 52
nuclear@3 53 #endif // MATERIAL_H_