godot icon indicating copy to clipboard operation
godot copied to clipboard

Add support for external camera feed from external plugin on Android

Open elmajime opened this issue 1 year ago • 5 comments

This MR reflects the implementation of proposal https://github.com/godotengine/godot-proposals/issues/10678

As indicated in the proposal, these changes are needed for the creation of an ARCore plugin basic feature: camera feed display.

elmajime avatar Sep 08 '24 09:09 elmajime

CI failed, you need to fix it and squash the commits after that.

Chaosus avatar Sep 08 '24 16:09 Chaosus

Here's two previous PRs that have aimed to implement GL_TEXTURE_EXTERNAL_OES:

  • https://github.com/godotengine/godot/pull/83519
  • https://github.com/godotengine/godot/pull/89840

One of the important notes from the discussion on the first PR, is that we already have something in the OpenGL renderer that we're calling an "external texture". To avoid confusion, I think we should rename the old TextureStorage::texture_create_external() to something else, and use the term "external" for GL_TEXTURE_EXTERNAL_OES.

On that PR, I gave the following name suggestions:

Maybe:

  • TextureStorage::texture_create_foreign()
  • TextureStorage::texture_create_reference() -- the idea being it "references" a texture created elsewhere
  • TextureStorage::texture_create_remote()
  • TextureStorage::texture_create_third_party()
  • TextureStorage::texture_create_independent()

Naming is hard :-)

dsnopek avatar Sep 09 '24 20:09 dsnopek

This needs to be rebased on top of PR https://github.com/godotengine/godot/pull/96982, now that that has been merged

dsnopek avatar Sep 21 '24 11:09 dsnopek

@dsnopek and @BastiaanOlij, just push force the commit to take into account your comments

elmajime avatar Oct 06 '24 09:10 elmajime

Look good to me!

BastiaanOlij avatar Oct 08 '24 00:10 BastiaanOlij

The commits will need to be squashed before this can be merged; check out the documentation for a guide

Repiteo avatar Oct 29 '24 23:10 Repiteo

The commits will need to be squashed before this can be merged; check out the documentation for a guide

@Repiteo my last fork sync with master seams to have messed up my commit history, do you think I need to do anything more than squashing the fixup?

i.e. can the merge stay or do I need to remove that and rebase instead?

elmajime avatar Oct 30 '24 09:10 elmajime

It should be removed and rebased, yeah. Merging against master is a common beginner's trap for amend/rebase workflows, but it's thankfully one that's relatively easy to resolve. For the sake of clarity: the endgoal is to make the Added external camera feed from external plugin on Android commit the only commit on this PR

Repiteo avatar Oct 30 '24 15:10 Repiteo

Yes I don't know why this latest sync ended up being a merge when all the previous ones where rebase. I will do it manually for now on.

Le mer. 30 oct. 2024, 16:39, Thaddeus Crews @.***> a écrit :

It should be removed and rebased, yeah. Merging against master is a common beginner's trap for amend/rebase workflows, but it's thankfully one that's relatively easy to resolve. For the sake of clarity: the endgoal is to make the Added external camera feed from external plugin on Android commit the only commit on this PR

— Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/pull/96705#issuecomment-2447581238, or unsubscribe https://github.com/notifications/unsubscribe-auth/AK6RF3FBZJKSDBGYKFDKIVLZ6D4T5AVCNFSM6AAAAABN22X32CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBXGU4DCMRTHA . You are receiving this because you authored the thread.Message ID: @.***>

elmajime avatar Oct 30 '24 17:10 elmajime

Thanks! Congratulations on your first contribution! 🎉

Repiteo avatar Nov 05 '24 03:11 Repiteo