- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to get the color of a point inside a quad using rtcInterpolate0. I took the code from the "interpolation" example:
rtcSetGeometryVertexAttributeCount(quadGeom, 1);
rtcSetSharedGeometryBuffer(quadGeom, RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE, 0, RTC_FORMAT_FLOAT3, vertices_color.data(), 0, sizeof(glm::vec3), vertices_color.size());
(.....)
glm::vec3 color(0.0f, 0.0f, 0.0f);
unsigned int gID = query.hit.geomID;
unsigned int pID = query.hit.primID;
float u = query.hit.u;
float v = query.hit.v;
{
rtcInterpolate0(rtcGetGeometry(eScene, gID), pID, u, v, RTC_BUFFER_TYPE_VERTEX_ATTRIBUTE, 0, &color.x, 3);
}
The results I'm getting are correct, but I don't understand what are the u and v values supposed to represent. With triangles, I guess they are barycentric coordinates, but with quads these coordinates do not exist. Is embree dividing each quad into 2 triangles?
Thanks,
Jose
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jose,
Embree is handling a quad as two triangles. Please have a look at the RTC_GEOMETRY_TYPE_QUAD section in the Embree documentation:
https://www.embree.org/api.html#rtc_geometry_type_quad

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page