Artworks narra4ng a story: a modular framework for the - - PowerPoint PPT Presentation

artworks narra4ng a story
SMART_READER_LITE
LIVE PREVIEW

Artworks narra4ng a story: a modular framework for the - - PowerPoint PPT Presentation

Artworks narra4ng a story: a modular framework for the integrated presenta4on of three-dimensional and textual contents MARCO CALLIERI


slide-1
SLIDE 1

MARCO ¡ CHIARA ¡ MATTEO ¡ ROBERTO ¡

Artworks ¡narra4ng ¡a ¡story: ¡

a ¡modular ¡framework ¡for ¡the ¡integrated ¡presenta4on ¡ ¡ ¡ ¡ ¡

  • f ¡three-­‑dimensional ¡and ¡textual ¡contents ¡ ¡

V I S U A L ¡ C O M P U T I N G ¡ L A B ¡ ¡ ¡ ¡ ¡ ¡ I S T I -­‑ C N R ¡ ¡ ¡ ¡ ¡ ¡ P I S A , ¡ I T A L Y ¡ ¡ H T T P : / / V C G . I S T I . C N R . I T ¡

CALLIERI ¡ LEONI ¡ DELLEPIANE ¡ SCOPIGNO ¡ ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-2
SLIDE 2

Who ¡am ¡I ¡/ ¡Who ¡are ¡we ¡

Marco ¡Callieri ¡

¡ 3D ¡scanning, ¡color ¡acquisi-on, ¡3D ¡model ¡processing ¡ ¡ 3D ¡for ¡Cultural ¡Heritage ¡

¡

Visual ¡Compu4ng ¡Lab ¡

~20 ¡people, ¡Na-onal ¡Research ¡Council ¡of ¡Italy, ¡located ¡in ¡Pisa ¡

¡ Basic ¡3D ¡graphics ¡algorithms, ¡Interac-ve ¡visualiza-on ¡(PC/Web/

Mobile), ¡CG ¡for ¡Cultural ¡Heritage, ¡Geometry ¡processing, ¡

¡ You ¡may ¡have ¡heard/used ¡our ¡tools: ¡MeshLab, ¡SpiderGL ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-3
SLIDE 3

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

What ¡am ¡I ¡here ¡to ¡present? ¡

slide-4
SLIDE 4

ever ¡started ¡ How ¡all ¡this ¡work ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-5
SLIDE 5

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

The ¡Visionary ¡Cross ¡Project ¡

People ¡from ¡the ¡Visionary ¡Cross ¡Project ¡ involved ¡us ¡in ¡the ¡3D ¡scanning ¡of ¡an ¡ important ¡Anglo-­‑Saxon ¡ar-fact… ¡ ¡ ¡ ¡

slide-6
SLIDE 6

The ¡dreamers ¡of ¡the ¡“Dream ¡of ¡the ¡Rood” ¡

Interest ¡of ¡the ¡project ¡is ¡to ¡study ¡the ¡rela-onship ¡of ¡the ¡ ancient ¡poem ¡the ¡Dream ¡of ¡the ¡Rood ¡with ¡different ¡CH ¡ ar-facts, ¡especially ¡this ¡cross ¡ ¡ ¡

— Present ¡the ¡cross ¡at ¡different ¡levels ¡(as ¡a ¡cross, ¡as ¡a ¡narra've ¡

carved ¡art ¡piece, ¡as ¡the ¡substrate ¡for ¡the ¡poem) ¡ ¡

— Wide ¡access ¡=> ¡online ¡ — Focusing ¡on ¡didac-c ¡purposes ¡

¡

hVp://visionarycross.org ¡ ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-7
SLIDE 7

speed ¡triangles ¡ The ¡need ¡for ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-8
SLIDE 8

We ¡need ¡a ¡3D ¡model… ¡

… ¡and ¡a ¡pre#y ¡complex ¡one ¡too! ¡We ¡are ¡talking ¡about ¡ millions ¡of ¡triangles… ¡

It ¡is ¡difficult, ¡for ¡SceneGraph-­‑oriented ¡engines/libraries/viewers ¡to ¡ manage ¡highly ¡complex, ¡unstructured ¡objects… ¡

Solu-on: ¡ ¡ ¡ ¡ ¡ ¡ ¡Let ¡us ¡go ¡mul4resolu4on, ¡CG ¡style… ¡ ¡ ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-9
SLIDE 9

WebGL ¡/ ¡SpiderGL ¡

No ¡need ¡to ¡explain ¡here ¡what ¡WebGL ¡is… ¡powerful, ¡but ¡scarily ¡low-­‑

  • level. ¡ ¡

SpiderGL ¡is ¡a ¡CG-­‑oriented ¡library, ¡wrapping ¡WebGL… ¡It ¡provides ¡ higher ¡level ¡structures ¡AND ¡low ¡level ¡control, ¡making ¡possible ¡for ¡CG ¡ programmers ¡to ¡write ¡their ¡own ¡visualiza-on ¡code ¡as ¡in ¡a ¡normal ¡ soaware ¡development ¡

