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 0bb725b5c4..c77e9c5c8c 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 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 BYGeQa 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 zcmZuxdpML?82`R8GiJs;27^?hMObnhLRiY=NfVPzVZOvC>wdqqZ8J(WZClf@8H}2p z5S1c5E-lk1g{d(Qx-cqci&DuYr4+TF?fS=_=XuY2&Ut^&dEVbSzxU)HOo5moZ<5xoDL3B?{@(W2t@qG&hdYhMIp@)<--z{lD ziEvux_LL|fGc(gBCLuO;$M&Qso5Ympl5sZ!0Kg$MA1_9h;DvyBkddy_v1Ta!j-$DS zg|GF^19P{|Gd%Rgd9UbRF$I@2Jaoin^Se8*TUq8<)R>r%;?zvIyj)Y2Lz*NLIz3ZQ zCCu5@QQN2CxX*)IZPI5B)Rh}bSO zY*GM0AWNVSgLMWQ&GdVz;H;Jz-IH#(w+R&!PnZ{FSmPod~7NhXJ#TlN6qAyrd%`Z{B zgJq{fOj}fSjPP)nYUKvoHpo0`(CShvxAlg5Z(%+ZVt8LZ=Hj@wj4Zr0CTu+hKHbg& zx5U;Y*25t2OB@jj@DAmRK4y4;D=aM#4(G0C2V0yt)xk z4>I}kq%+NujUcZ=X%Arekv`SviZ9eM`zcOzA@$8z3=e7|&dHQf!Tn-SS_?eWPn{}7E;hfUMqe%}l}xMIpTw9ZU~^c1vnJTD zVL=Pk#@;^co$EZ-3J^=8+C7?-8p(VZ{y03_{+cjpJ-K|+ZW3?1v%Rj|jz~>}3k88U zFll`Gi>9st3U3f|!h{VJ1%QiwH>YGBrL3q`*XL%*R3AMQ`OV*a%;N zvA^+XnWvY;5{Xl!ZH~h>*3VI~=H?+dDi|6>F2NghWx9HuLc`0T5B= z?Q3CG0=O@lM_i`f05T2*K zQw0;O&7OKmx^G<@zd%HgYjWw?t0=V``Qsa^_Q2f?ATpG0n=-YP$>_zVB7$ zRpOOnP;Ip_ctmMehoNm-?UHva6+A0Qnr4hJ3`(*ph&jR@Nx1Ss1cdztK6$>5n bOJGh#{2Oxq!lIcDwBZ9Z-vFQU-catpB-yXf literal 0 HcmV?d00001