itchio / capsule

🎬 Cross-platform hotkey short video capture for games
GNU General Public License v2.0
177 stars 14 forks source link

Drawing overlay influences capture - macOS 10.12.4 #50

Closed WetDesertRock closed 7 years ago

WetDesertRock commented 7 years ago

To replicate, check out most recent revision (278d75be28fd84aa0f18d958430499c8e4b21177), then build, and run a basic LOVE game. When recording the entire image starts fading in and out, and a large red/black/white(?) square flashes in the right bottom part of the screen (not visible in recording). As this appears to be a regression I tried to narrow down when it happened, the best I could come up with is that my guess is that it started between ec2718c02a485fc41ea8cc77afbe77b40874941c and 735da5eb456ee8b7270d32dcc4c205210906f93b. A lot of those builds weren't recording so its hard to narrow it down much more.

Works as expected in cbe5e63d9ebaabc49d337b0a0b90b4e233e6fc93

Sorry if this bug report isn't as complete, it is getting made during LD after all.

WetDesertRock commented 7 years ago

This can be seen in https://twitter.com/WetDesertRock/status/855646629487038464

WetDesertRock commented 7 years ago

Here is a sample .love (renamed as .zip because of github requirements) LD38_WDR.zip

fasterthanlime commented 7 years ago

Thanks for all the details!

Can you post the /tmp/capsule.log.txt file as a gist?

edit: I'm mostly curious in the OpenGL version - afaict, glBindVertexArrayAPPLE should only be used on opengl 2.x contexts. wouldn't explain fading but eh, I'll investigate anything

fasterthanlime commented 7 years ago

I'm also interested in whether it happens if you comment out the call to DrawOverlay

(I only have access to a macOS VM so you might beat me to the punch!)

WetDesertRock commented 7 years ago

capsule.log.txt (without commented out DrawOverlay). https://gist.github.com/WetDesertRock/003ddeda03befaf799da21d2bebbd4b7

Commenting out drawoverlay (gl_capture.cc:885) fixes the issue.

fasterthanlime commented 7 years ago

@WetDesertRock Should be all good as of 47f6a5f1199c9d8d96ad00621f591bb5b68b18c1 - at least, I'm able to capture LD38_WDR without issues now :)

Turns out the currently bound texture was overwritten by DrawOverlay, so at some point the dummy cycling texture I was using to test overlay was probably used to filter the actual game render - hence the fades :)

Enjoy & good luck with your Ludum Dare entry!