23#ifndef VCL_BGFX_PRIMITIVES_LINES_CPU_GENERATED_LINES_H
24#define VCL_BGFX_PRIMITIVES_LINES_CPU_GENERATED_LINES_H
26#include <vclib/bgfx/buffers.h>
27#include <vclib/bgfx/context.h>
29namespace vcl::detail {
33class CPUGeneratedLines
35 bgfx::ProgramHandle mLinesPH =
38 .getProgram<VertFragProgram::CUSTOM_CPU_LINES>();
40 VertexBuffer mVertexCoords;
41 VertexBuffer mVertexNormals;
42 VertexBuffer mVertexColors;
43 IndexBuffer mLineColors;
48 CPUGeneratedLines() =
default;
51 const std::vector<float>& vertCoords,
52 const std::vector<float>& vertNormals = std::vector<float>(),
53 const std::vector<uint>& vertColors = std::vector<uint>(),
54 const std::vector<uint>& lineColors = std::vector<uint>());
57 const std::vector<float>& vertCoords,
58 const std::vector<uint>& lineIndices,
59 const std::vector<float>& vertNormals = std::vector<float>(),
60 const std::vector<uint>& vertColors = std::vector<uint>(),
61 const std::vector<uint>& lineColors = std::vector<uint>());
63 void swap(CPUGeneratedLines& other);
65 friend void swap(CPUGeneratedLines& a, CPUGeneratedLines& b) { a.swap(b); }
68 const std::vector<float>& vertCoords,
69 const std::vector<float>& vertNormals = std::vector<float>(),
70 const std::vector<uint>& vertColors = std::vector<uint>(),
71 const std::vector<uint>& lineColors = std::vector<uint>());
74 const std::vector<float>& vertCoords,
75 const std::vector<uint>& lineIndices,
76 const std::vector<float>& vertNormals = std::vector<float>(),
77 const std::vector<uint>& vertColors = std::vector<uint>(),
78 const std::vector<uint>& lineColors = std::vector<uint>());
80 void draw(uint viewId)
const;
85 const std::vector<float>& vertCoords,
86 const std::vector<uint>& lineIndices,
87 const std::vector<float>& vertNormals,
88 const std::vector<uint>& vertColors,
89 const std::vector<uint>& lineColors);
static Context & instance(void *windowHandle=nullptr, void *displayHandle=nullptr)
Return the context instance.
Definition context.cpp:371