示例#1
0
void
Hd_TriangleIndexBuilderComputation::AddBufferSpecs(
    HdBufferSpecVector *specs) const
{
    specs->push_back(HdBufferSpec(HdTokens->indices, GL_INT, 3));
    // triangles don't support ptex indexing (at least for now).
    specs->push_back(HdBufferSpec(HdTokens->primitiveParam, GL_INT, 1));
}
示例#2
0
void
Hd_SmoothNormalsComputationGPU::AddBufferSpecs(HdBufferSpecVector *specs) const
{
    if (_dstDataType == GL_INT_2_10_10_10_REV) {
        specs->push_back(HdBufferSpec(_dstName, _dstDataType, 1));
    } else {
        specs->push_back(HdBufferSpec(_dstName, _dstDataType, 3));
    }
}
示例#3
0
void
Hd_SmoothNormalsComputation::AddBufferSpecs(HdBufferSpecVector *specs) const
{
    // the datatype of normals is same as points (float or double).
    specs->push_back(HdBufferSpec(_dstName,
                                  GetGLComponentDataType(),
                                  (_packed ? 1 : 3)));
}
示例#4
0
/*virtual*/
void
Hd_OsdIndexComputation::AddBufferSpecs(HdBufferSpecVector *specs) const
{
    if (Hd_Subdivision::RefinesToTriangles(_topology->GetScheme())) {
        // triangles (loop)
        specs->push_back(HdBufferSpec(HdTokens->indices, GL_INT, 3));
        specs->push_back(HdBufferSpec(HdTokens->primitiveParam, GL_INT, 3));
    } else if (_topology->RefinesToBSplinePatches()) {
        // bi-cubic bspline patches
        specs->push_back(HdBufferSpec(HdTokens->indices, GL_INT, 16));
        // 3+1 (includes sharpness)
        specs->push_back(HdBufferSpec(HdTokens->primitiveParam, GL_INT, 4));
    } else {
        // quads (catmark, bilinear)
        specs->push_back(HdBufferSpec(HdTokens->indices, GL_INT, 4));
        specs->push_back(HdBufferSpec(HdTokens->primitiveParam, GL_INT, 3));
    }
}
示例#5
0
void
Hd_AdjacencyBuilderForGPUComputation::AddBufferSpecs(
    HdBufferSpecVector *specs) const
{
    specs->push_back(HdBufferSpec(HdTokens->adjacency, GL_INT, 1));
}
示例#6
0
void
Hd_SmoothNormalsComputationGPU::AddBufferSpecs(HdBufferSpecVector *specs) const
{
    specs->push_back(HdBufferSpec(_dstName, _dstDataType, 3));
}
示例#7
0
 virtual void AddBufferSpecs(HdBufferSpecVector *specs) const {
     specs->push_back(HdBufferSpec(_name, _type, 1));
 }