| 125 | } |
| 126 | |
| 127 | size_t getNumPrimitives(ISPCScene* scene_in) |
| 128 | { |
| 129 | size_t numPrimitives = 0; |
| 130 | size_t numGeometries = scene_in->numGeometries; |
| 131 | for (size_t i=0; i<numGeometries; i++) |
| 132 | { |
| 133 | ISPCGeometry* geometry = scene_in->geometries[i]; |
| 134 | if (geometry->type == SUBDIV_MESH) { |
| 135 | numPrimitives += ((ISPCSubdivMesh*)geometry)->numFaces; |
| 136 | } |
| 137 | else if (geometry->type == TRIANGLE_MESH) { |
| 138 | numPrimitives += ((ISPCTriangleMesh*)geometry)->numTriangles; |
| 139 | } |
| 140 | else if (geometry->type == QUAD_MESH) { |
| 141 | numPrimitives += ((ISPCQuadMesh*)geometry)->numQuads; |
| 142 | } |
| 143 | else if (geometry->type == CURVES) { |
| 144 | numPrimitives += ((ISPCHairSet*)geometry)->numHairs; |
| 145 | } |
| 146 | else |
| 147 | assert(false); |
| 148 | } |
| 149 | return numPrimitives; |
| 150 | } |
| 151 | |
| 152 | size_t getNumObjects(ISPCScene* scene_in) |
| 153 | { |
no outgoing calls
no test coverage detected