OpenGL expertise gezocht voor AR setup

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • handige_harrie
  • Registratie: December 2000
  • Laatst online: 17-09 20:00

handige_harrie

Kill Bill Vol.1

Topicstarter
Voor mijn Bachelor Afstudeerproject bij Industrial Design aan de TU/e heb ik relatief snel een werkend Augemented Reality prototype in elkaar gedraaid met de artoolkit.

Even kort door de bocht: Ik heb de markers verkleind en het nulpunt veranderd. Door zo'n kleine marker op een ring te plakken kan ik virtuele ringen overlayen. Daarmee kun je dus je CAD-ontwerp checken op grootte/proporties etc. zonder het te daadwerkelijk te fabriceren.

Hier wat screenshots (dit is dus realtime, met gebruik van een cheap-ass webcam):
Afbeeldingslocatie: http://www.student.tue.nl/q/p.r.hermans/FBP/AR-screenshot1.jpg
Afbeeldingslocatie: http://www.student.tue.nl/q/p.r.hermans/FBP/AR-screenshot2.jpg
Afbeeldingslocatie: http://www.student.tue.nl/q/p.r.hermans/FBP/AR-screenshot3.jpg

Het tweede plaatje geeft precies het probleem weer; nl. dat hij mijn vinger niet detecteert en daar dus de ring ook overheen overlayed. Op het derde plaatje gaat het toevallig goed; dit komt door de drawingdistance limitatie in artoolkit waardoor het model gedeeltelijk wordt getoond.

Dit is het probleem. Nu zijn daar allerlei oplossingen voor te bedenken die allen de nodige kennis en bekwaamheid met programmeren/algoritmes vereist. Iets wat ik in principe wel zou kunnen leren maar waar ik me ivm timing niet aan ga wagen. De volgens mij simpelste oplossing, mits mogelijk, is een cilinder in de ring plaatsen, als virtuele vinger, die als het ware ervoor zorgt dat je door de ring heen kijkt, daar waar die cilinder er voor zit (keywords als occlusion, opacity of alpha hebben me niet geholpen). Of op deze virtuele vinger het webcambeeld projecteren.
Is zoiets überhaupt mogelijk in vrml?

Ik wil deze week overigens ook de osgart toolkit gaan uitproberen; hopelijk kan ik hiermee coole dingen doen zoals reflectie/refractie.

Voor wie geïnteresseerd is: er is ook een flash versie hiervan; de flartoolkit. Hier heeft General Electric een hele vette en inmiddels redelijk bekende demo mee gemaakt. Nadeel van de flartoolkit is de slechte of afwezige documentatie en het rottige collada-formaat (niet-werkende exporter in blender, en vervelende ingebakken relatieve texturepaden etc.)

Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Het wil niet echt vlotten met de replies he :N
Ik weet dat dit 3D is... maar ik denk dat hier gewoon echt niemand rondloopt die er iets mee doet.

Ik schop hem even naar de buren, misschien dat die er wat meer kaas van gegeten hebben.

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Acties:
  • 0 Henk 'm!

  • handige_harrie
  • Registratie: December 2000
  • Laatst online: 17-09 20:00

handige_harrie

Kill Bill Vol.1

Topicstarter
Thnx voor de verhuizing.

Ik ben inmiddels nog niet veel verder. Ik ben bezig om osgart (openscenegraph versie van artoolkit) aan de praat te krijgen. Dat komt er op neer dat ik wacht op antwoord/hulp op het artoolworks forum.

Wat betreft de vraag hierboven: de term hiervoor heet geloof ik occlusion culling. En het heeft meer met OpenGL dan VRML te maken geloof ik (topic-title change?).

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zou het helpen als je de afbeeldingen in je topicstart even repareert? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 19-09 21:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Occlusion culling is my middle name, maar zonder plaatjes begin ik niets want verder snap ik weinig van je uitleg :)

.edit: nu ik je startpost nogmaals goed heb doorgelezen is occlusion culling volgens mij juist niet wat je bedoelt. Je wilt namelijk alleen iets renderen waar de cylinder zichtbaar is. Dit is wel vrij gemakkelijk te bereiken met stencil buffering. Render de cylinder naar de stencil buffer (en niet naar de frame buffer zelf), en stel vervolgens de stencil test zo in dat hij alleen rendert waar de stencil buffer een bepaalde waarde heeft (die waarde die je gebruikt hebt om je cylinder te tekenen)