hVp://spidergl.org/ ¡

¡

Our ¡mul-resolu-on ¡structure ¡has ¡been ¡ported ¡ ¡ from ¡C++ ¡to ¡JavaScript ¡using ¡this ¡library ¡ ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-10
SLIDE 10
  • f ¡peer ¡explora-on ¡

The ¡basic ¡idea ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-11
SLIDE 11

Some ¡media ¡are ¡created ¡equal… ¡

Most ¡“mul-media” ¡visualiza-on ¡schemes ¡are ¡just ¡like ¡a ¡ Christmas ¡tree… ¡there ¡is ¡a ¡strong, ¡complete ¡main ¡media, ¡with ¡

  • ther ¡stuff ¡dangling ¡from ¡its ¡branches… ¡

¡ Nothing ¡wrong ¡with ¡this… ¡but ¡in ¡some ¡cases, ¡like ¡ ¡ this ¡one, ¡it ¡is ¡important ¡to ¡put ¡_all_ ¡the ¡different ¡ ¡ media ¡at ¡the ¡same ¡level… ¡ ¡ It ¡should ¡be ¡possible ¡to ¡explore ¡each ¡dataset ¡independently, ¡ and ¡be ¡able ¡to ¡switch ¡between ¡dataset ¡in ¡a ¡meaningful ¡way ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-12
SLIDE 12

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-13
SLIDE 13

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-14
SLIDE 14

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-15
SLIDE 15

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-16
SLIDE 16

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-17
SLIDE 17

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

synch! ¡

slide-18
SLIDE 18

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-19
SLIDE 19

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-20
SLIDE 20

Viewer ¡<-­‑> ¡Synch ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

1 ¡ 1 ¡ 1 ¡ 4 ¡ 2 ¡ 2 ¡ 3 ¡ 3 ¡ 4 ¡ 2 ¡ 4 ¡

slide-21
SLIDE 21

things ¡run ¡ How ¡to ¡make ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-22
SLIDE 22

The ¡3D ¡viewer ¡

For ¡each ¡media ¡involved, ¡there ¡is ¡an ¡associated ¡“viewer”, ¡as ¡ independent ¡as ¡possible ¡from ¡everything ¡else… ¡ ¡ Each ¡viewer ¡does ¡need: ¡

— A ¡way ¡to ¡display ¡and ¡navigate ¡the ¡dataset ¡ — A ¡way ¡to ¡display ¡“spots” ¡and ¡let ¡user ¡select ¡them ¡[synch(spot_id)=>] ¡ — A ¡way ¡to ¡focus ¡to ¡a ¡specific ¡posi-on ¡in ¡the ¡dataset ¡[=>goto(spot_id)] ¡

¡

¡ A ¡global ¡en-ty ¡is ¡used ¡to ¡keep ¡a ¡table ¡of ¡all ¡spots, ¡with ¡u-lity ¡ data ¡and ¡dispatch ¡messages ¡between ¡viewers… ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-23
SLIDE 23

The ¡3D ¡viewer ¡

Almost ¡en-rely ¡SpiderGL, ¡with ¡some ¡interface ¡elements ¡in ¡HTML: ¡ ¡

— Rendering ¡of ¡the ¡dataset ¡is ¡done ¡using ¡mul-resolu-on ¡in ¡SpiderGL ¡ — A ¡specific ¡trackball, ¡to ¡cope ¡with ¡the ¡shape ¡of ¡the ¡object, ¡is ¡used ¡to ¡

navigate ¡the ¡object ¡

— Spots ¡are ¡rendered ¡as ¡simple ¡geometries, ¡and ¡the ¡user ¡selects ¡

them ¡using ¡double-­‑click ¡

— The ¡trackball ¡can ¡be ¡animated ¡to ¡reach ¡a ¡specific ¡point ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-24
SLIDE 24

The ¡Structured ¡Text ¡viewer ¡

almost ¡completely ¡HTML ¡(with ¡a ¡li#le ¡Javascript ¡+ ¡JQuery): ¡ ¡

— Dataset ¡is ¡arranged ¡in ¡tabs, ¡scrolling ¡panels ¡and ¡sec-ons ¡ ¡ — Spots ¡are ¡links ¡(as ¡every ¡user ¡would ¡expect) ¡ — Change ¡of ¡tab ¡and ¡scrolling ¡is ¡possible ¡thanks ¡to ¡JQuery ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-25
SLIDE 25

for ¡a ¡single ¡object ¡ Why ¡all ¡this ¡hassle ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-26
SLIDE 26

From ¡single-­‑purpose ¡to ¡a ¡system ¡

Step ¡1) ¡decouple ¡data ¡from ¡viewer ¡code ¡ Step ¡2) ¡establish ¡a ¡suitable ¡data ¡format ¡ Step ¡3) ¡have ¡someone ¡(else) ¡enter ¡new ¡data ¡ ¡

Step ¡4) ¡profit… ¡ ¡

