diff options
Diffstat (limited to 'src/core/model.cc')
-rw-r--r-- | src/core/model.cc | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/core/model.cc b/src/core/model.cc index 1e571c3..52f0dde 100644 --- a/src/core/model.cc +++ b/src/core/model.cc @@ -453,16 +453,31 @@ void Model::make_face(math::Plane3f *face, std::vector<math::Plane3f *> & planes color = 0; } else color = new math::Color(1.0f, 0.0, 1.0f); - + + /* + // split face into triangles + while (vl.size() >2 ) { + std::vector<Vector3f *>::iterator v0 = vl.begin(); + std::vector<Vector3f *>::reverse_iterator vn = vl.rbegin(); + std::vector<Vector3f *>::reverse_iterator vn1 = vl.rbegin(); + ++vn1; + */ Face *mf = new Face(face->normal()*-1, color); - if (color) delete color; - for (std::vector<Vector3f *>::iterator it = vl.begin(); it != vl.end(); it++) { mf->add_vertex(*(*it) * model_scale); } - - //con_debug << "adding face\n"; add_face(mf); + /* + mf->add_vertex(*(*vn) * model_scale); + mf->add_vertex(*(*v0) * model_scale); + mf->add_vertex(*(*vn1) * model_scale); + add_face(mf); + + vl.pop_back(); + } + */ + + if (color) delete color; } else { con_debug << "Unresolved face!\n"; } |