OpenSubdiv
Loading...
Searching...
No Matches
tbbKernel.h
Go to the documentation of this file.
1//
2// Copyright 2013 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://opensubdiv.org/license.
6//
7
8#ifndef OPENSUBDIV3_OSD_TBB_KERNEL_H
9#define OPENSUBDIV3_OSD_TBB_KERNEL_H
10
11#include "../version.h"
13#include "../far/patchParam.h"
14
15namespace OpenSubdiv {
16namespace OPENSUBDIV_VERSION {
17
18namespace Osd {
19
20struct PatchArray;
21struct PatchCoord;
22struct PatchParam;
23struct BufferDescriptor;
24
25void
26TbbEvalStencils(float const * src, BufferDescriptor const &srcDesc,
27 float * dst, BufferDescriptor const &dstDesc,
28 int const * sizes,
29 int const * offsets,
30 int const * indices,
31 float const * weights,
32 int start, int end);
33
34void
35TbbEvalStencils(float const * src, BufferDescriptor const &srcDesc,
36 float * dst, BufferDescriptor const &dstDesc,
37 float * dstDu, BufferDescriptor const &dstDuDesc,
38 float * dstDv, BufferDescriptor const &dstDvDesc,
39 int const * sizes,
40 int const * offsets,
41 int const * indices,
42 float const * weights,
43 float const * duWeights,
44 float const * dvWeights,
45 int start, int end);
46
47void
48TbbEvalStencils(float const * src, BufferDescriptor const &srcDesc,
49 float * dst, BufferDescriptor const &dstDesc,
50 float * dstDu, BufferDescriptor const &dstDuDesc,
51 float * dstDv, BufferDescriptor const &dstDvDesc,
52 float * dstDuu, BufferDescriptor const &dstDuuDesc,
53 float * dstDuv, BufferDescriptor const &dstDuvDesc,
54 float * dstDvv, BufferDescriptor const &dstDvvDesc,
55 int const * sizes,
56 int const * offsets,
57 int const * indices,
58 float const * weights,
59 float const * duWeights,
60 float const * dvWeights,
61 float const * duuWeights,
62 float const * duvWeights,
63 float const * dvvWeights,
64 int start, int end);
65
66void
67TbbEvalPatches(float const *src, BufferDescriptor const &srcDesc,
68 float *dst, BufferDescriptor const &dstDesc,
69 float *dstDu, BufferDescriptor const &dstDuDesc,
70 float *dstDv, BufferDescriptor const &dstDvDesc,
71 int numPatchCoords,
72 const PatchCoord *patchCoords,
73 const PatchArray *patchArrayBuffer,
74 const int *patchIndexBuffer,
75 const PatchParam *patchParamBuffer);
76
77void
78TbbEvalPatches(float const *src, BufferDescriptor const &srcDesc,
79 float *dst, BufferDescriptor const &dstDesc,
80 float *dstDu, BufferDescriptor const &dstDuDesc,
81 float *dstDv, BufferDescriptor const &dstDvDesc,
82 float *dstDuu, BufferDescriptor const &dstDuuDesc,
83 float *dstDuv, BufferDescriptor const &dstDuvDesc,
84 float *dstDvv, BufferDescriptor const &dstDvvDesc,
85 int numPatchCoords,
86 const PatchCoord *patchCoords,
87 const PatchArray *patchArrayBuffer,
88 const int *patchIndexBuffer,
89 const PatchParam *patchParamBuffer);
90
91} // end namespace Osd
92
93} // end namespace OPENSUBDIV_VERSION
94using namespace OPENSUBDIV_VERSION;
95
96} // end namespace OpenSubdiv
97
98#endif // OPENSUBDIV3_OSD_TBB_KERNEL_H
void TbbEvalPatches(float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, float *dstDu, BufferDescriptor const &dstDuDesc, float *dstDv, BufferDescriptor const &dstDvDesc, int numPatchCoords, const PatchCoord *patchCoords, const PatchArray *patchArrayBuffer, const int *patchIndexBuffer, const PatchParam *patchParamBuffer)
void TbbEvalStencils(float const *src, BufferDescriptor const &srcDesc, float *dst, BufferDescriptor const &dstDesc, int const *sizes, int const *offsets, int const *indices, float const *weights, int start, int end)
BufferDescriptor is a struct which describes buffer elements in interleaved data buffers....
Coordinates set on a patch table.
Definition types.h:25