[ Voor 68% gewijzigd door .oisyn op 14-04-2009 01:54 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • handige_harrie
  • Registratie: December 2000
  • Laatst online: 17-09 20:00

handige_harrie

Kill Bill Vol.1

Topicstarter
De plaatjes doen het als het goed is; de TU/e host zal er even uit gelegen hebben. Als ze het nog steeds niet doen, laat het dan even weten.

Iig deze video hier zou het duidelijk moeten maken: http://vimeo.com/4074146

@.oisyn: volgens mij is dat toch niet wat ik bedoel. Zie de pics&video (als ze het doen).

Stencil buffering; het zegt mij nog niks (let wel: ik ben een absolute leek op dit gebied), maar ik kan er vast wel wat mee :).

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 19-09 21:24

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ah, nu begrijp ik het probleem. Dus wel occlusion culling :). Kun je ook met een stencilbuffer doen, maar handiger is om die cylinder als eerst te tekenen en dan color writes uit te zetten. Hij schrijft dan wel naar de z-buffer, wat ervoor zorgt dat pixels van de ring die achter de cylinder liggen niet meer worden getekend.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • handige_harrie
  • Registratie: December 2000
  • Laatst online: 17-09 20:00

handige_harrie

Kill Bill Vol.1

Topicstarter
* handige_harrie is gefrustreerd :(

Het bovenstaand voorbeeld met de ringen heb ik gemaakt door handig gebruik te maken van een met artoolkit meegeleverd voorbeeld (simpleVRML.exe), met aangepaste files (zie hieronder). Nu kom ik er achter dat ik er niet in slaag dit voorbeeld zelf te bouwen. In VS6 struikelt ie over Linker errors. In VS2003 krijg ik em zover dat ie em build zonder errors (mits in release mode) maar dan crasht ie zo gauw ie een marker detecteert, zo lijkt het. Ik gebruik bewust deze oude VS versies om de artoolkit dat aanraadt of soms vereist.

Ik verwacht hier geen fix op van jullie; dit is ongetwijfeld te weinig info om er iets zinnigs mee te kunnen. Maar de reden dat ik em zelf wil builden is omdat ik er vanuit ga dat ik de color writes in de simpleVRML.c uit kan/moet zetten.
Omdat ik er niet in slaag om het voorbeeld zelf te builden, hoop ik stiekem dat het ook buiten de simpleVRML.c code om kan?

Nu is het zo dat simpleVRML.c verwijst naar object_data_vrml, waar het volgende in staat:
#the number of patterns to be recognized
2

#pattern 1
VRML Wrl/ring2.dat
Data/patt.singlecorner
80.0
0.0 0.0

#pattern 2
VRML Wrl/ringdiamond.dat
Data/patt.twocorners
80.0
0.0 0.0
Er wordt hierin verwezen naar .dat files, zoals ring2.dat, hierin staat het volgende:
ring2.wrl
0.0 0.0 -650.0 # Translation
90.0 1.0 0.0 0.0 # Rotation
27 27 27 # Scale
En hierin wordt dus weer verwezen naar de eigenlijk VRML file, ring2.wrl, waar ik de code, gezien de grootte en volgens mij irrelevantie, even weg laat.

Kan ik in één van deze files, of in de VRML code zelf, de gl colorwrites uitzetten?

Edit: Het lukt met in VS2003 nu wel om een ander voorbeeld te builden dat zonder VRML werkt; wellicht dat daar dus het probleem zit.

[ Voor 3% gewijzigd door handige_harrie op 14-04-2009 15:01 ]


Acties:
  • 0 Henk 'm!

  • handige_harrie
  • Registratie: December 2000
  • Laatst online: 17-09 20:00

handige_harrie

Kill Bill Vol.1

Topicstarter
In het kader van 'laten we ook eens wat resultaat zien na het vragen van hulp' :).

Dit is wat het tot dusver geworden is:
Afbeeldingslocatie: http://www.student.tue.nl/q/p.r.hermans/FBP/ar/screenshot-AR.jpg

Probeer het zelf hier:
http://www.student.tue.nl...ans/FBP/ar/flarforgot.htm

Dit is gemaakt met de eerdergenoemde flartoolkit ipv de artoolkit. Helaas niet zo snel, maar iig wel te builden. Voor meer info zie mijn blog.
Pagina: 1