19 #ifndef OST_VERTEX_ARRAY_HH
20 #define OST_VERTEX_ARRAY_HH
44 namespace ost {
namespace gfx {
86 static unsigned int GetFormat();
99 void SetPolyMode(
int m);
101 void SetLighting(
bool f);
102 void SetTwoSided(
bool f);
103 void SetCullFace(
bool f);
104 void SetColorMaterial(
bool f);
105 void SetLineWidth(
float lw);
106 void SetAALines(
bool f);
107 void SetPointSize(
float ps);
108 void SetLineHalo(
float lh);
110 void SetOutlineMode(
int m);
112 void SetOutlineWidth(
float f);
114 void SetOutlineMaterial(
const Material& m);
115 void SetOutlineExpandFactor(
float f);
117 void SetOutlineExpandColor(
const Color& c);
128 unsigned int GetVertexCount()
const;
129 void DumpVertices()
const;
144 void AddSphere(
const SpherePrim& prim,
unsigned int detail);
147 void AddIcoSphere(
const SpherePrim& prim,
unsigned int detail);
149 void AddCylinder(
const CylinderPrim& prim,
unsigned int detail,
bool cap=
false);
163 void SetOpacity(
float o);
169 void RenderPov(
PovState& pov,
const std::string& name);
182 void DrawNormals(
bool f);
188 void CalcNormals(
float smoothf);
190 void CalcFullNormals();
192 void SmoothNormals(
float smoothf);
196 void SmoothVertices(
float smoothf);
214 EntryList entry_list_;
215 IndexList quad_index_list_;
216 IndexList tri_index_list_;
217 IndexList line_index_list_;
218 NTEntryList ntentry_list_;
235 float outline_width_;
237 bool outline_mat_update_;
238 unsigned int outline_mat_dlist_;
239 float outline_exp_factor_;
240 Color outline_exp_color_;
248 unsigned int buffer_id_[7];
252 void draw_ltq(
bool use_buff);
253 void draw_p(
bool use_buff);
255 void draw_line_halo(
bool use_buff);