From 60cc7bb562ee4e9eb2180f22c939df3aa746d13a Mon Sep 17 00:00:00 2001 From: Anakin Date: Mon, 21 Nov 2016 15:02:33 +0100 Subject: [PATCH] fixed messed up textures of the cluster --- MshViewer/Source/Object.cpp | 6 +++++- MshViewer/Source/OpenGlController.cpp | 2 +- MshViewer/main.cpp | 2 +- Release/Msh/1.tga | Bin 0 -> 49196 bytes Release/Msh/2.tga | Bin 0 -> 49196 bytes Release/Msh/3.tga | Bin 0 -> 49196 bytes Release/Msh/4.tga | Bin 0 -> 49196 bytes Release/Msh/5.tga | Bin 0 -> 49196 bytes Release/Msh/6.tga | Bin 0 -> 49196 bytes Release/Msh/quadPoly.msh | Bin 0 -> 2336 bytes 10 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 Release/Msh/1.tga create mode 100644 Release/Msh/2.tga create mode 100644 Release/Msh/3.tga create mode 100644 Release/Msh/4.tga create mode 100644 Release/Msh/5.tga create mode 100644 Release/Msh/6.tga create mode 100644 Release/Msh/quadPoly.msh diff --git a/MshViewer/Source/Object.cpp b/MshViewer/Source/Object.cpp index eddd393..e1fee88 100644 --- a/MshViewer/Source/Object.cpp +++ b/MshViewer/Source/Object.cpp @@ -131,6 +131,8 @@ void Object::analyseMsh2Chunks(std::list& chunkList) std::list tempMatdChunks; loadChunks(tempMatdChunks, (*it)->position, (*it)->size); + vTextures.push_back(""); + // analyse MATD subchunks analyseMatdChunks(tempMatdChunks); @@ -193,7 +195,7 @@ void Object::analyseMatdChunks(std::list& chunkList) char* buffer = new char[(*it)->size + 1]; *buffer = { 0 }; fsMesh.read(buffer, (*it)->size); - vTextures.push_back(buffer); + vTextures.back() = buffer; delete buffer; continue; } @@ -389,6 +391,8 @@ void Object::analyseSegmChunks(Modl * dataDestination, std::list& /*if (!strcmp("NRML", (*it)->name)) { fsMesh.seekg((*it)->position); + std::uint32_t tempSize; + fsMesh.read(reinterpret_cast(&tempSize), sizeof(tempSize)); // List of normals // long int - 4 - number of normal vectores stored in this list // float[3][] - 12 each - UVW vector for each vertex diff --git a/MshViewer/Source/OpenGlController.cpp b/MshViewer/Source/OpenGlController.cpp index 565f32d..9f70075 100644 --- a/MshViewer/Source/OpenGlController.cpp +++ b/MshViewer/Source/OpenGlController.cpp @@ -324,7 +324,7 @@ void OpenGLController::updateScene() { // give texture to the shader std::uint32_t tempTexIndex = segIt->textureIndex >= vTextures.size() ? vTextures.size() - 1 : segIt->textureIndex; - + glTexImage2D( GL_TEXTURE_2D, 0, diff --git a/MshViewer/main.cpp b/MshViewer/main.cpp index 4a166c9..680742b 100644 --- a/MshViewer/main.cpp +++ b/MshViewer/main.cpp @@ -17,7 +17,7 @@ int main(int argc, char** argv) else scene = OpenGLController::getInstance(); - scene->loadMsh("..\\Release\\Msh\\cluster.msh"); + scene->loadMsh("..\\Release\\Msh\\quadPoly.msh"); do { scene->updateScene(); diff --git a/Release/Msh/1.tga b/Release/Msh/1.tga new file mode 100644 index 0000000000000000000000000000000000000000..59cc3e2a73c638c6a95e0d3d7f37740e23313afe GIT binary patch literal 49196 zcmeI2y^3a46huFK3SUA~Qv*k6@CU{p#Kg?Z$k1eb9RrgI3`~498(N`Y!J?qgcTeBG zd+1NCFa$16 z;Ilu!oS$bBc+L}g=IQyz9|;Wqz0Y9y5C6Rc_FkX&Km7L+*n556|M1^SVDI&L|F4z* z+xI`t&m#f<{oe2W5Bw(r!+-Bf82-b5FM+++=lu`=y#)4NpZ7of_Y&B9ecu1@CxM^- z`uWxTuw5!I^ZmaX_>V=BHs|4g@830@R9BZC>}ZY?q2tBGq1T=gh#_8-$^GXrOD-$^GXrODbgr*#mx@y&)n0Mu%)t3vggq_WrQ(!&+T3*K z%)r?jo$D*xrQ(!GwO8CZGjKi^VNc6;sW_#cHaFclGjR4s=laTasW>H4?G<;<44ltJ z*weCIDo&}V%}saC44l2uxxTVpDo%-1d&QkI1Lt!Q_Oxu5ic{)obJLwO!JM5?{w z&R1rh-JMcTo15;O8Lm7#B~tAbcfK<7?Cz9$+T3*K%y8w|DUoWgxbu~nXLqO6)8?i- zXND`!PKi`|#htIrJi9xko;Ek#IWt^&c1on$EAD({=GomT^|ZO^&hxb)K&rjc_|J|L z=xKA)o#$&qfK+>>@t++h(9`CoJI~jK0IBv$<3Br2pr_4Ecb=~e0aERi#(#F4Ku?>S z?mS-`0;Jk2jsNU8fu8nk4uK&s1cty67y?6J2n>NCFa(Cc5O}QwZvXxH_U(6XzJK`U R;p?wH`r-43FW!87`xmdH@v;B_ literal 0 HcmV?d00001 diff --git a/Release/Msh/2.tga b/Release/Msh/2.tga new file mode 100644 index 0000000000000000000000000000000000000000..6943c437ac2669e9a7f1e7f5bd1396f7b18c1ed1 GIT binary patch literal 49196 zcmeI2y^5Si6hsFNCFa(Cc5EueO;OYdv{Qf?l z&m{0U|HAN@SI=*MAu#;+K7-*u{Pz;rd;7fq;lG!_-rMK>5C6Rc_TE14|Go16=IK74 z7XtqMKJNVw{8s|QfA32e{=H4 z?G<;<44l0Y3G7uoE!(BylzQ6Sbmz>#*&FSp&D%XK+oj@^NVQkoIWutfMkKIT@w9B0 zic{)obJLwO17~mKwEzD1zWn1idRn$i#VL_$ueft&;Ovc@#&Y;ChJK@`WxG_IQcs(k z?wlDodn2bY{9nI|;s5%I__|VYN_^G5;?9|Y^Su98dOdA!4*z-otNt$Vzj6FeEB|z- z;;)pix>wveGjR4sPGc4G^zj=#E!(BylzQ6Sbmz>#*&8{H#*&8{H#*&8{H#*&8{H# z*&8{H#*&8{H#*&8{H#*&8{H#*&8{H#*&8{H#*&8{H<4-*;+oj@^NVQkoIWutfM#mHO8$B)CrQ(!&+T3*K%)r?jIgR5_JuTa% z;*?0WSKK)>aP~&W6ZRWDE!(BylzQ6Sbmz>#*&8{H<4-*;+oj@^NVQkoIWutfM#mHO z8$B)CrQ(!&+T3*K%)r?jIgR5_JuTa%;*?0WSKK)>aP~&W6ZRWDE!(BylzQ6Sbmz># z*&8{H<4-*;+oj@^NVQkoIWutfM#mHO8$B)CrQ(!&+T3*K%)r?jo$HkCQgKS8+AHpy z891Mdu%~6aRGd;zo15;O88~~RbDgqXDo%-1d&QkI1Lt!Q_Oxu5ic{)obJLwO17~k^ zu2Z&4#VL_$ueft&;CwE^o|f%WaY{XHZn|@3;Ovdgb;@?BI3-f;6?e`IoXCTzq%Cl1<)n0MuD>KjT zPN}EOO?S==SDu{`srHIHUzvG!cS=2NZn|@3xbp0jNVQko`O3_*yHo0EbJLwO!J zM5?{w&R1rh-JMcTo15;O8Lm7#B~tAbcfK<7?Cz9$+T3*KIc*4#YOgf@v*QGM+T3*K zIc*4#YOgf@v*QGM+T3*KIc*4#YOgf@v*QGM+T3*KIc*4#YOgf@v*QGM+T3*KIc*4# zYOgf@v*QGM+Os(XhQJUQ0z+U341pmq1cty67y?7!of5cx`t{p~-=F??{`L8npTGU< L$LF7(zPtSgP4D|( literal 0 HcmV?d00001 diff --git a/Release/Msh/3.tga b/Release/Msh/3.tga new file mode 100644 index 0000000000000000000000000000000000000000..9b18d5265d1ea91f20ffb456268cfde3d8f89ea7 GIT binary patch literal 49196 zcmeI2O^T#d6hsr(;J__7&>c8zp+FScA6$Xku&2%)J9g{_(}biU;J_iEUVg8#zT4E` z65lm$#HrUh@pAd%^7+rF%csj%m&>2m`56L3UAut4nzz`S$LtqFDfgx~m0$=`h zou5|{c+C@f<>~pyZv=+_-e)lUhyPvzd#}&?AO3p@?7cqkfB5euu=o1B|M$xO>%Xt_ zb0grt-^acGfqy43{P(_u;XnNM64-lv-v995OJMKydH=(IFM+++=lu_V68P?)>$~}3 zyHwuh`+qm^Z$*+e=i&e8-!+-1GW>^szK8q#XeLMcvt26l{vZ9jNZOo-|M2Ilcr=qE z{n;*+dH;|8T_kPJ!+-emRXCH6|6bqJkEdn3RG#tuzbW{)FvEZEZ)ErnfBv5;{%^MY zcOYkfQG03gx~FBkRGbp2_KG`a2F~7y1okSPmhDn;NEjnYE!(BylzQ6Sbmz>#*&8{HS=S+oihVxZ{#$R+p5_w zdRn$i#VL_$ueft&;Ovc@#wzCN;}<-$^GXrOD#*&8{H#*&8{H#*&99ASGG&VDUoWgxN~OU z{9J@RE!(BylzQ6Sbmz>#*&99ASGG&VDUoWgxN~OU{9J@RE!(BylzQ6Sbmz>#*&99A zSGG&VDUoWgxN~OU{9J@RE!(BylzQ6Sbmz>#*&99ASGG&VDUoWgxN~OU{9J@RE!(By zlzQ6Sbmz>#*&99ASGG&VDUoWgxN~OU{9J@RE!(BylzQ6Sbmz=)=GiHcYOlESnVDyI zr_|HtraNbbGtW+mRC~pp&&)i#JEfjBH{CfioOyOiq}nU)d}ij^-6{37x#`ZC;mosB zBGq1T=QA_U?oO$v%}saC3}>F55~=ozJD-_(c6UlWZEm{rd~FDjYOgf@v*QGM+T3*K z`PvX5)m~}*XU7Tjw7Kcd^R*#Bs=d-$^=W9cNRC}fIpB*RA)8?i-&)0?k zsrE|aKRZsKr#+iPUAut4nzz`S$LtqFDfgvyi-YtR4{m(BSfBo>=%g--A{rJuA L-@p9u;oHmqk|;a+ literal 0 HcmV?d00001 diff --git a/Release/Msh/4.tga b/Release/Msh/4.tga new file mode 100644 index 0000000000000000000000000000000000000000..9d3ebf2d3a3f3a8da9cbd9d74752617b8e390b8f GIT binary patch literal 49196 zcmeI2(TN>b5JVr2LP^+JNU&gRkR_o!lz>nO%D@>Y1E(hNv!UR?pTKWGyzkdn%-}iCvfAHT4 z4FA0^VfYXKy#)4NpZ7of_Y&B9ecu1@-%DWc^?Copp9H?Yq95C(@-pB5E5iRhX>%U_ zkN#Vec`Czy_~(1L&yQwuq(9rGGVlMaP~$duvhW4Y?q2t z>S=S+oihVxZ?u;-uX|dyOT{UXYOlC+X5j3NNMNtxY1u9nr_|HtraNZ_&fdsre|f;q zFM3+GOT{UXYOlC+X5j3NoW=w2fANc+mhDn;NPanVN zY1u9nr_|HtraNZ_&fdsrB)3(wU-YzWmx@y&)n0Mu%)r?jIgM4!)5kA*TDD8YDfP6u z>CTyfvo~@Y$!*o_7dH4?G<;<44l1@(^$nkef*-QWxG_IQcs(k?wlDodn2cj+*Zwg(bKYB zDo%-1d&QkI17~mKG*&TBAHV2n*)A2Q)YImsJ7)&Y-pFYrw^g%W^t5c3ic=!hUUBEl zz}Xu)jaAIk$1i$XwoAn+^|ZO^&Y6L;H*y-uZPn}-JuTa%;*?0WSKK)>aP~${V-@rC z@r$08?NV_{J#B8fb7tV|jhseuTQ&PdPs?_xI3-f;6?e`IoV}6LSj9Yj{Gz92yHuP~ zPn(zvyY%E)}QL)8?i-X9mvR z$Y~_ERkL68v}~7(QzF$~ap%my*&8{HRm{`JFM3+GOT{Vmw7KcdnSrx6avI5P)$A8N zE!(Bylt{H#+&MFF_C`))74!7*i=LM4QgKQ>ZEm`AX5j3NoW}8AJuTa%;*?0WSKK)> zaP~&W6ZVUqmhDn;N zZEm`AX5j3NoW}8AJuTa%;*?0WSKK)>aP~&W6ZVUqmhDn;NZEm`AX5j3NoW}8AJuTa%;*?0WSKK)>aP~&W z6ZVUqmhDn;NwoAn+k!r8Fb7tUtF2bIc?NV_{J#B8fb7tV|jn4Iz?NV_{q}nU) zoEbQui?F9J0()>6?eWe^X%@FdfMD{=ge^B*(s4~uekG-nP+#W z)YImsJ7CTzq%Cl1< z)n0MuD>KjTPN}EOO?RHJ4FOW^mBxQ|oIp>To9;Yc8v>--D~aRNPUZo2b)Z3vKRuQdL%;{7=x1XN=diwK^Uq8Ql`u**1x1ZMPlNta3 literal 0 HcmV?d00001 diff --git a/Release/Msh/5.tga b/Release/Msh/5.tga new file mode 100644 index 0000000000000000000000000000000000000000..670cdb86bb9caf57b160c9ee4d55cafb3517b8f1 GIT binary patch literal 49196 zcmeI2L5dt#5JVfD!k3WG;EeAut4nzz`S$LtqG8p1||`UQFO6kLbn6 z$KZMR?|lTrfB5euu=o1B|KY!vz~1Zg{)hiw0(-B|`+uwa|C!&v1pM#&xc5K!?*xYb z-j^`^hyPvzd#}&?AO3p@?7cqkfB5euu=o1B|KU#pU*FJ=?NWK2@Ba2IH4?G<;< z44l0Y3G7uoE!(BylzQ6Sbmz>#*&FSp&Fh|)?NV_{q}nU)oEbQKBNEuFcv`kg#VPf) zx#`ZCfwMQ-OPkj{E!(Bylt{H#+&MFF_C_SISMjuLmx@#BX>-$^GXrOD-$^GXrODEjnYE!(BylzQ6Sbmz>#*&8{HH4?G<;<44ltJ*weCIDo&}V%}saC44l2uxxTVp zDo%-1d&QkI1Lt!Q_Oxu5ic{)obJLwO17~k^uCHvDic=!hUUBEl!1-K+JuTa%;*@&Y z+;r#6z}Xv}>nq!(;*?0WSKK)>a6T7dPs?_xIHjI8H{CfiaP~&$`pR~xI3-f;6?e`I zoXJM5?{w&R1rh-JMcTo15;O8Lm7#B~tAbcfK<7?Cz9$+T3*K%y8w|DUoWg zxbu~nXLqO6)8?i-&)0?ksrE|aKRZsKr_D`wp05o7Qtg$-e|DTePn(FTNVQiQ|JiW@J#B8f^L%XxkZP|q{NC nFa(Cc5EueO;H?t4{rCIpkIx^zJpK9f{QLXAKR$i>@ayd-yr;wz literal 0 HcmV?d00001 diff --git a/Release/Msh/6.tga b/Release/Msh/6.tga new file mode 100644 index 0000000000000000000000000000000000000000..9a4b0d7863641f09a8de86e18060e64f2530b7a4 GIT binary patch literal 49196 zcmeI2ONv}a6hsTJK?83=1A7M=%FtkJXn*huv<~gOT(~d<95@7Y*2}JbSJdDt@+vao zRJJtHAut4nzz`S$LtqFDfs+&X^yxaEHxhWu z6MEy-^T%%lhX3AYF#L!AUIKe>pZ7of_Y&B9`@H|*zn8$?+voj%RQ{hoU*~fp;NS1# z-v7YA6Bzz`U&8Po{(A}Ry?x&Q@ZU>d@9p#chyPvzdvBljKm1AH%a`ki`LJCo@ALhC z82Gm$Nt^TVfAn`v=BW(-;h*o}K0lhtk^XF#%Dn$ae-}xc^Y9=3d=-yoa-=`or84jT z(ceYV<~;m|KVOA2d40XUtB{l6>tw=lzh?>931hd=+PivP`)e+P2*7qyo* zZ}+rpmx@y&)n0Mu%)r?jk-%QX)3RMEPN}EOO?S==oW0Rr+PvM{UE1+oj@^dfMD{ z=gh#_8#(Q7->%C)exs*lyHuPKsrHIHX9mvR$Z0Hxe>3zOJuTa%;*@&Y+;r#6z}Xu) zjp2X)E{6a874dbY;*|KRd&QkI1Lt}FcX~Z-ZVvx>|EvBj@PBdqrlg%XXH4?G<;< z44l2u@r3lg%XXH4?G<;<44l2u@r3lg z%XX-$^ zGXrOD^jxQGmx@y&)n0Mu%)t4%2zy$#OT{Vmw7Kcdnc>W{QzF$~apyBL&+bmCr_D`w z&J1Usof4_`iaVc~d3JY7J#B8fb7na6?375gSKRr`%(J^w>S=S+oioFkXQxD}z2eSi zW}e-hQcs(k?wlFUJUb;)?G<-EGxO~3lzQ6Sbmuv32#{*8H2$;W1bW)sbmuv32#{*8 zH2$;W1bW)sbmuv32#{*8H2$;W1bW)sbmuv32#{*8H2$;W1bW)sbmuv32#{*8H2$;W z1bW)DIRu8l5EueOUAut4nzz`S$L*U~Qxcv9)&)2`c{{8aD%kRJa^v^FZzkdDs F@-KJFrnUe8 literal 0 HcmV?d00001 diff --git a/Release/Msh/quadPoly.msh b/Release/Msh/quadPoly.msh new file mode 100644 index 0000000000000000000000000000000000000000..8a29e0bd0eb56a6b00fcbd8a521ef523f50f5972 GIT binary patch literal 2336 zcmcIl&ubGw7@f9SBPe+AprE%N8fatlqoS7X?8eQH>h31&t|1nRjcrgvQ7IAZp>?kw z^;WO(+>0m_Q5O-!i+J--@G5u`RQ%p%hwLt?StJ?q_I=+snR)ZrZ<2CBHBTL7Ot;FJ z1hKVb6xSJJhN2fv5?gD{yUiQR1-tO@{=Ln16LUpV(T@?25s)+XUCHMw^%*Y?J{%s* zD3%4jzF3iU#nz@K7&}5miq%zO=$;_%>gtVlbMsDPgE3XHl^oTx*(?`e4Eu-iY7Ff#vsEjWh92*=7~L2i_T-F=w1ju&9@D znvZyqspR@V47d?S%|qDB!RMy$`=j@rpqF!3Q+#EkBY{_sr}&?59SJ!Yc^og)N>MK^ zm4cA{TrlPk18&$0Rj9e>^UjL~#6d5Qw`882bR_WXw#@f`Ka!Axk;m~eNurVW;!-IJ z*{=!4JYqTQC7uUbhv5XhY%SFIo7toUZe6JHpBIx7axn5ZUeJGiyvS5`eIO3P4d!7l zG~?ZQFh;MR`o%#nxu-3DWv0a~_w6DW`ROOG7m<4$edp|EOl>ymj!~!zKfD4Xz qap=sk`is`GpqH0lcDV6l=Ms4R`8NNYc(s5WjJ)4_xvZr%?DH1~?xEBG literal 0 HcmV?d00001