@@ -411,6 +411,8 @@ impl OpenglRenderer {
411
411
412
412
impl InoxRenderer for OpenglRenderer {
413
413
fn on_begin_masks ( & self , masks : & Masks ) {
414
+ self . push_debug_group ( "inox2d - begin masks" ) ;
415
+
414
416
let gl = & self . gl ;
415
417
416
418
unsafe {
@@ -426,23 +428,31 @@ impl InoxRenderer for OpenglRenderer {
426
428
let part_mask_shader = & self . part_mask_shader ;
427
429
self . bind_shader ( part_mask_shader) ;
428
430
part_mask_shader. set_threshold ( gl, masks. threshold . clamp ( 0.0 , 1.0 ) ) ;
431
+
432
+ self . pop_debug_group ( ) ;
429
433
}
430
434
431
435
fn on_begin_mask ( & self , mask : & Mask ) {
436
+ self . push_debug_group ( "inox2d - begin mask" ) ;
437
+
432
438
let gl = & self . gl ;
433
439
unsafe {
434
440
gl. stencil_func ( glow:: ALWAYS , ( mask. mode == MaskMode :: Mask ) as i32 , 0xff ) ;
435
441
}
436
442
}
437
443
438
444
fn on_begin_masked_content ( & self ) {
445
+ self . push_debug_group ( "inox2d - begin masked content" ) ;
446
+
439
447
let gl = & self . gl ;
440
448
unsafe {
441
449
gl. stencil_func ( glow:: EQUAL , 1 , 0xff ) ;
442
450
gl. stencil_mask ( 0x00 ) ;
443
451
444
452
gl. color_mask ( true , true , true , true ) ;
445
453
}
454
+
455
+ self . pop_debug_group ( ) ;
446
456
}
447
457
448
458
fn on_end_mask ( & self ) {
@@ -452,6 +462,8 @@ impl InoxRenderer for OpenglRenderer {
452
462
gl. stencil_func ( glow:: ALWAYS , 1 , 0xff ) ;
453
463
gl. disable ( glow:: STENCIL_TEST ) ;
454
464
}
465
+
466
+ self . pop_debug_group ( ) ;
455
467
}
456
468
457
469
fn draw_textured_mesh_content (
@@ -461,6 +473,8 @@ impl InoxRenderer for OpenglRenderer {
461
473
render_ctx : & TexturedMeshRenderCtx ,
462
474
_id : InoxNodeUuid ,
463
475
) {
476
+ self . push_debug_group ( "inox2d - draw textured content" ) ;
477
+
464
478
let gl = & self . gl ;
465
479
466
480
// TODO: plain masks, meshes as masks without textures
@@ -514,6 +528,8 @@ impl InoxRenderer for OpenglRenderer {
514
528
render_ctx. index_offset as i32 * mem:: size_of :: < u16 > ( ) as i32 ,
515
529
) ;
516
530
}
531
+
532
+ self . pop_debug_group ( ) ;
517
533
}
518
534
519
535
fn begin_composite_content (
@@ -523,6 +539,8 @@ impl InoxRenderer for OpenglRenderer {
523
539
_render_ctx : & CompositeRenderCtx ,
524
540
_id : InoxNodeUuid ,
525
541
) {
542
+ self . push_debug_group ( "inox2d - begin composite content" ) ;
543
+
526
544
self . clear_texture_cache ( ) ;
527
545
528
546
let gl = & self . gl ;
@@ -541,6 +559,10 @@ impl InoxRenderer for OpenglRenderer {
541
559
gl. active_texture ( glow:: TEXTURE0 ) ;
542
560
gl. blend_func ( glow:: ONE , glow:: ONE_MINUS_SRC_ALPHA ) ;
543
561
}
562
+
563
+ self . pop_debug_group ( ) ;
564
+
565
+ self . push_debug_group ( "inox2d - composite content" ) ;
544
566
}
545
567
546
568
fn finish_composite_content (
@@ -550,6 +572,10 @@ impl InoxRenderer for OpenglRenderer {
550
572
_render_ctx : & CompositeRenderCtx ,
551
573
_id : InoxNodeUuid ,
552
574
) {
575
+ self . pop_debug_group ( ) ;
576
+
577
+ self . push_debug_group ( "inox2d - finish composite content" ) ;
578
+
553
579
let gl = & self . gl ;
554
580
555
581
self . clear_texture_cache ( ) ;
@@ -592,12 +618,16 @@ impl InoxRenderer for OpenglRenderer {
592
618
unsafe {
593
619
gl. draw_elements ( glow:: TRIANGLES , 6 , glow:: UNSIGNED_SHORT , 0 ) ;
594
620
}
621
+
622
+ self . pop_debug_group ( ) ;
595
623
}
596
624
}
597
625
598
626
impl OpenglRenderer {
599
627
/// Update the renderer with latest puppet data.
600
628
pub fn on_begin_draw ( & self , puppet : & Puppet ) {
629
+ self . push_debug_group ( "inox2d - begin draw" ) ;
630
+
601
631
let gl = & self . gl ;
602
632
603
633
// TODO: calculate this matrix only once per draw pass.
@@ -619,14 +649,23 @@ impl OpenglRenderer {
619
649
gl. enable ( glow:: BLEND ) ;
620
650
gl. disable ( glow:: DEPTH_TEST ) ;
621
651
}
652
+
653
+ self . pop_debug_group ( ) ;
654
+
655
+ self . push_debug_group ( "inox2d - draw" ) ;
622
656
}
623
657
624
658
/// Renderer cleaning up after one frame.
625
659
pub fn on_end_draw ( & self , _puppet : & Puppet ) {
626
- let gl = & self . gl ;
660
+ self . pop_debug_group ( ) ;
627
661
662
+ self . push_debug_group ( "inox2d - end draw" ) ;
663
+
664
+ let gl = & self . gl ;
628
665
unsafe {
629
666
gl. bind_vertex_array ( None ) ;
630
667
}
668
+
669
+ self . pop_debug_group ( ) ;
631
670
}
632
671
}
0 commit comments