Sylvain Paris, Adobe
Will Chang, UCSD
Wojciech Jarosz, UCSD
Oleg Kozhushnyan, MIT CSAIL
Wojciech Matusik, Adobe
Matthias Zwicker, UCSD
Frédo Durand, MIT CSAIL
[INT: number of strands] [INT: number of vertices in strand 1] [FLOAT: x1] [FLOAT: y1] [FLOAT: z1] [FLOAT: x2] [FLOAT: y2] [FLOAT: z2] ... [INT: number of vertices in strand 2] [FLOAT: x1] [FLOAT: y1] [FLOAT: z1] [FLOAT: x2] [FLOAT: y2] [FLOAT: z2] ... ...The following C++ code reads this file format. We assume that there is a type implementing a 3D vector (in our case Geometry::Vec3f).
std::deque<Geometry::Vec3f> vertices; /**< Hair vertices */ std::deque<std::deque<int> > lines; /**< Hair strands */ void load_hairstyle( const char *hairFile ) { ifstream in; in.open(hairFile, ios_base::binary); unsigned int nStrands; int currentVertex = 0; in.read((char*)&nStrands, sizeof(unsigned int)); cout << "Reading " << nStrands << " strands." << endl; for (unsigned int strand = 0; strand < nStrands; strand++) { unsigned int numVertices; in.read((char*)&numVertices, sizeof(unsigned int)); // For each strand, first read all of the vertices for (unsigned int i = 0; i < numVertices; i++) { float x, y, z; in.read((char*)&x, sizeof(float)); in.read((char*)&y, sizeof(float)); in.read((char*)&z, sizeof(float)); Geometry::Vec3f vertex(x, y, z); vertices.push_back(vertex); } // Then store a line containing all of those vertices deque<int> line; for (unsigned int vertex = 0; vertex < numVertices; vertex++) { line.push_back(currentVertex++); } lines.push_back(line); } in.close(); }
Each dataset contains two capture sequences, with the following images:
Capture Sequence 0 (32 images): black_0_0_##.png, black_0_1_##.png Capture Sequence 1 (32 images): black_1_0_##.png, black_1_1_##.png
Capture Sequence 0 (2400 images): refl0_###_##.png Capture Sequence 1 (2400 images): refl1_###_##.png
$ cat refl-name_aa refl-name_ab refl-name_ac refl-name_ad refl-name_ae > refl-name.tarwhere "name" is the name of the dataset.
Straight Hair
|
|
Tangled Hair
|
|
Puffy Hair | |
Wavy Hair
|
Calibration Information