![]() |
Dandelion 2.0.0
A light-weight 3D builder for educational usage
|
负责执行顶点着色器的工作线程。 更多...
#include <rasterizer_renderer.h>
Public 成员函数 | |
| void | input_vertices (const Eigen::Vector4f &positions, const Eigen::Vector3f &normals) |
| 输入顶点数据到顶点处理队列中 | |
| void | worker_thread () |
| 负责执行顶点着色器的工作线程 | |
Public 属性 | |
| VertexShaderPayload(*) | vertex_shader_ptr (const VertexShaderPayload &payload) |
| 顶点着色器函数指针,指向用于处理顶点数据的着色器函数 | |
Private 属性 | |
| std::queue< VertexShaderPayload > | vertex_queue |
| std::mutex | queue_mutex |
负责执行顶点着色器的工作线程。
| void VertexProcessor::input_vertices | ( | const Eigen::Vector4f & | positions, |
| const Eigen::Vector3f & | normals ) |
输入顶点数据到顶点处理队列中
| positions | 顶点位置坐标 |
| normals | 顶点法线向量 |
| void VertexProcessor::worker_thread | ( | ) |
负责执行顶点着色器的工作线程
不断读取顶点队列中的顶点数据,执行顶点着色器,并将结果存储到顶点着色输出队列中
|
private |
保护顶点队列的互斥锁
|
private |
存储待着色顶点数据的队列
| VertexShaderPayload(*) VertexProcessor::vertex_shader_ptr(const VertexShaderPayload &payload) |
顶点着色器函数指针,指向用于处理顶点数据的着色器函数
| payload | 待着色的顶点数据 |