Beispiel #1
0
HdComputationSharedPtr
HdSt_MeshTopology::GetQuadrangulateComputationGPU(
    TfToken const &name, HdType dataType, SdfPath const &id)
{
    // check if the quad table is already computed as all-quads.
    if (_quadInfo && _quadInfo->IsAllQuads()) {
        // no need of quadrangulation.
        return HdComputationSharedPtr();
    }
    return HdComputationSharedPtr(
        new HdSt_QuadrangulateComputationGPU(this, name, dataType, id));
}
Beispiel #2
0
HdComputationSharedPtr
HdSt_MeshTopology::GetOsdRefineComputationGPU(TfToken const &name,
                                              HdType dataType)
{
    // for empty topology, we don't need to refine anything.
    if (_topology.GetFaceVertexCounts().size() == 0) {
        return HdComputationSharedPtr();
    }

    if (!TF_VERIFY(_subdivision)) return HdComputationSharedPtr();

    return _subdivision->CreateRefineComputationGPU(this, name, dataType);
}
Beispiel #3
0
HdComputationSharedPtr
Hd_VertexAdjacency::GetSmoothNormalsComputationGPU(TfToken const &srcName,
                                                   TfToken const &dstName,
                                                   GLenum srcDataType,
                                                   GLenum dstDataType)
{
    return HdComputationSharedPtr(new Hd_SmoothNormalsComputationGPU(
                                      this, srcName, dstName,
                                      srcDataType, dstDataType));
}