From fd33ac36d4fd09b8ec33591e96ce02f355fdd49d Mon Sep 17 00:00:00 2001 From: Michael MacLeod Date: Sat, 24 Jul 2021 11:31:51 -0700 Subject: [PATCH] Document coordinate systems in README I had to do a bit of digging to find information about coordinate systems in wgpu (asking on Matrix). This commit adds a table of coordinate systems to help clarify the issue. The table comes from the DX12 backend documentation of gfx-rs: https://github.com/gfx-rs/gfx/tree/master/src/backend/dx12 Remove trailing newlines from README Host coordinate images locally --- README.md | 8 ++++++++ etc/depth_coordinates.png | Bin 0 -> 1964 bytes etc/render_coordinates.png | Bin 0 -> 2504 bytes etc/texture_coordinates.png | Bin 0 -> 1603 bytes 4 files changed, 8 insertions(+) create mode 100644 etc/depth_coordinates.png create mode 100644 etc/render_coordinates.png create mode 100644 etc/texture_coordinates.png diff --git a/README.md b/README.md index 0bb725b5..c77e9c5c 100644 --- a/README.md +++ b/README.md @@ -61,3 +61,11 @@ cargo test -p wgpu -- ``` If you are a user and want a way to help contribute to wgpu, we always need more help writing test cases. + +## Coordinate Systems + +wgpu uses the coordinate systems of DX and Metal: + +Render | Depth | Texture +-------|-------|-------- +![render_coordinates](./etc/render_coordinates.png) | ![depth_coordinates](./etc/depth_coordinates.png) | ![texture_coordinates](./etc/texture_coordinates.png) diff --git a/etc/depth_coordinates.png b/etc/depth_coordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..07109f5f465ff0854178b4412ae04fed356d8bf2 GIT binary patch literal 1964 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<|3H9cJ%Ln`LHom;zNUaIVI`}>d2JT{u5dU?V0nfb4Cx?H<`Ixbc(bM(;F@HEmm z#dMJCzu+dL+_Tdp_VVzEbuyEPA6I~d zro%%h=OUAbmDi=hiwjh%c&O%C`0U>arvtm@v*~5+cJ_SEe4kN{`Ce{y`fbT&#}|I!x-g4jQW(?ghU<*s zH}>sbyRYBjBa_KLjtN^rF7Y?sXDDY(=Ra|_U1WhJql&EZOYH-G4=f+}+`hlPcEw7& z=Z+tlOg?c;_!9WQ>H*_}x7+0N7R{IPV0@M1b4lw#)vD)zo^E@;V)I`%jXJS_)5;E) zvQ=}L%$V)j+#30>T`W5+63_Tc$l;Q$lY=+{)}X_z}9Gg7KLR+k`KE4|X5ee4st|f9ka0d{#R)o=+AEtS`R0 zcrItU&vuS!U(W8^;^yBOr+=HcmbXiM!E0rQOCKj)3%Yy3ok;dWjZ7tZH>w--nZmt)Oq>Riw&oMo#YJB^5+kQ@+<-cZqSM zPnk7iRpM>_Tl*MxNc`aW5bi0TxoUsqBqo!)jc?y>3um6r9PYI%{?hMR@3y-aN!J7pxQ)+EL@U5Djq3JMRr-LiuHy4AaI#WH1-p0M#`?eMHY+ztvc%ifPK2y$? z+UVG~%NV#F8qRsG?LAXi(&BeZd}il&Qz`Xcl+n} zkF0L#?`7ioqjTWflyYcytMIDKlA*SNCF27!#uWsikY*QNUQ8!YFzN9 zi>>@+ow0|N?2Z+mKRO?c)C{fZ ziw}IhY^R^%R++hGLq}Hl^yHOk{M{>CDkP7FHoWwR;vsOqxzSOFJ zC~Q|xep?*FgUtup41e!4tnPj=&AGty`Hcdu0No>dy*9XgI5W{twu+Hwc~3~Sn9oLc z{i#PDiX501lek`Lb9sq%=?hkdxW`%A(hO>=|8g%s^{9Z$fZa>rf#$(0+e~{7B!%mH zD6mS@F|zPW`_288Q?Yo}+BbU zH*hlgxVhmH>j`jTLMxcTh5gA$P?5d~QQD)aECQ#=H4Iql1%%3@{>pEGP(SIONI5rOv7`2g3PjuWPLLq-No-e+&!^44$rjF6*2UngB2+ BXEp!; literal 0 HcmV?d00001 diff --git a/etc/render_coordinates.png b/etc/render_coordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..300a3587fee3fa97943c9a1656faf54b321c5c2c GIT binary patch literal 2504 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<`DT|HeKLn`LHom<@#Q!0Ag{{G8tsnKH5Tv`Gfw;r>5A$H2{mw@tuqaHab4^wLx zIE74{w44mo+9Z598b3_xU>pqy0`QBocsA!_igvz|9f`tb9LjxoYO-VTR$)n6L)y9gMsNd ztAK@G!+}CZmOgHUf*6Lz$4nVQ+dSRVmdHQbKYiM=)FrPc*O+^_KmUDfW1hzHSaFBR z8~E3qJtVyIvG1jgP3{e!y?^q09N*$vCjR8!?Cfu57v@czrn2=lQw9^;lE)28xzEmH zc`^AJ|3TvertU{a<3Sa>t8`S$n2sh-;+EiTCNN~(Gu42}HZCt2oayg~RK>o?V#UuUg7 zpc8%SS>{USA77m|*Q*`X6OlR;EZU}Ci&)Clxta>&#XZnleovUmD>mmd&xKbrZrUZV z2dZhPL@=^!6i~^uyEyBAobm0DBS+dB#L^Wn8odv9vv@DLV5;Hf>dtq&T92_#|L8+cYMxKf3xG^MCU?}xF%%b4gn_=G0t*~gK^8t62 zwG&HH|=#pZ2p1e3_%|{5`I=?W~tU1Zq_|e>T>l& z9n+tKXRh_UWDe_`Cfbmo`N6{BPwQ5FgKFLLDg6(2)Xc9iU#BcSYwx6d_nhmg+vIOp z$yI5+?VovkBpX$79ynK@9gAG_UYD)eHSU1N$ zUi7I*RPm)tg4o4bhYxxE&34u1e(*!&4}XHiuk87I{7&tE^VZ|wxtjLA7wc<-{@ro7 zF!AhW;XmR(3RGnSP2?jTx6J&UdVp){{_pX=nURbdw?eDc4kT@6X8S*jWjVtUrx!9^ zVlnp~KTczBeEU0jH~Z2;w$H3TXX~G3*%o$VZg$6}6Km7HsV`dia^1z6by=4;F`aO# zH}l$QnJ0K>{xm%+Avs~2T^jf5RCU+Bn7oUDWxK>04{ve*{!_>Q8Q$x(KCZL6;Npoh zc}AOEcb?u=aW`>^`_B+H3%>YD@_^?7%!-CX24@{aq}10clQrI#R7#SB;W?aT6+;C7y!FJMN zrOmRoY36)lQ{sFV9nUG>ev?=Er)18Sz$*_*kGXABTyXip`44fo_9>Jn3CR6hax>b~ z(cI&0Zb9NZ3)cN_jjD|g=9(9j&HP)o%EgdTW?=>U+Qba@d$V8qH*9rS#BeL|QNq0Y z2`Vd8824z;hzMIhcU7Pd1M?Bpu*a1SN2ga6dT#alnAKKH{QuK^HQJ*!OsVTIHdFh|BgLVfcpS*3qES|f# z=#^u|rcLjxlb628XZ(BVDO+&$nY=YB5pGd-Ed07=)foOgMjNGxZK zV$_S76Ss)Oc=X?tom%(vbP0l+XkK?j>qu literal 0 HcmV?d00001 diff --git a/etc/texture_coordinates.png b/etc/texture_coordinates.png new file mode 100644 index 0000000000000000000000000000000000000000..3470837bfa52ae3cbe7e8f499ecaedc0eb4a49b9 GIT binary patch literal 1603 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<`j4|uvbhE&XXJ14#)q*Ua%{r%FbrW%@>uDYk&|6E=dVkfb$^-F+b=9De`b|U*! z|JI&3s-snMJ*4o%h`3 zwxvx8NhJr^7aQ={%rx@<#PwmNNv1>9hWJ}o^h=kY3orS#Wai&XW)Cj9J@M8%pcKJx zlYfDK&HL$Q%g)VgWqjFK8+83f;ruTFPYX8-*yL`IuGlO1a}w7E?_FLOiuuCIX65F! zS2w1&E$N$5xjEs2E$6hbmTMuh=B>BSR9T&kV?Jl96d%O6?BLl07gf`aGm6cS73`VQ zR;l@!?WSif*9`VKYj`Ahwjbv0{LCilsdb=ILNH|dZ_QPc7D-CXkzYGw_Jdz(=axsR z?Bx-WVM~kUS>bDNI6))zp3ato6AqrTy)=DtLZtMan{O;lo0o_#xcp|p!HJA76B`&K zvNz;!ycw_gIc*{DJrfH<$uf?2Y-UWyXW6bdyp@nH{l;Ui`^xuh-#kyV&JT{dA|coM zPH*#H&&g~vJ@p(e+&Z$iLCo<|lIMDls7ojI@a_~>$ka-BDz7CM-!b!ZP)Zu}BtJ%L z)xUf)4BHsvXWT4UwdbTiYTG^efHEFG6`uvKN~#IS-N_e z_}Lt7%gK9~X57@&i{)O?xkP8tpLmd})*CSoaucRp5->ow1S^S+;RZ z%3BojiJvjLQ8vwNl1)Cx1u2hRR!?{COS>ml5n6%6M%8RrNyS*WuV_?a{!DOki_;1|O1yaldcmcw%w zR!9Z{o3Mzpo+T3n60Xo zgX7Bd%`f;H&mOo{c+9DxDX5>}wnnb#_nQ{UiXgekD+C`rl{&2G;Mm!!@cc;729TGa zuJv6|ya?hYjt6sIFwPMc1-sY@?43@v3zmU!KXW{olfg6>n}T9jCXZP*-zIEgnDpvr z{ow^CQ^Xt|?R&L0sX=p6+yb43B{vTUSNa)vc&jn0$T8Y6riC3l`zAlZbOYZErawG9 zPpywCs79J~R>{0zytnq_l=lsx4&nu3KdiRjWIcH@h;bXUcjG>($9t#j`@xrR;mo-w zCfgSxU|9M$&=z%8E(r`66Tg_ wK9j_H-MG;B1T+CaLkk{K@RWg5;t%(}x&!Oh3w=Azz`(%Z>FVdQ&MBb@03_M3&;S4c literal 0 HcmV?d00001