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);
123 unsigned int GetVertexCount()
const;
124 void DumpVertices()
const;
139 void AddSphere(
const SpherePrim& prim,
unsigned int detail);
142 void AddIcoSphere(
const SpherePrim& prim,
unsigned int detail);
144 void AddCylinder(
const CylinderPrim& prim,
unsigned int detail,
bool cap=
false);
158 void SetOpacity(
float o);
164 void RenderPov(
PovState& pov,
const std::string& name);
177 void DrawNormals(
bool f);
183 void CalcNormals(
float smoothf);
185 void CalcFullNormals();
187 void SmoothNormals(
float smoothf);
191 void SmoothVertices(
float smoothf);
209 EntryList entry_list_;
210 IndexList quad_index_list_;
211 IndexList tri_index_list_;
212 IndexList line_index_list_;
213 NTEntryList ntentry_list_;
230 float outline_width_;
232 bool outline_mat_update_;
233 unsigned int outline_mat_dlist_;
234 float outline_exp_factor_;
235 Color outline_exp_color_;
242 unsigned int buffer_id_[7];
246 void draw_ltq(
bool use_buff);
247 void draw_p(
bool use_buff);
249 void draw_line_halo(
bool use_buff);