Things ¡would ¡be ¡even ¡be#er ¡with ¡an ¡authoring ¡tool… ¡

¡

The ¡visualiza-on ¡page ¡starts ¡empty… ¡placeholders ¡for ¡the ¡ various ¡components ¡(viewers, ¡and ¡interface ¡elements) ¡are ¡ placed ¡by ¡the ¡author ¡as ¡it ¡normally ¡would ¡edi-ng ¡the ¡page ¡ HTML ¡

¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-27
SLIDE 27

XML ¡configura4on ¡

All ¡the ¡components ¡are ¡configured ¡using ¡XML ¡files, ¡read ¡at ¡ the ¡loading ¡of ¡the ¡page, ¡and ¡used ¡to ¡populate ¡the ¡page… ¡ ¡ Text-­‑based ¡data ¡is ¡parsed ¡and ¡rendered ¡in ¡HTML ¡inside ¡ empty ¡DIVs ¡in ¡the ¡main ¡page, ¡other ¡elements, ¡like ¡the ¡3D ¡ viewer, ¡are ¡created ¡on ¡the ¡fly ¡inside ¡elements ¡of ¡the ¡page. ¡ ¡ XML ¡has ¡been ¡chosen ¡because ¡it’s ¡simple, ¡easy ¡to ¡edit ¡by ¡ non-­‑programmers ¡(CH ¡people), ¡and ¡can ¡be ¡automa-cally ¡ generated ¡from ¡many ¡exis-ng ¡tools. ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-28
SLIDE 28

enter ¡the ¡problems ¡ Enter ¡the ¡Runes, ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-29
SLIDE 29

XML ¡– ¡XSLT ¡

Instead ¡of ¡using ¡the ¡“programmer’s ¡approach” ¡of ¡doing ¡ ¡ [XML] ¡=> ¡parsing ¡into ¡[JSON] ¡=> ¡render ¡into ¡[HTML] ¡ ¡ We ¡wanted ¡to ¡follow ¡the ¡conven-ons ¡of ¡Digital ¡Edi-ons ¡

— Encoding ¡comes ¡first! ¡ — Encoding ¡uses ¡XML ¡compliant ¡with ¡TEI ¡schemas/

conven-ons/guidelines ¡

— XML ¡is ¡transformed ¡in ¡HTML ¡using ¡XSL ¡Transforma4on ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-30
SLIDE 30

XML ¡– ¡XSLT ¡looks ¡good ¡but… ¡

As ¡a ¡programmer, ¡I ¡found ¡much ¡easier ¡the ¡code-­‑based ¡ parsing/rendering… ¡ ¡ XSL ¡transforma-on ¡can ¡be ¡invoked ¡dynamically, ¡but ¡nothing ¡ remains ¡in ¡memory ¡of ¡the ¡transformed ¡structure… ¡ some-mes ¡the ¡XML ¡has ¡to ¡be ¡parsed ¡twice ¡(one ¡with ¡XSL, ¡one ¡with ¡

code) ¡

¡ No ¡support ¡for ¡XSLT ¡2.0 ¡ ¡in ¡browsers… ¡This ¡mean ¡that ¡some ¡ “tricks” ¡are ¡needed ¡for ¡more ¡complex ¡XML ¡structures ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-31
SLIDE 31

next ¡ What ¡comes ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-32
SLIDE 32

Future ¡was ¡yesterday ¡

  • 1. We ¡do ¡need ¡an ¡authoring ¡tool… ¡we ¡need ¡it ¡badly! ¡ ¡
  • 2. We ¡do ¡need ¡to ¡completely ¡explore ¡the ¡XML-­‑XSLT ¡solu-on, ¡

for ¡digital ¡edi-ons ¡compliant ¡with ¡exis-ng ¡standards ¡

  • 3. We ¡do ¡need ¡to ¡add ¡more ¡media ¡viewers ¡(images, ¡videos) ¡

¡ (1) ¡is ¡in ¡design ¡stage… ¡ We ¡are ¡currently ¡working ¡on ¡(2) ¡with ¡a ¡student ¡for ¡its ¡thesis ¡ For ¡(3), ¡we ¡have ¡a ¡lot ¡of ¡code ¡(in ¡c++ ¡/ ¡opengl) ¡for ¡managing ¡ and ¡rendering ¡large ¡image ¡collec-ons ¡

h#p://vcg.is-.cnr.it ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡

slide-33
SLIDE 33

¡ ¡ hVp://vcg.is4.cnr.it ¡ hVp://visionarycross.org ¡

¡

callieri@is4.cnr.it ¡ roberto.scopigno@is4.cnr.it ¡ ¡

¡

MORE ¡INFO: ¡ ¡

¡ ¡ ¡

CONTACT: ¡

Thanks ¡for ¡your ¡a#en-on… ¡ Any ¡ques-on? ¡

? ¡

! ¡

??? ¡ !! ¡

Marco ¡Callieri ¡ ¡ ¡-­‑ ¡ ¡ ¡callieri@is-.cnr.it ¡