From c9d9cc4b267fe0ac6629fbdd6cf31f4b361c2704 Mon Sep 17 00:00:00 2001 From: Frank Galligan Date: Fri, 6 Oct 2017 11:03:34 -0700 Subject: [PATCH] Changed spec to move split data before the symbol data. This addresses a comment in https://github.com/KhronosGroup/glTF/issues/1114 --- docs/spec/04.00.00.conventions.md | 36 +++++++++++------- docs/spec/edgebreaker.decoder.md | 6 --- docs/spec/images/edgebreaker_connectivity.png | Bin 7779 -> 7818 bytes .../edgebreaker_valence_connectivity.png | Bin 8525 -> 8304 bytes docs/spec/index.md | 2 +- 5 files changed, 23 insertions(+), 21 deletions(-) diff --git a/docs/spec/04.00.00.conventions.md b/docs/spec/04.00.00.conventions.md index d68b99e..43f72e7 100644 --- a/docs/spec/04.00.00.conventions.md +++ b/docs/spec/04.00.00.conventions.md @@ -5,7 +5,10 @@ * All Draco encoded mesh files are comprised of four main sections. This first section is the header. The second section contains the metadata. This section is optional. The third section contains the connectivity data. The fourth section contains the attribute data. -![Draco_file](images/draco_file.png) +
+ +
Figure 1. Draco file format.
+
* The header must be decoded first, then the metadata section (if present), then the connectivity section, and then the attribute section. @@ -14,32 +17,37 @@ section is the header. The second section contains the metadata. This section is * The sequential connectivity is comprised of two sections. The first section is the connectivity header. The second section is the indices data. -![sequential_connectivity](images/sequential_connectivity.png) - +
+ +
Figure 2. Sequential connectivity format.
+
#### EdgeBreaker Connectivity -* The EdgeBreaker connectivity section is composed of five sections. The first section is the connectivity header. The second section is the encoded EdgeBreaker symbol data. The third section is the encoded start face configuration data. The fourth section is the attribute connectivity data. The fifth section is the encoded split data. - -![edgebreaker_connectivity](images/edgebreaker_connectivity.png) - - -* The encoded split data must be decoded before the EdgeBreaker symbols are decoded. The offset to the split data is contained in the connectivity header. +* The EdgeBreaker connectivity section is composed of five sections. The first section is the connectivity header. The second section is the encoded split data. The third section is the encoded EdgeBreaker symbol data. The fourth section is the encoded start face configuration data. The fifth section is the attribute connectivity data. +
+ +
Figure 3. EdgeBreaker connectivity format.
+
#### Valence EdgeBreaker Connectivity -* The valence EdgeBreaker connectivity inserts two sections in between the attribute connectivity data and the split data. The first section is the EdgeBreaker valence header. The second section is the context data for the valence prediction. - -![edgebreaker_valence_connectivity](images/edgebreaker_valence_connectivity.png) +* The valence EdgeBreaker connectivity adds two sections after the attribute connectivity data. The first aditional section is the EdgeBreaker valence header. The second aditional section is the context data for the valence prediction. +
+ +
Figure 4. Valence EdgeBreaker connectivity format.
+
#### Attributes * The attributes data contains two sections. The first section is the attribute header. The second section is comprised of one or more attribute types, such as positions, texture coordinates, normals… Each attribute type section is comprised of one or more unique attributes. -![attributes](images/attributes.png) - +
+ +
Figure 5. Attribute data format.
+
### Draco Conventions diff --git a/docs/spec/edgebreaker.decoder.md b/docs/spec/edgebreaker.decoder.md index 3670cdb..8e34d1d 100644 --- a/docs/spec/edgebreaker.decoder.md +++ b/docs/spec/edgebreaker.decoder.md @@ -40,13 +40,7 @@ void ParseTopologySplitEvents() { ~~~~~ void DecodeEdgebreakerConnectivityData() { ParseEdgebreakerConnectivityData(); - - // file pointer must be set to current position - // + encoded_connectivity_size DecodeTopologySplitEvents(); - - // file pointer must be saved, as it points to the attribute data - // file pointer must be set to old current position EdgebreakerTraversalStart(); DecodeEdgeBreakerConnectivity(); } diff --git a/docs/spec/images/edgebreaker_connectivity.png b/docs/spec/images/edgebreaker_connectivity.png index 05fa7958ed74f3edee474b01eeb1578c92b8a42b..af3fd8f7e3af1ef7a6f92747cd212711720e0842 100755 GIT binary patch literal 7818 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 VKhZ?e*u`m*o^=H literal 7779 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 stj+fj|7M;H;1AcD)a!V*jKf$WFivR!s literal 8525 zcma)?c{o)4`}ofo``)4kgG#bgBH6cOCtH>&#u90=HkLuwiI8n1B-wWI+ocFn}`+dJA%GgkwjhTlT001^!9gQ0R zK!ZHIwqm3|{9PyELjd6Paa|2HGry6g%z%&ex6Io@R(R8#f)!vc8Qfg8%v#r;J~Bx# zgK*urZ3nS_B5^d9HkX$x!aIkB9;|irYj`ZP;O7@-^d%rVVj?^uXI`j=o;oPoDfVAj zCnN55c&d_=NExKDiS<2))rP~Xnym?!kgXAy(x8RLNd91Q!>+&&of)Os#>gycR!`II z8F{KIr?tQ>?7e)NqCavyW(*17vk%QnmtY2pOF+280LxDd_xKK(i1uX^c<$zl6Ws|A)%&!2ZM79})kL|9^-7m;RrL{o(S@C~1&?3IDDC zr?Ed${vG9?`6raq;_rv7Q{m$^s0DIB$VPtT`-7?bd*Av4R9C*`s~${b9W3>C9gOT+ z*sQPHZnwZnw<88^4-Qz~@9!@xcuk0RZS#g~%=BN{+sgXK17#vu%MkWjRD);83EBeh zcfO?5ZID~CR)@1zb_JBS`=kRww}Yu4PKNCC`vy{}rFE3__secD)t`w*7nqS(zm5if z&;0v!9_Ew6hE%0eChH>3D>?J^ZB%Y9KNvs(Fh^1JG|#_oJjsEy-8Z)lP#*tua4Bf` zbEzt9nRh~-F#pZy!3;Tl@`p7niy95HX=?Xcu07ZZ!Avh(h0F-!CeyI4Mj$f+ExMjm|ISx*c(xDQj^Z>}x<#&}hb9Rs;yhxs8h-Q(wT zikUctpWG(eaySstGM(S3rTaUB)>+`QThHagyFNIE6R1D;Be4-iSi0rY6ZKW^rw^0x zrYaj5jnn^g6OYNE13q&!?D4!~c)7gu!FW}}s)E*~e{S#@EgC4xNt-qKOSKVa=q_=aCR}hIq9xiKM97xV z$(0rceoF~%=}!q9hPl%r{YHPpp2SQa&-2>mzsma0@1oiSXfw<6a2T_a{2tfBmJYye z`y^=a`>dt@n}cxmF&UuER>f;FA#mmXzR+*~D&Hw>PvrYKTMk3_|SWc@Da+ycCmFDz7E^nMyLRQdV0B#x{D9c)^)?EC^L2e-1G4^Le%K9=3 zQA9ES)^U|(MYV$So0y=uS0Hzs3Y*R3=B;_W%Z*`i+OM$q8(c608wElScg>vLMr~A( zGknnYfcXD}XdLcg-p{$y8`AU~LcJqop*u1R7(ox+Ob z!`959j;#Ra8A`>Em#G6UztccTUKhV6Bi-q^7exzoITiRUQtSiH$F8O>6r880y9%A{ z@aU5V+_RSaU>s1sIg#6Mm!cM~FFo#|%gh=*;hGLWH^bKQ_B;<+SRj0KOze6 zq(xqa?gDZa<2hj}9aWuzN6=PocG^2H_X@gtu8hfCCMiI6y~bc0Pr70yOXY|1?g~I( z+AsDz*d%zVOiEsCqK@N$NcJB}S?dtm>14?8=|yoT{keM?TZKhBQp4c}sYk z1?4msf}qPXX*>NY-%uH&)f0Enxs+^En5b`eOM}^^72MmTI7_ak2RdknC(=c{xQU6g zwo^s4BfE2nKJ;>0SCuyUblAhpS<((x739PmU*58QL*O55mhN0;JQy|3?0n?TcINy2 zE`$b{>MJH8pHS2|^YziREwYqM}lhjQR|vVBPe z^T?#nM34Z0s6Hy(8&ck+#^49+Tw(B^QFfX`Grdu~&U72uLl?)ToD)K6q#9Ch_Q+%D zmCb|ass?j+Ugy&zy*A|a=!;c)xcqMj{LEA7ejf$j=Btmxm0u(zh&9cWG4_U{#Il8> zmQWeKxq+@ON|Q<23udq!Ep`rM-+iTspnmbt@j?%DU;cb6nBDp*g0 zDy)Y17NmXNSK1=1e)92BLZ9(pmLxAcqmjcVQ=dl{zACX`%yV077_rH_TVYp?NDrN;0!^xsnzrfGh^~Odir4KY^=eONB))+dv;lQA2<2Y zauh~v*9={3T9Es4LKuWR&P*pyy2+EuC&!iAC4yeh#9rwU%4NdbPKtW#pXbR7Wz!of zC-P;2P=+K=4xLeEO(Bg0A1nZwGvhG8T^}Tqs6sbBQdq4r!Um(7GDb_v9+04!1F&y4!%@d$s9a+LZZfy&RFlCz2)~h%4uZavNXEB-t1`?LyyyeLoR-HZH-#4jx1}=W^mI zJ|&I8(GFLe%fG~JUc2o{_Yp|U4QjH?234xgehN10Vw zTbHk^dIPO}O+Pw#h8}waOn%JL__!Z`%=AK^sNlx3zrrjv_iKWw#lC#y%P5xF6M4&+TOy(B`xd z!}aF}YK=DcwOAgi5aO4QU=yFl+2 z<|T19x6{cKZAE%`Oi9w%@2cDKv+&$i(NdbF&IANkz2{+%HKtH_iU=IJv~h1W)vZ}{ z*M#?tAO&?)@w;STYiBII_!cNPFsQjH=+~`E-MjtqW;a~H1MK8>w{6b)_m@E6zZG@pBau8)jw3h>suWgz^J`| z21oWA1i{TSD5y?up%QOPujJ1U_y{IPoEVS4K5xOdR|1yH=R>uap4L*3mm%~>8lm?6 z#GJ}1*zKN6;9~6-zV5q$a15aXmkAQFv8TFb>kZk6-^t~J0%RUk|CJ+FSI(B zI3HX`s|(~lhi~ZCA06?_>XEX@?;Qp~!*#=62heQ2BDP8ZPPrzs;bMEs%t-Xq;}y__ zI`yBO-q6Z#TFp=xWVj80F%Ns<;TsRc2c_r(b@d0=3Kz#Rw01h z(bEkZzK%baTu7hcX+-JpP`-7JYx31Mkw7xmrV68^K&Xy0=<3Ej9Iia3sKE;58kzli zHA12B<_4zIT&sBMq%26TE^Y3a*S0>lIe4kvyrGJJ)9h^i39u|IE0k{8Flg%LBSY@o zHfmj!hngTd*D#G8A!fA)MVDhejbJ?{tn=byF@m%D*T6+f*h z3qJ-0-bK)CpWk}mP?kOJu}G5!XyI$u*1&7U^r_;>viwK$m19< zx%>b=ZJ(H}zW8D)U%v|_CdkrJF$KUoA9F*z+Y^ny?B-pRMG0~;l2LZFDpDyf*C=%l zIk91W*p?wXP(f1-CnU{+x!*)xZCy_-a!RK7XXbJ=Bo%4>VVgB_-+EnVC=>95=%XyOL2`;B23PQy{~nxEGA&^&a~+#t<1X=FieT5cCqUlh0&^_En^Eme6(j2U34H1Baed2H^v zew#n-`(l7L;Pw45ZgkApW6?hS1Ypb&$S4f>*1BufU9}8MlfNA;9(G-T4^ZSVt z`j3kiTQqlp@F-p5!4eBw1|*8~yulvDNAO_pYTHYdzWH~)e-4<&EDGUTp8~cqlaDVh z1V9Hk8I`^Cfibfix0KKkLa~*nW+w6+Z!#d^qtM%go0)5wiLOa-#06(NvTszl-XBvN z3Oxu)?lEm zupDioJKkStWZzv-1z?fTX{9FLt;)`H+^@Wz!b;TjpvU!p0RbO{b`r9qZQDlf+#D3DUzLS$3`D)F=9gMu& zsCrkR=kpR2)H(C6-yMG=O`$w$-0oqQ(|PIi`O9sCf3^{*z(Iuf8^u z?SqI&M&UWu{c~24(2=WHMMB)jBP$=br?FdOCCepsx^)+Rns8z*^q*x zL}Io31K%Pa2PZV|Qkb6N?I-VaLl@rD-3gcnA|<}6hdg7;WR@@P6WyW06@--do~1-Q>TIUX z{TU%le4e^y#7BgqZZ?4ms>~z({QFM(-yL}}NxpJi(BxQ~<$;UOW;%dO*v5wU@W0Gw zMY7)6czfghoBoRUn~pKZ>rDL-^MYeM#jPjosnsfzy*6Zafp-_P2bCLT>4@qy8KMqk zGo>(|s+Ovofyt}Mi6?U8voxARH z1>U0NFzwA@x__CYMxHeqP?2QK6jENdrO|ND4@Xp?Iq8o9rb6mNzk^{4APZvB8Ur0nwROU&`Ns2_5r-E9X2o=;w#r7xkA428YkM zrR+NN(*IZhJ|bQ?+?8mSAB!}m#T4?k^|CuDzI#=jJ|w_G>;vryEKk#Kj<6+~tv|RU z`^D*Ft)~i0P=V}5qCVwPpa|NlzhbqKGG+hNno zeBT+F09`@M&laE~20`uste(rudno^!gvPi-M-mTdL-g<<(s4pTP+_J}S(<|l>9xa1 zKT&TwkY`FI4V_U~2xbH2i7(E%Jqd1hlFfQB+W0*OWEh_qCPORrUk`h?y?XM(*iM_SE8Km=FnsehUHo-Z==qq&}{J3 zL4$up`-0Taiod4;e1?CT)J!k{X9zyEoaat95eKf!hDuU@n#4x&0=#g&VFscFI3u^N zNF9^;^_$2uy0CDyJaF3+MZSucr`ZYC_xxj(4RbDM^KTwutqZVxZeID=VcX3)fosXW zPy5LnB>q*`Se2xrBigj>L(Sg3DqigSc6a>q4vAPVS~-RqbKAhkCPpCF&}6_Akj=+h zpC#lxnm}?Y-354(>054mE6@l9h2$rFxz9zs@LaspE#AVPj)=Wzc2n$p98Xj9?yxAG z*15U5R$A}FsfOsW{333UlN=b?t8mJsB#cE?+?U7oWt013Zt24VQG|;L2J#w!&-8)Z zou8BfXT4l|7`-7n1GHZR(WcKB*Ho_%`frJBeB3BIpEa*t!D|Xcx)+aUmySh_%N-|x zc2Tk?rpH%1*Hm|ap?tvItP7|XnkIHK6QS0da1FeO6C6#G9H9rx_g9LKZY!V(-|Cl< zP7YmV4;lfCo`!Ryt=N!roe_&Kj%?WQzBL^+1=<)RFBi_*!4FIBYp?@sNuoMoHJrl^Jg4syi66z0^F&a7fR=!g94ztKVJ#s)9b4jnLY? zF;E&V6vnFvp{1NW!q4x}xhhoBS=|Ydbc`u;ddK8;q)mZOgwvC42Rs_L$9P)#u*6-M zD)s@3-0rrROz|bwj>OlbRhDXOLNL_v{?uOFuNvrCtO6kG-NcoS3@uE2+=Ai6PY@p| z-4!3$d~lKhX_#=s0}v5o)B8%uu~YGiO}_>Xl5WBeN~q-z7ImR_ljys)`N7vAPYzRQ zJrzq^Z~oDKBZ8f86`-Bt$V>|jr$>9_|6DoM!};TS8-h<#nko02J_9~M!oc$6WP!SN zv>>1J<9i%^0dcH@ALM$tFF!9lUkyg43tiXD4{XgdCdod;d+8v9^nl1XA9A}&=s{da zxhnQ?~gMeT@d9LV(V@8w|`P75X%t#gDr)2I0Oa zYodAQ!w{udJ#v_C{X<3HJGaqr(^4eA|MVWIubdZzteZ1yvwQo6++OlYTGBnp5t?-x z5uEbe!)?&cAEySMfgG~VebzvPrvU|~Eol1b@+CH+NV>RbG0wUAxhbpifC(FC+j0_Y zFZQ0DT<{=UMHe^G^_Y1#!gi?-Wr@-mFHz9Q|LH!QI`eF8t=8O;7o9F^t|%nhtj$=f+`*-C=3K&d;?^D}Gzw|6*frZPdZ^CVH+;B9Kq8exg& zLMJ0O;iuV+;WWQGVf;YM9nZUouct)iQ}$fTQ}(ZC#vFBQxQ)#}cL1Q`fgC$JaLgWS+m7=^<|N((9Y&u|NExY^~iU^Nr<8#mkD$ z)5cfeh5tp9&H(Pm!ydyr?6y%%IG49;4#If$e{rH7pe;${jSHx*mHOpE-;hB zpinYOUtoIXqgo4!>`i`i49@T`XvT<6PbBg@0nh!w-pN99_rCBOf)@~yM7zOr2^z^S zX9IoS8zo9je@aiQWcz2(%Cy9Rk0Q6lcKa|Gp-l#&CNv#6m>86Hs{c_@;9X%hiz0G| z;@!}NKSA*S@K%PuQS{#|_cx3FgA)I*Ecnl-|DRm@x3T|b!A5^H+W%)p{vYoDg519h z|2J3uZ?66KYxqsi|9@QCpYiv8`_1eBF#O-P4xca$QXe!{?@Rfq$azxUsG2&Vc)+I& z)uJ@)V&`@~dQO5l_Kh}>4W7GO)}rrk`PcASNj=dP2)VuSLTO{g^nl@MRO35JC`Iw` QZxVp6rlAJznqBDs1CqeU8~^|S diff --git a/docs/spec/index.md b/docs/spec/index.md index e4175ae..8e99c35 100644 --- a/docs/spec/index.md +++ b/docs/spec/index.md @@ -1,7 +1,7 @@ --- layout: spec-page title: Draco Bitstream Specification -version: Version 2,1 +version: Version 2,2 (pending) version_date: Released 2017-10-02 ---