2 * Copyright (C) 2003 Robert Kooima
4 * NEVERBALL is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published
6 * by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
18 #include "solid_base.h"
19 #include "solid_vary.h"
22 * Rendered solid data.
25 /*---------------------------------------------------------------------------*/
29 const struct b_mtrl *base;
31 GLuint o; /* OpenGL texture object */
36 const struct b_body *base;
38 GLuint ol; /* opaque geometry list */
39 GLuint tl; /* transparent geometry list */
40 GLuint rl; /* reflective geometry list */
41 GLuint sl; /* shadowed geometry list */
46 const struct s_base *base;
47 const struct s_vary *vary;
58 /*---------------------------------------------------------------------------*/
60 int sol_load_draw(struct s_draw *, const struct s_vary *, int);
61 void sol_free_draw(struct s_draw *);
63 void sol_back(const struct s_draw *, float, float, float);
64 void sol_refl(const struct s_draw *);
65 void sol_draw(const struct s_draw *, int, int);
66 void sol_bill(const struct s_draw *, const float *, float);
67 void sol_shad(const struct s_draw *, int);
69 /*---------------------------------------------------------------------------*/
78 int sol_load_full(struct s_full *, const char *, int);
79 void sol_free_full(struct s_full *);
81 /*---------------------------------------------------------------------------*/