| 380 | }; |
| 381 | |
| 382 | void createGeometryDescProcedural(ze_rtas_builder_procedural_geometry_info_exp_t* out, Scene* scene, Geometry* geom) |
| 383 | { |
| 384 | uint32_t numPrimitives = geom->size(); |
| 385 | if (GridMesh* mesh = dynamic_cast<GridMesh*>(geom)) |
| 386 | numPrimitives = mesh->getNumTotalQuads(); // FIXME: slow |
| 387 | |
| 388 | memset(out,0,sizeof(ze_rtas_builder_procedural_geometry_info_exp_t)); |
| 389 | out->geometryType = ZE_RTAS_BUILDER_GEOMETRY_TYPE_EXP_PROCEDURAL; |
| 390 | out->geometryFlags = 0; |
| 391 | out->geometryMask = mask32_to_mask8(geom->mask); |
| 392 | out->primCount = numPrimitives; |
| 393 | out->pfnGetBoundsCb = getProceduralAABB; |
| 394 | out->pGeomUserPtr = geom; |
| 395 | } |
| 396 | |
| 397 | void createGeometryDesc(GEOMETRY_INSTANCE_DESC* out, Scene* scene, Instance* geom) |
| 398 | { |
no test coverage detected