MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / printUnrenderedPixels

Method printUnrenderedPixels

Engine/Image.cpp:613–673  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

611
612#ifdef DEBUG
613void
614Image::printUnrenderedPixels(const RectI& roi) const
615{
616 if (!_useBitmap) {
617 return;
618 }
619 QReadLocker k(&_entryLock);
620 const char* bm = _bitmap.getBitmapAt(roi.x1, roi.y1);
621 int roiw = roi.x2 - roi.x1;
622 int boundsW = _bitmap.getBounds().width();
623 RectD bboxUnrendered;
624 bboxUnrendered.setupInfinity();
625 RectD bboxUnavailable;
626 bboxUnavailable.setupInfinity();
627
628 bool hasUnrendered = false;
629 bool hasUnavailable = false;
630
631 for ( int y = roi.y1; y < roi.y2; ++y,
632 bm += (boundsW - roiw) ) {
633 for (int x = roi.x1; x < roi.x2; ++x, ++bm) {
634 if (*bm == 0) {
635 if (x < bboxUnrendered.x1) {
636 bboxUnrendered.x1 = x;
637 }
638 if (x > bboxUnrendered.x2) {
639 bboxUnrendered.x2 = x;
640 }
641 if (y < bboxUnrendered.y1) {
642 bboxUnrendered.y1 = y;
643 }
644 if (y > bboxUnrendered.y2) {
645 bboxUnrendered.y2 = y;
646 }
647 hasUnrendered = true;
648 } else if (*bm == PIXEL_UNAVAILABLE) {
649 if (x < bboxUnavailable.x1) {
650 bboxUnavailable.x1 = x;
651 }
652 if (x > bboxUnavailable.x2) {
653 bboxUnavailable.x2 = x;
654 }
655 if (y < bboxUnavailable.y1) {
656 bboxUnavailable.y1 = y;
657 }
658 if (y > bboxUnavailable.y2) {
659 bboxUnavailable.y2 = y;
660 }
661 hasUnavailable = true;
662 }
663 } // for x
664 } // for y
665 if (hasUnrendered) {
666 qDebug() << "Unrenderer pixels in the following region:";
667 bboxUnrendered.debug();
668 }
669 if (hasUnavailable) {
670 qDebug() << "Unavailable pixels in the following region:";

Callers 1

renderRoIMethod · 0.80

Calls 5

setupInfinityMethod · 0.80
getBitmapAtMethod · 0.45
widthMethod · 0.45
getBoundsMethod · 0.45
debugMethod · 0.45

Tested by

no test coverage detected