307 shader.buffer.allocate(shader.cachedData.data(), bytes); |
307 shader.buffer.allocate(shader.cachedData.data(), bytes); |
308 shader.buffer.release(); |
308 shader.buffer.release(); |
309 } |
309 } |
310 } |
310 } |
311 |
311 |
312 ModelId gl::idFromUcharColor(const std::array<GLubyte, 3>& data) |
312 ElementId gl::idFromUcharColor(const std::array<GLubyte, 3>& data) |
313 { |
313 { |
314 return { |
314 return { |
315 static_cast<std::int32_t>(data[0]) | |
315 static_cast<std::int32_t>(data[0]) | |
316 static_cast<std::int32_t>(data[1]) << 8 | |
316 static_cast<std::int32_t>(data[1]) << 8 | |
317 static_cast<std::int32_t>(data[2]) << 16 |
317 static_cast<std::int32_t>(data[2]) << 16 |
330 ModelShaders::ShaderObject& shaderObject = shaders->shaderObjects[static_cast<int>(arrayClass)]; |
330 ModelShaders::ShaderObject& shaderObject = shaders->shaderObjects[static_cast<int>(arrayClass)]; |
331 shaderObject.program->release(); |
331 shaderObject.program->release(); |
332 shaderObject.vertexArray.release(); |
332 shaderObject.vertexArray.release(); |
333 } |
333 } |
334 |
334 |
335 void gl::setModelShaderSelectedObjects(gl::ModelShaders* shaders, const QSet<ModelId> &ids) |
335 void gl::setModelShaderSelectedObjects(gl::ModelShaders* shaders, const QSet<ElementId> &ids) |
336 { |
336 { |
337 for (ModelShaders::ShaderObject& object : shaders->shaderObjects) |
337 for (ModelShaders::ShaderObject& object : shaders->shaderObjects) |
338 { |
338 { |
339 std::vector<ModelShaders::Vertex>& vector = object.cachedData; |
339 std::vector<ModelShaders::Vertex>& vector = object.cachedData; |
340 for (ModelShaders::Vertex& vertex : vector) |
340 for (ModelShaders::Vertex& vertex : vector) |