MCPcopy Create free account
hub / github.com/VirtualGL/virtualgl / makeAnaglyph

Method makeAnaglyph

server/VirtualWin.cpp:631–654  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

629
630
631void VirtualWin::makeAnaglyph(Frame *f, int drawBuf, int stereoMode)
632{
633 int rbuf = LEYE(drawBuf), gbuf = REYE(drawBuf), bbuf = REYE(drawBuf);
634 if(stereoMode == RRSTEREO_GREENMAGENTA)
635 {
636 rbuf = REYE(drawBuf); gbuf = LEYE(drawBuf); bbuf = REYE(drawBuf);
637 }
638 else if(stereoMode == RRSTEREO_BLUEYELLOW)
639 {
640 rbuf = REYE(drawBuf); gbuf = REYE(drawBuf); bbuf = LEYE(drawBuf);
641 }
642 rFrame.init(f->hdr, PF_COMP, f->flags, false);
643 readPixels(0, 0, rFrame.hdr.framew, rFrame.pitch, rFrame.hdr.frameh, GL_RED,
644 rFrame.pf, rFrame.bits, rbuf, false);
645 gFrame.init(f->hdr, PF_COMP, f->flags, false);
646 readPixels(0, 0, gFrame.hdr.framew, gFrame.pitch, gFrame.hdr.frameh,
647 GL_GREEN, gFrame.pf, gFrame.bits, gbuf, false);
648 bFrame.init(f->hdr, PF_COMP, f->flags, false);
649 readPixels(0, 0, bFrame.hdr.framew, bFrame.pitch, bFrame.hdr.frameh, GL_BLUE,
650 bFrame.pf, bFrame.bits, bbuf, false);
651 profAnaglyph.startFrame();
652 f->makeAnaglyph(rFrame, gFrame, bFrame);
653 profAnaglyph.endFrame(f->hdr.framew * f->hdr.frameh, 0, 1);
654}
655
656
657void VirtualWin::makePassive(Frame *f, int drawBuf, GLenum glFormat,

Callers

nothing calls this directly

Calls 4

readPixelsFunction · 0.85
startFrameMethod · 0.80
endFrameMethod · 0.80
initMethod · 0.45

Tested by

no test coverage detected