mirror of
https://github.com/godotengine/godot.git
synced 2025-10-26 03:04:31 +00:00
Implement the count parameter in RenderingServer.canvas_item_add_triangle_array()
This commit is contained in:
parent
09fcbb8645
commit
101dc9868f
8 changed files with 20 additions and 18 deletions
|
|
@ -100,7 +100,7 @@ void RendererCanvasRenderRD::_update_transform_to_mat4(const Transform3D &p_tran
|
|||
p_mat4[15] = 1;
|
||||
}
|
||||
|
||||
RendererCanvasRender::PolygonID RendererCanvasRenderRD::request_polygon(const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, const Vector<int> &p_bones, const Vector<float> &p_weights) {
|
||||
RendererCanvasRender::PolygonID RendererCanvasRenderRD::request_polygon(const Vector<int> &p_indices, const Vector<Point2> &p_points, const Vector<Color> &p_colors, const Vector<Point2> &p_uvs, const Vector<int> &p_bones, const Vector<float> &p_weights, int p_count) {
|
||||
// Care must be taken to generate array formats
|
||||
// in ways where they could be reused, so we will
|
||||
// put single-occurring elements first, and repeated
|
||||
|
|
@ -311,14 +311,14 @@ RendererCanvasRender::PolygonID RendererCanvasRenderRD::request_polygon(const Ve
|
|||
if (p_indices.size()) {
|
||||
//create indices, as indices were requested
|
||||
Vector<uint8_t> index_buffer;
|
||||
index_buffer.resize(p_indices.size() * sizeof(int32_t));
|
||||
index_buffer.resize(p_count * sizeof(int32_t));
|
||||
{
|
||||
uint8_t *w = index_buffer.ptrw();
|
||||
memcpy(w, p_indices.ptr(), sizeof(int32_t) * p_indices.size());
|
||||
}
|
||||
pb.index_buffer = RD::get_singleton()->index_buffer_create(p_indices.size(), RD::INDEX_BUFFER_FORMAT_UINT32, index_buffer);
|
||||
pb.indices = RD::get_singleton()->index_array_create(pb.index_buffer, 0, p_indices.size());
|
||||
pb.primitive_count = p_indices.size();
|
||||
pb.index_buffer = RD::get_singleton()->index_buffer_create(p_count, RD::INDEX_BUFFER_FORMAT_UINT32, index_buffer);
|
||||
pb.indices = RD::get_singleton()->index_array_create(pb.index_buffer, 0, p_count);
|
||||
pb.primitive_count = p_count;
|
||||
}
|
||||
|
||||
pb.vertex_format_id = vertex_id;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue