00001 // OMICRON ENGINE HEADER FILE 00002 // 00003 // -------------------------------------------------------------------------- 00004 // Copyright (C) 2001-2002 by Bjoern Paetzel <kolrabi@gmx.de> 00005 // 00006 // This file is part of the Omicron Engine. 00007 // 00008 // The Omicron Engine is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by the 00010 // Free Software Foundation; either version 2 of the License, or (at your 00011 // option) any later version. 00012 // 00013 // The Omicron Engine is distributed in the hope that it will be useful, but 00014 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00015 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 // for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License along 00019 // with The Omicron Engine; if not, write to the Free Software Foundation, 00020 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 // 00022 // -------------------------------------------------------------------------- 00023 // Last modified: $Date: 2002/12/07 19:02:18 $ 00024 // By : $Author: kolrabi $ 00025 // $Id: model.h,v 1.1.1.1 2002/12/07 19:02:18 kolrabi Exp $ 00026 00027 /* 00028 00029 $Log: model.h,v $ 00030 Revision 1.1.1.1 2002/12/07 19:02:18 kolrabi 00031 initial release 00032 00033 00034 */ 00035 00043 /**************************************************************************** 00044 **************************************************************************** 00045 * TYPES ******************************************************************** 00046 **************************************************************************** 00047 ****************************************************************************/ 00048 00049 #ifndef OMICRON_MODEL_TYPES_DEFINED 00050 #define OMICRON_MODEL_TYPES_DEFINED 00051 00052 class model_c 00054 { 00055 protected: 00056 00057 vertex_t *drawvertices; 00058 int drawvertcount; 00059 struct shader_s *shader; 00060 00061 public: 00062 00063 virtual bool 00064 load(const char *filename) = 0; 00065 00066 virtual void 00067 unload() = 0; 00068 00069 virtual void 00070 set_frame(float frame) = 0; 00071 00072 virtual void 00073 draw(); 00074 00075 void 00076 set_shader(struct shader_s *s); 00077 00078 struct 00079 shader_s *get_shader(); 00080 00081 virtual ulong 00082 get_frame_count() = 0; 00083 00084 virtual ~model_c() {}; 00085 }; 00086 00087 #endif 00088 00089 #include "md2.h" 00090 #include "kmf.h"
1.2.18