Fix draw_primitive ignoring texture argument
This commit is contained in:
parent
f77f7d4ba9
commit
0c4fd03f40
2 changed files with 4 additions and 2 deletions
|
@ -993,13 +993,15 @@ void RasterizerCanvasGLES3::_record_item_commands(const Item *p_item, const Tran
|
|||
|
||||
if (primitive->point_count != state.canvas_instance_batches[state.current_batch_index].primitive_points || state.canvas_instance_batches[state.current_batch_index].command_type != Item::Command::TYPE_PRIMITIVE) {
|
||||
_new_batch(r_batch_broken, r_index);
|
||||
state.canvas_instance_batches[state.current_batch_index].tex = RID();
|
||||
state.canvas_instance_batches[state.current_batch_index].tex = primitive->texture;
|
||||
state.canvas_instance_batches[state.current_batch_index].primitive_points = primitive->point_count;
|
||||
state.canvas_instance_batches[state.current_batch_index].command_type = Item::Command::TYPE_PRIMITIVE;
|
||||
state.canvas_instance_batches[state.current_batch_index].command = c;
|
||||
state.canvas_instance_batches[state.current_batch_index].shader_variant = CanvasShaderGLES3::MODE_PRIMITIVE;
|
||||
}
|
||||
|
||||
_prepare_canvas_texture(state.canvas_instance_batches[state.current_batch_index].tex, state.canvas_instance_batches[state.current_batch_index].filter, state.canvas_instance_batches[state.current_batch_index].repeat, r_index, texpixel_size);
|
||||
|
||||
for (uint32_t j = 0; j < MIN(3u, primitive->point_count); j++) {
|
||||
state.instance_data_array[r_index].points[j * 2 + 0] = primitive->points[j].x;
|
||||
state.instance_data_array[r_index].points[j * 2 + 1] = primitive->points[j].y;
|
||||
|
|
|
@ -706,7 +706,7 @@ void RendererCanvasRenderRD::_render_item(RD::DrawListID p_draw_list, RID p_rend
|
|||
|
||||
//bind textures
|
||||
|
||||
_bind_canvas_texture(p_draw_list, RID(), current_filter, current_repeat, last_texture, push_constant, texpixel_size);
|
||||
_bind_canvas_texture(p_draw_list, primitive->texture, current_filter, current_repeat, last_texture, push_constant, texpixel_size);
|
||||
|
||||
RD::get_singleton()->draw_list_bind_index_array(p_draw_list, primitive_arrays.index_array[MIN(3u, primitive->point_count) - 1]);
|
||||
|
||||
|
|
Loading…
Reference in a new issue