From 0a6c8e660baa2d5919178134f99a8d74637552ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 27 Jan 2022 15:47:59 +0100 Subject: [PATCH] Shaders: change icospheres to uvspheres in MeshVisualizer tests. The icosphere doesn't have texture coordinates, which we'll need for testing textured object ID. --- .../Shaders/Test/MeshVisualizerGLTest.cpp | 44 ++++++++---------- .../instancedobjectid3D.tga | Bin 2511 -> 1554 bytes .../multidraw-instancedobjectid3D.tga | Bin 1635 -> 1562 bytes .../multidraw-vertexid3D.tga | Bin 5821 -> 5456 bytes .../multidraw-wireframe-nogeo3D.tga | Bin 4183 -> 3909 bytes .../multidraw-wireframe-tbn3D.tga | Bin 5096 -> 4832 bytes .../multidraw-wireframe3D.tga | Bin 4221 -> 3957 bytes .../MeshVisualizerTestFiles/objectid3D.tga | Bin 898 -> 906 bytes .../MeshVisualizerTestFiles/primitiveid3D.tga | Bin 2418 -> 2335 bytes .../MeshVisualizerTestFiles/vertexid3D.tga | Bin 12015 -> 8839 bytes .../wireframe-instancedobjectid3D.tga | Bin 7680 -> 6907 bytes .../wireframe-nogeo-instancedobjectid3D.tga | Bin 8474 -> 7548 bytes .../wireframe-vertexid3D.tga | Bin 12019 -> 10120 bytes 13 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp b/src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp index ea3972327..f34975ad8 100644 --- a/src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp +++ b/src/Magnum/Shaders/Test/MeshVisualizerGLTest.cpp @@ -3166,16 +3166,16 @@ template void MeshVisualizerGLTest::renderObjectV #endif #endif - Trade::MeshData icosphereData = Primitives::icosphereSolid(1); + Trade::MeshData sphereData = Primitives::uvSphereSolid(4, 8); /* Add the instanced Object ID data even if visualizing just uniform object ID, to test the attribute isn't accidentally accessed always */ if(data.flags3D & MeshVisualizerGL3D::Flag::ObjectId) { - Containers::Array ids{80}; - /* Each four faces share the same ID */ - for(std::size_t i = 0; i != ids.size(); ++i) ids[i] = i/4; - icosphereData = MeshTools::combineFaceAttributes( - icosphereData, { + Containers::Array ids{sphereData.indexCount()/3}; + /* Each two faces share the same ID */ + for(std::size_t i = 0; i != ids.size(); ++i) ids[i] = i/2; + sphereData = MeshTools::combineFaceAttributes( + sphereData, { Trade::MeshAttributeData{Trade::MeshAttribute::ObjectId, Containers::arrayView(ids)} }); @@ -3185,9 +3185,9 @@ template void MeshVisualizerGLTest::renderObjectV shader is disabled */ if(data.flags3D >= MeshVisualizerGL3D::Flag::PrimitiveIdFromVertexId || data.flags3D & MeshVisualizerGL3D::Flag::NoGeometryShader) - icosphereData = MeshTools::duplicate(icosphereData); + sphereData = MeshTools::duplicate(sphereData); - GL::Mesh icosphere = MeshTools::compile(icosphereData); + GL::Mesh sphere = MeshTools::compile(sphereData); MeshVisualizerGL3D shader{data.flags3D|flag}; shader @@ -3210,19 +3210,18 @@ template void MeshVisualizerGLTest::renderObjectV /* For object ID we set a base ID to verify the uniform and instanced ID get summed. */ if(data.flags3D & MeshVisualizerGL3D::Flag::ObjectId) - shader.setObjectId(20); + shader.setObjectId(sphere.count()/6); /* For vertex ID we don't want any repeat/wraparound as that causes - disruptions in the gradient and test failures. There's 42 vertices - also. */ + disruptions in the gradient and test failures */ if(data.flags3D & MeshVisualizerGL3D::Flag::VertexId) - shader.setColorMapTransformation(1.0f, -1.0f/42.0f); + shader.setColorMapTransformation(1.0f, -1.0f/sphereData.vertexCount()); /* For object/primitive ID there's no gradient so a wraparound is okay. For the object ID this should cover the second half of the colormap (due to the uniform object ID), in reverse order; for primitive ID the whole colormap due to the repeat wrapping */ else - shader.setColorMapTransformation(0.5f, -1.0f/40.0f); - shader.draw(icosphere); + shader.setColorMapTransformation(0.5f, -1.0f/(sphere.count()/3)); + shader.draw(sphere); } else if(flag == MeshVisualizerGL3D::Flag::UniformBuffers) { /* See above for comments */ GL::Buffer projectionUniform{GL::Buffer::TargetHint::Uniform, { @@ -3239,23 +3238,23 @@ template void MeshVisualizerGLTest::renderObjectV }}; GL::Buffer drawUniform{GL::Buffer::TargetHint::Uniform, { MeshVisualizerDrawUniform3D{} - .setObjectId(20) + .setObjectId(sphere.count()/6) }}; MeshVisualizerMaterialUniform materialUniformData[1]; materialUniformData->setColor(0xffff00_rgbf); if(data.flags3D & MeshVisualizerGL3D::Flag::Wireframe) materialUniformData->setWireframeColor(0xffffff_rgbf); if(data.flags3D & MeshVisualizerGL3D::Flag::VertexId) - materialUniformData->setColorMapTransformation(1.0f, -1.0f/42.0f); + materialUniformData->setColorMapTransformation(1.0f, -1.0f/sphereData.vertexCount()); else - materialUniformData->setColorMapTransformation(0.5f, -1.0f/40.0f); + materialUniformData->setColorMapTransformation(0.5f, -1.0f/(sphere.count()/3)); GL::Buffer materialUniform{materialUniformData}; shader .bindProjectionBuffer(projectionUniform) .bindTransformationBuffer(transformationUniform) .bindDrawBuffer(drawUniform) .bindMaterialBuffer(materialUniform) - .draw(icosphere); + .draw(sphere); } else CORRADE_INTERNAL_ASSERT_UNREACHABLE(); MAGNUM_VERIFY_NO_GL_ERROR(); @@ -4132,12 +4131,9 @@ void MeshVisualizerGLTest::renderMulti3D() { CORRADE_SKIP("UBOs with dynamically indexed arrays are a crashy dumpster fire on SwiftShader, can't test."); #endif - Trade::MeshData sphereData = MeshTools::interleave(Primitives::icosphereSolid(0), { - /* The icosphere doesn't have tangents and we don't use them, but - concatenate() will ignore the tangents of others if the first mesh - doesn't have them, so add a bogus data at least */ - Trade::MeshAttributeData{Trade::MeshAttribute::Tangent, VertexFormat::Vector4, nullptr} - }); + /* We don't visualize tangents for the sphere, but concatenate() will + ignore the tangents of others if the first mesh doesn't have them */ + Trade::MeshData sphereData = Primitives::uvSphereSolid(2, 4, Primitives::UVSphereFlag::Tangents); /* Plane is a strip, make it indexed first */ Trade::MeshData planeData = MeshTools::generateIndices(Primitives::planeSolid(Primitives::PlaneFlag::Tangents)); Trade::MeshData coneData = Primitives::coneSolid(1, 8, 1.0f, Primitives::ConeFlag::Tangents); diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/instancedobjectid3D.tga index 8c4e19df27f669c826cfad3657f793209a14018a..37728931f4c973a3388bd1c2aebd9e720cf58ebe 100644 GIT binary patch literal 1554 zcma)+y>1gx5JqoAN9T@;lIO{zq+Dj@}uF2NX{S!IbC0ZS=N>4XaC#qU#;h3Sa(39;L@y%DY5S@*}Pw`CZ68G%^Q6 z9bSXaqLtiX(|}jf=6(`>hlA7Z6h4Ay@ZI;Yx!3O$%+O|NPC<0A73Vqj;^`@F7x^sQ0{WB*p*+yvWY+37mbD19;&B2v9ab z00Tz8k8DK@?ZFh-s{dnkbyYXX5T1q8->dK{{1pDUyu2LRdwf;+>-V3zYNPP+Yk2n! z&k9Szi%&RTN4p6B{HER_IoJ{=g?R*cz*2w=xk8(xWoY{EqE?{I&}y_CP5&*Hbb*zZ z$R?z$bbXdf^&Dms}QN}9QFm`0kIDv^s5kpOptnwVp{%#l>=A>8nEU(*S6~m0er@yJtqya8{PtW+XOTvfm2AAD`%K3oJ%+7 zs>fND1Rs(+-{d@FF0b3S=a4j10U9wI@(5-s_I?o;<6;Q=MITe8}5YGpmxu*vnJ%M zo#s0gD)O>WSbrX$`-n->@f{x_s`bZwe$D4>4)_04ycdH*CcW9gT_Wc1# zq`?wgOg_a*BDiRiNVuXpfs}!)cnx9+T|>%M%@>)v9iF2v@mmacnp*d|Y-cGz8juCj z93_J3fc1eE%gglNBk}0C#>LiivEuA@FUIN{{ltj&ei|` diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-instancedobjectid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-instancedobjectid3D.tga index f9f4c49081c7014198dadd9e8436eaf6874ce959..9bb7ed47f1d2faff6b0b6f7f781eb0e2cdcfa7e5 100644 GIT binary patch literal 1562 zcma)*O-|cT6ou`87<85yLMkg@T4sz;nIW->E`TNY-;NX7K%k^8P+HnSg#_y;1NOlx z_zu3WzLSJTzVh>T&bjaTJtvCZMB#T39YpKV<8V0q-#Wt^A8zk(n^N=Jr;QQ!Q)&hL z{_Q(19zHp7#yCMtkvu;!p2I&n|1skfe*r&oe9Ab3m+*<>>M35s$BwIK4sYPCZO zv~VtUsgaM6OUE^Pi21Hsx_FDe7#PI|!rjozK-+et{OVPVALMVy3W!RPBbO%DRbN_Nme&O9fRaNu{Nfxaw1dNtOz# zQj!WwDe=8eW@K~PT2@_`t3Uc|N;d1W$}Lxa_SuAN+GmwpuHN9#gbHb_ sTI)^-3gqfeNPT`$nj(Q}tXl2d|9tB3n;LX^bG;CpT`%Rre`DGG83ilb0{{R3 literal 1635 zcma)*O-=$q6oh9Cap8^~G3wrgt;W5&G~r6q^Un-I3`W6!1s6mU*Crl7iSY&=z*AVo zyrEwRpoABi`l?>{boV&Unp1unPQ$4=U)5^$zcqrl_w=*g#IGKA@Za>mYu>nXkUW2G zWXjhT=7YsE>{wU?7J;#E*}o+$0So6a7xMvSD1Qd$hzf2APE}{FPH-F8AgwVMA@~H? z15Q+$R>56h7Z^%B>v((J20caT@T7NvCcWQ>d+y=p4#JUYK$n4wtMlhu_zbki_@% diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-vertexid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-vertexid3D.tga index 1c1826a69f890fc44ac7e618ef2afc03874780a9..338bb910bf2600ee30ed75d23d6523b6bfe75a03 100644 GIT binary patch literal 5456 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 delta 1546 zcmZvc4N%i%9LL%A-y3fm0~w&m!U&L}2pWho(sOtgAf;yA5lVPw-f3qc+MSn%@v@l# z{V(b|HS9Xg$<>+KRd&90Xut*=8{w zP9?J`U()vap25?`$);H^SO>lsrT7L|X)r}#&AP4;Ty7Pv;^1L_e>#R=8JJI}cKG<{ z&>&fip{%nRgt%bH+5eb^kEKaC1^te}a`*9@z$`)vxuQ zYI4H}V_2IO!1!I59= z4}l==JjVSP8-k{}dH4hkhe@x4;$%lqcG)&|d4}p{Cd3v3 zLV~Z~CwKpEU_=0Xeal@?G6c~A5W3g|tqR30AeGa79X7 zjqc{Tf9H$veOcVrl3^AX5^l;Zv>mRy2gxlE2Ct9h#=wf9JNZ|*=Ps9_!28Wrl3vAkY=T#?(32HI!d8;DU0vh9-P@r5#v?)Op zPBu*Z&@=sBmE)=BtZW`xUUWh`OUfy<9XmgM{lP!cg#|hVwn3<%_X?CMQY-%1+ibW9 zg;aCNwV|jVsew*_K;J+Qf!l0LU^2W%W5-<(G=u1Rgn&)OcTRYW@!MU``uskeLV_j1 zMi3#vMy3rgBE2=^UH!^!s1b-tS|wDfNI&sMw0?DXkhlGxkNO3+MlZJ%lnk@7L2P!G z-dRvTI?H5ORGY|;cu`5$2~$=PL=bfG;fcH7H2;aphTwN=>^G<8YA@e^xxj`hM9WCa zB6_vssl(G%IX&mviL5cs_f7Bn%z;m&dP0q;_v1Gv zUVVE2JjOall=v*Mrhp3xGes!ckXrPdBbWm8m7;?qC=|p4bse8V`jnQg6(vNF7S4fY b7e|{lm|Q$sAR;f)(pFI%M|UAWoF@1ShXe7( diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-wireframe-tbn3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/multidraw-wireframe-tbn3D.tga index c5c208c058ad2725bc77ff2eb49fc43f52b94542..ea3841403f6a4972da41869afed7925c5a1282dd 100644 GIT binary patch delta 1163 zcmY+ET}TvB7>3=M{gtQ`q#_6mvQ}lmkYtJ_2qP#9gziMBi!Mxzly0;L`cZdvU3WVb zfmjfDQC&oYhBp=w8W?rakD(V@Ypf*xfS9_iyFF*lGTXuobIyG4_nr59-*0Aa|IEI~ z!!7p<3JPqcmEU+oqmOnK-eaM&H%?5pKKRWh5*^;V^DYYqZ)-2iH22KCPoz|=S8TPF z?GXfB1fzq?#ojLiA6Gx5(-tHw8f`w`9UvYBX$r*8HvAadNP+qv*aO6!m(Gi~Ulg@k zkyx=6mPC0ckEQafUx`E2lcDEJz zhO{bgZw`8NZIi|>hvq=G=b*bpscsw$gU+xg3i|Q*s_OLhVsd;_wsAWrEhzeRw;Rthd z5XWU83Gy z<&Bcyv=Xpd%>roii7!?>EYhB`BKa4w6USuBv0hP~e_)&Z-)JbVT#USI%D?LQ2hbXc ASpWb4 delta 1434 zcmZuxYfMvT7`8Xsj>V<^S+e~ZMhBIxP^?0Wh2cH8PC-<*Oqp_1QM1j>OX_7Hw{{F< zCxC1QC4g+q#Tn;t%G8;S2`Y07t)&#&BBhj@wrjbyw0pjDTmsvY^CjQ;&htF)`+o29 z9?Rmv(9<<9H;F_d*1W*Hj$mOW7TMxNgVj{7Te$QzHuFC!cO0o4O3JjXP3={zHzsFU zPSlJXKRc}cV)$s)(BX=qLzDxUq$~^2TIvN>cvKm7&!r!;)wa14l1y9o^??m|+TnhQ z!jM-t`ip1gejt#C#nOB;M$=MRlGsx0o?rh?@8`|VsQ9kz+<}&1FT?zGe5T;SXr$8c z?!m|38YV!@#bW=^KfP>a7g!pqi6xEy47&vp3d5}X{PcAQ;m+w#@M$`%(s5)Nm!$SE8I)wH@3x0@4^O#mTL)q7^}im97y zx#ClzfQw$Ut*8Eh2Vinla}@G%z`O47zF#ubk6CBjl4HHx zGYKS#H-}z8=NHwIBo-!4tSBPjOT93uq#GK;M?V))gDNp;1Ulcybk~IT&WhtsQ}P(Bs;6_dP#pIiA^f zPsD}yW&#%;jwAh7BXryL^;O??p^XyxqdoZpwBi|_Jdrfv#r+!l#YYo6kM@U3^)UI5 z_UV7g;T2+ye~iNlp^^HnIo30`T&)wt-&C_xme7Ssp}ah$ipYtef` zRZ0)M4j(cWMZRDCIlen@0M0^rRX;rwqW!bCzz*}rCNd>w1<6+vpUvO?@ngs#+BMts zhh+}bldiTgawrBaPT6g(YH?wJfT1t;XQvNC`N{ba(2J-CLGoDQ`C!JXq#QqSb8@y7 z$%|$B&Dqw<8%~B#_q3tIvoKs2|CWj7%lPtW!e^^?nlTpOlWc>Kdx*FbP2IT5^5vbs zm^mVJ_Q`W2>)!4KqnN7ZN7FMOj7h^MJn$Rle}A$4Quib-6cQ+#@$f&UfT?kFG=GXO zTS5LAqBvD|vyF5HGmrgMdL-L?{_0zD6vo||{cC~kgHM4ZgtTT0g(Xw0PexQ01igt+4;{y-675rmn928uoO$56p)t(7D-WK%a?``x|EYzuRkxpTko-0ytn%&cyT7qpjO zx#f1dEybmuxJBgSa8Az1I#(yr%X{f~y4xkoL6umEQx zNOTZ37)MTgscW5nn@B2N8?STV*+va7H^pB0{W|h8zd*3(fD-AMFZ6u4I}#sWTQiAa zp zmQs%_#jc?21|QB+=WAK$7I9cB^T+}+=z+ym3OpN{2IXF1D(44-?ac+AKj8~nDUh10Z>R;&jwmh)3 zN{WW8Gy!o>H!4D$o^QH^2~>twoF&VHkBi|abG5-(<*`YxF; zI%iQ7Vt5fCbg649alC#i#cHw{#nPG#OEy}^O?*Iqnx*yr`U^$m+I_Mi#TmGqA|2PCLNgI& zt5d^fLPKKIxxG++y-o$Ks*BPpQgWH7R^fAbH_G3FJf0TOO8R2%hefArYrg!^SlOq^ ZX2;sZglkKl{6T3ruDaO%)Rud}{tv|^n2!Je delta 1436 zcmZuxeNfY79Cz%68J!nhUU&V`VP^?ygW(i57=(g)*is15x{Q=J1?4JB@$e;(0b3ln zeg{N#Du+N(oq1;XLZMzQK_cqd9AmHz8Drx`Slf8pMxW>RvpcBnp6BlQJ-_eg^L_h# zAJ_BVpmQk3$2gRR78vnnrW!#NyQe4w)BSKE^^O8Jv<07tkaGU2_(9r z`thG#-p+-EB5ao8>j@e)DM+Zm;mPf94t&xw6&~B0T{zr2I?n)qaeL*B<6%6F zn!4R7hs==)`tt7{-JA0-g&h%ai1|R*#IL1 zDtpHWTp5+>CzgCn7*O(rJ^hz{bHSKYZ3#m$F1R;s^Y50A1cmgxS20rDFiyko08To| zj@+i-ool|*KLbnRZwXvZ;2qwDs+&`<>@w_l+bERk04k-T+2Sx#SoW&5Jy~Zgx9sz< zB+iz=OUcDm(=04PHfX6EY-t1yTK%#n^R(r%p7{I^s05cB_`KBR$~a|#DeW+xBaP+k z$}nx((u;22b$DR)zuEc&+VHyz{4WYLd-Dc&=a{2+^ns&5{OIBs;H6Y1PfRo)5x_{5 zq~jxMPR=$X_z;oy^=xzXttkdi_q3tQ^};$$>}v)Z-$~=S;j;ZkOaKUCykWy1?y>KXp{~uPdhfG zp7B9t#n@a3CgUU#c%E_u@dKcwO8D!ZBkw9p7^B;nZc diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/objectid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/objectid3D.tga index 81654345a7acbb4de7d5d8d75d368348e8426238..ecd58d0b062ef4ca2ed0c66308652ce1473e5c03 100644 GIT binary patch literal 906 zcmZ{j$4)~r5JkO))!Xq|+3-c71VShYC4dsTLT{q?w&#~PN3tc$3X!hv@tuj2=Qj>v zB&1I*)WTT!t*R>54(oat9Y4aiP!rz6d#D5Jn+jgT*HIr{#k*)5Ucp`OMqY*wV7-F| zu--<8k(c0O*i1fw^+j|B>kH^S@;rPAo3+qY#@Dd*IdlVCZ=&1Cv+zA^J?9zLkL30? z&{O1T_yx9i3cY6h2K&89^d5Nv{)FA5j=mzB%kEe5H@SP8|G@62%oCeicRh^#zWw&d z{+7M}vH#h_o6Yl4@kf9G}m2Y2r*|7DMTiS9E#Yi(Zld)+IO+~4hQwy($kGLL&M@qA`^Jlpil zy%+Don)m2^MfV=@npEcgExbuah#ww{suh&ZnH< j&aHFY!*@w%y^UM*eQ4so6CJ4G$7B!6c%K}9uU!8FvlhPz diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/primitiveid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/primitiveid3D.tga index ef0ea952501b7c8b00ef3e30c7d1b343ffcd55c3..b59725ea85af8a79c96b7ada93a7e4082e168aef 100644 GIT binary patch literal 2335 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 literal 7680 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 E0c{%?qW}N^ diff --git a/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-vertexid3D.tga b/src/Magnum/Shaders/Test/MeshVisualizerTestFiles/wireframe-vertexid3D.tga index 666913719e366a16b04e9b4d220c8590a557cd3d..5dc692fca657bc67c5f98bcdf4db2302e7c4d013 100644 GIT binary patch literal 10120 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 literal 12019 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