Loading [MathJax]/jax/output/HTML-CSS/config.js
gldemo
All Classes Functions Variables Modules Pages
LineRenderer.h
1 #pragma once
2 #include "Renderer.h"
3 #include "vertex.h"
4 
10 class LineRenderer :
11  public Renderer
12 {
13 
14 private:
15  void applyVertices();
16 
17  QOpenGLBuffer* m_vertexBuffer = NULL;
18  bool modified = false;
19 
20  std::vector<Vertex> vertices;
21 
22 public:
23  QString name() const override { return "LineRenderer"; };
24  // 线宽
25  //float lineWidth = 2.0f;
26  // 是否连续
27  //bool continuous = true;
29  QVector3D highlightColor = { 1.0, 0.5, 0.0 };
31  QOpenGLShaderProgram* shader = NULL;
32 
33  //ctor
34  LineRenderer();
35 
36  void onRender(OpenGLFunctions* gl, glm::mat4 projection, glm::mat4 view, glm::mat4 model) override;
37 
38  void onPropertyChange(const QString& key, const QVariant& original) override;
39 
40  void setVertices(const std::vector<Vertex>& vertices);
41 };
42 
Definition: Renderer.h:18
QVector3D highlightColor
高亮的颜色
Definition: LineRenderer.h:29
渲染一系列线段
Definition: LineRenderer.h:10
void onPropertyChange(const QString &key, const QVariant &original) override
有属性被更改时被调用一次
Definition: LineRenderer.cpp:82
QOpenGLShaderProgram * shader
使用的着色器,默认会被设为default.vert/default.frag
Definition: LineRenderer.h:31
QString name() const override
该类型的名称,应由子类重写
Definition: LineRenderer.h:23
void onRender(OpenGLFunctions *gl, glm::mat4 projection, glm::mat4 view, glm::mat4 model) override
渲染事件,每帧会被调用
Definition: LineRenderer.cpp:32