Blender V4.3
eval_output_cpu.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 Blender Foundation
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 *
5 * Author: Sergey Sharybin. */
6
7#ifndef OPENSUBDIV_EVAL_OUTPUT_CPU_H_
8#define OPENSUBDIV_EVAL_OUTPUT_CPU_H_
9
11
12#include <opensubdiv/osd/cpuEvaluator.h>
13#include <opensubdiv/osd/cpuPatchTable.h>
14#include <opensubdiv/osd/cpuVertexBuffer.h>
15
16using OpenSubdiv::Far::StencilTable;
17using OpenSubdiv::Osd::CpuEvaluator;
18using OpenSubdiv::Osd::CpuVertexBuffer;
19
20namespace blender::opensubdiv {
21
22// NOTE: Define as a class instead of typedef to make it possible
23// to have anonymous class in opensubdiv_evaluator_internal.h
24class CpuEvalOutput : public VolatileEvalOutput<CpuVertexBuffer,
25 CpuVertexBuffer,
26 StencilTable,
27 CpuPatchTable,
28 CpuEvaluator> {
29 public:
30 CpuEvalOutput(const StencilTable *vertex_stencils,
31 const StencilTable *varying_stencils,
32 const std::vector<const StencilTable *> &all_face_varying_stencils,
33 const int face_varying_width,
34 const PatchTable *patch_table,
35 EvaluatorCache *evaluator_cache = NULL)
36 : VolatileEvalOutput<CpuVertexBuffer,
37 CpuVertexBuffer,
38 StencilTable,
39 CpuPatchTable,
40 CpuEvaluator>(vertex_stencils,
41 varying_stencils,
42 all_face_varying_stencils,
43 face_varying_width,
44 patch_table,
45 evaluator_cache)
46 {
47 }
48};
49
50} // namespace blender::opensubdiv
51
52#endif // OPENSUBDIV_EVAL_OUTPUT_CPU_H_
CpuEvalOutput(const StencilTable *vertex_stencils, const StencilTable *varying_stencils, const std::vector< const StencilTable * > &all_face_varying_stencils, const int face_varying_width, const PatchTable *patch_table, EvaluatorCache *evaluator_cache=NULL)
#define NULL