artoolkitx / jsartoolkit5

Javascript ARToolKit v5.x
https://artoolkitx.github.io/jsartoolkit5/examples/
Other
292 stars 69 forks source link

Adding NFT ( Natural Feature Tracking ) to the master branch #86

Closed kalwalt closed 4 years ago

kalwalt commented 4 years ago

In this PR we wants to add the NFT ( Natural Feature Tracking ) to the master branch of jsartoolkit5 !!! :100: :raised_hands: it is the development started in this my PR This PR restore the old NFT code from the nft branch with the latest from the https://github.com/artoolkitx/jsartoolkit5/ master branch. In detail the wasm code, and an enhanced version with web workers. @ThorstenBux @nicolocarpignoli It is almost done but we need to check for compatibility, possible issues while merging and other little details in the code.

to do list for this PR:

other part of to do list here

build with emscripten 1.38.44-fastcomp

ThorstenBux commented 4 years ago

Wow amazing, thanks

Get Outlook for iOShttps://aka.ms/o0ukef


From: Walter Perdan notifications@github.com Sent: Saturday, December 14, 2019 9:25:58 AM To: artoolkitx/jsartoolkit5 jsartoolkit5@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [artoolkitx/jsartoolkit5] Adding NFT ( Natural Feature Tracking ) to the master branch (#86)

In this PR we wants to add the NFT ( Natrual Feature Tracking ) to the master branch of jsartoolkit5 This PR restore the old NFT code from the nft branch with the latest from the https://github.com/artoolkitx/jsartoolkit5/https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fartoolkitx%2Fjsartoolkit5%2F&data=02%7C01%7C%7C00af949cb181461d2f1f08d7800aa9eb%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637118655589482259&sdata=P4377%2FOz4mOmtiZkNkl1ZqI6Enhu3DSjftXhc69OP48%3D&reserved=0 master branch. In detail the wasm code, and an enhanced version with web workers. It is almost done but we need to check for compatibility, possible issues while merging and other little details in the code.


You can view, comment on, or merge this pull request online at:

https://github.com/artoolkitx/jsartoolkit5/pull/86https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fartoolkitx%2Fjsartoolkit5%2Fpull%2F86&data=02%7C01%7C%7C00af949cb181461d2f1f08d7800aa9eb%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637118655589492268&sdata=1x7osVLVjT1jPADEzKn9cS7LyvsWa7f51FLabS2cHKE%3D&reserved=0

Commit Summary

File Changes

Patch Links:

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fartoolkitx%2Fjsartoolkit5%2Fpull%2F86%3Femail_source%3Dnotifications%26email_token%3DAD765PCU4IDACRTKWT7IGIDQYPVVNA5CNFSM4J2VYD32YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IANTUPQ&data=02%7C01%7C%7C00af949cb181461d2f1f08d7800aa9eb%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637118655589902554&sdata=Jd4cfcWOWcS1UpA9B8ToHDR63G2KtUdT4Z5rxsujmbY%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD765PC7VFS52DDIMTAKCRDQYPVVNANCNFSM4J2VYD3Q&data=02%7C01%7C%7C00af949cb181461d2f1f08d7800aa9eb%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637118655589912559&sdata=HO4%2BTvzeN%2BmLxKBMZjVKfSYuwE%2BbodFMhc1M%2BdIkNhI%3D&reserved=0.

kalwalt commented 4 years ago

yes i think we can start to think to compare the two, maybe it's easier to see issues or problems for merging.

kalwalt commented 4 years ago

@ThorstenBux while testing all the examples i receive an error running the examples/multimarker_barcode_threejs.html see: 

artoolkit.min.js:31 [info] Allocated videoFrameSize 1228800
artoolkit.min.js:31 [info] Pattern detection mode set to 4.
three.min.js:184 THREE.WebGLRenderer 103
artoolkit.min.js:1 [Violation] 'load' handler took 319ms
artoolkit.min.js:31 [error] Error reading pattern file '/00         '.
artoolkit.min.js:31 [error] No such file or directory
artoolkit.min.js:31 [error] Error processing multimarker config file '/multi_marker_0': Unable to load pattern '/00         '.
artoolkit.min.js:31 [error] config data load error !!
artoolkit.min.js:31 [error] ARToolKitJS(): Unable to set up AR multimarker.
multimarker_barcode_threejs.html:95 multi is -1
multimarker_barcode_threejs.html:96 submarker count -1
artoolkit.min.js:1 [Violation] 'load' handler took 670ms
13
[Violation] 'requestAnimationFrame' handler took <N>ms

i'm sure that this worked before...

EDIT: that is fixed by merging the master

kalwalt commented 4 years ago

Also examples/threejs_from_scratch.html is not working correctly, as said in the past i get:

THREE.WebGLRenderer 103
artoolkit.api.js:1637 onload callback should be defined
ARCameraParam @ artoolkit.api.js:1637
(anonymous) @ threejs_from_scratch.html:134
artoolkit.api.js:1643 onerror callback should be defined
ARCameraParam @ artoolkit.api.js:1643
(anonymous) @ threejs_from_scratch.html:134
artoolkit.api.js:1652 No camera parameter file defined! It should be defined in constructor or in ARCameraParam.load(url)
ARCameraParam @ artoolkit.api.js:1652
(anonymous) @ threejs_from_scratch.html:134
threejs_from_scratch.html:180 Live reload enabled.
artoolkit.api.js:1916 Uncaught ReferenceError: FS is not defined
    at writeByteArrayToFS (artoolkit.api.js:1916)
    at XMLHttpRequest.oReq.onload (artoolkit.api.js:1936)
writeByteArrayToFS @ artoolkit.api.js:1916
oReq.onload @ artoolkit.api.js:1936
load (async)
ajax @ artoolkit.api.js:1931
loadCamera @ artoolkit.api.js:1900
ARCameraParam.load @ artoolkit.api.js:1670
(anonymous) @ threejs_from_scratch.html:149

EDIT: the same for examples/simple_video.html POST EDIT: examples/threejs_from_scratch.html fixed with commit: https://github.com/artoolkitx/jsartoolkit5/pull/86/commits/31701687d353d696f19433fb49f63f144e113904

kalwalt commented 4 years ago

@ThorstenBux all conflicts are solved!

kalwalt commented 4 years ago

I have to re-fix also the building process unfortunately i missed something. Wait until i have fixed.

kalwalt commented 4 years ago

In ARToolKitJS.cpp missed function addNFTMarker ! i will fix it.

Edit: fixed with https://github.com/artoolkitx/jsartoolkit5/pull/86/commits/ac46aa8e7ea0812236786efe7d685836ab571719

kalwalt commented 4 years ago

Doc script works, although i don't know if all the functions are included ( maybe some NFT missed?) i need to check this. Anyone interested to build the doc reference API you need to run in a terminal:

// inside jsartoolkit5 folder run this
npm run create-doc
kalwalt commented 4 years ago

@nicolocarpignoli new script makem.js to test Under linux works fine, should works fine also under Windows and Mac too. If it is ok i will push in the PR.

nicolocarpignoli commented 4 years ago

yes can confirm it works! (tested on jsartoolkit5 repo, fixing-nft branch)

kalwalt commented 4 years ago

yes can confirm it works! (tested on jsartoolkit5 repo, fixing-nft branch)

@nicolocarpignoli Perfect! Waiting for someone that may test on Windows OS... @Carnaux @misdake ?

ThorstenBux commented 4 years ago

@kalwalt I vote for deleting the build.sh script. We have the Readme.md and we have the makeem.js script to build. I'll add a link to installation of emscripten to the Readme and that should be enough. What do you think?

kalwalt commented 4 years ago

Yes, i have the same opinion: improving thé Readme.md with more infos and when merged in master, writing some good docs on the Wiki section ( in artoolkit/jsartoolkit5 ).

ThorstenBux commented 4 years ago

I have improved the readme.md and will open a PR to your branch once I can build successfully. I need to be able to build first because otherwise the notes in the readme might be wrong :).

kalwalt commented 4 years ago

Ok perfect !

ThorstenBux commented 4 years ago

@kalwalt I think this is all done or? Can be merged from what I can see

kalwalt commented 4 years ago

@ThorstenBux I need to merge the changes for the Readme.md and the docs. We should also decide what to do with wasm as pointed out by @nicolocarpignoli

kalwalt commented 4 years ago

@ThorstenBux i want to improve still a bit the docs in this PR https://github.com/kalwalt/jsartoolkit5/pull/25 and after i will merge it in the fixing-nft branch. I will do today.