From 9e09df3cf8d609f10b78b38eac60e42b88a84277 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 5 Oct 2023 12:14:06 +0200 Subject: [PATCH] Fix wierd looking terrain --- client/res/white.png | Bin 575 -> 4868 bytes client/src/main/java/core/engine/Engine.java | 2 +- .../engine/shader/terrainVertexShader.glsl | 2 +- .../main/java/core/engine/terrain/Terrain.java | 14 ++++++++++---- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/client/res/white.png b/client/res/white.png index c81624bb8f1377a152a4546ae6139b6326a186d3..3ab7683da41f6a53b413eae66c95f652d79e91dd 100644 GIT binary patch literal 4868 zcmeHLX;c$g7A_kE#Dx}7T16=XYKtVP$_9yq#RLLk5P?PzTq;!+C?JbT0TD$O5!)Ue zTybg9R=^QknWOf&dz2OhafD{NK?Ff@7hDirP+OgsfGnr`oH?E|{g2A2%B%P8{ocLb zyZ7e3tO*X14YwX=4MEWG0Dox+_=b(Ql?8a}Q&L_)klCb^un0N?ONO;Njgm?rVS1^S zgh>OXgdjuxldVx3?@bw&eKXQGH{Cg_REKOkaNQ?&x8vHzt=o&~DND;QWOzoK=Vp0g z^Hz6MIXeBG@$=kJ|F~U&l_Mu_2|J;<_1vW_ZrZ+@;-8ld>9A>Ub48??3yZ0f_Ce+7 zJ~6w&s_~u1_jS69-`iust+|el_sYV{KSWl)@_u;4;oXYG(`}n37REOnlbt+~>ONo7 zpsQ!3y_<|y?zn7QUs~;Izcvr&lpdWUlifLD_h|GlGHunfL&J7=+HL$cJd4dHKS*0P z=dasqC75zXniVc(^Sp=H-=eN($1Tr%<0;UfZ}%>L5HZs4lF;p3{;LnHNVb1E6(*Qmroou!|$0kr#khZzie@BX3ODA**jYfH}9M9mAwL)xOsnQq0fVs@%$6pItfYDjW4d) zir~>|&ZbFMXRVZfM=x=fMF}@&IWCIb&b$)slp`(;s;e+3xw}`K&VHtLz?&xTeK_af zE&Hn3tL--PBqu1)yCQwH73$M>IJ zjBjQbQsYa+%!RXxM*B_Y>4rcu(z08{vQU$UGmn%-KI!-)|#m&FAuw!|K=3oUNkD`9|6P6e+@Xea$?f=(cX3+ zN2yDeFS(Nz$eK;xbbie}zG!Z1$Motkhg-*0{@_>gWW2y-#)q~y?@!sJ9dADUKCrs) z=i|Z+YtflyX&KGzq~)cp*>#x@AZXAkN+JmkkVrly3rLZjsT;)p7rY%VE{Y2LSD1q< zk@#0)9)4lU>M51;{ZB5BHUz&S)M=#iE zx1gZ(Df_23?i3F#=s6npAQLM)GNEdFxNC>h~fxLi|V&k7(Y7Zm7T=BV9&Igcu=!wl?lj*zbW>2s z*A|_NTw8H-tH)nlJw>KEMum5nw~5W>#WgHaK}UBNTx*zr*Xm(|1*^DW$4{2gPob4_ zcI^M#vAg+?n0D!}xo`J5{E{}*{Myc@`S09QAdMEo;2j*qC?r{jz;E zH*Mmbbp_+ie*6klwIm8uuL${U5w20OFhZjsSq7CBR5u9n@G@vIJf5Us1sOxB#f)dC z&oN+%5HsfS<%nD>A!8~36df6w5)_7~#N$GO;pJ)VVGscT6-i^TL6xA^iwt6h30DN# z#%?wPHi^*jVn&2K7?x;sB+O&+SP0YCKqYY)p4PC3j!=q1q<-BH;7!bkrD?5*%}!2E zW+ii38eI$<6$*uHgu~`=m_UN5U#g}t15>ScGD37=NJ%}eqqH=oQNu<|Orc4n#S8`* zhdNSZvob*j1 z)wEMz2ml4|foqj>>RF~c~&h|u5^Au=^Nd?AleDELgC8-g-< z0ymtg;Jaf?fs&6ZP)xyh<0|_=1*r8jrp8Gl6aZ&Y00$LdN?eE&Oa$Q&0EaJN3NgZs zDdY=Lgb<*7lF#h}F-J#%sKgTbT4jVH02BvDg#^hZnH)p_Od@a;peTVgT-=Q$IXF%# z2@@27i~KY?6$X}*QeiP9TdR&S4HyX*`2+`u85|bU+Y_9C(Mq5Ia)443nq+w9aGAKk&7H}^36zPs^OQ^liDNuOsU!qE%)~+ux?ZEClQA9X z69aezT!8>JaRq6QwqEJ0=E8@SNA&nl~cg*z$Bl=?*Lr`bbS^BpCvpHT?2G|76YFpJP=*~ zH@d8Q4^yNX?0}NNQOR-EdImUVSttT!QqzG8dLucV23kY3{*ihJVmTS_L54!FB+zL| z2grRbA6O5z9_sY!qZItP1dXMABWQ_6W!#fPri~&=z{wOH3mZ3z^D;)*10mM{sZUtM yg(sEhAPBND`+@pc$<4NLUR*E85mcG?zedQvHTUp;RQD9@x&(&CwmGye;}D;moH delta 525 zcmV+o0`mQYCcgxb8Gix*008_L?V|ty0flKpLr_UWLm+T+Z)Rz1WdHyuk$sUpNW)MR zg-=t(q7^|qh&W`ZP8LK(9JLBXs1Ry}Rvk=U`Ug!Kk`xz5!L{Jv&tlcV#aUMeS3wZ` z0daM4Qgo3L?@J0TV!ZHpALre3c<(+ysF#^$b&La=Zkwq@Tz|}DSH-SZgwTV21Q3v! zWz0!Z62A3yPkmH(F`nh$_hx##3oC_`sJTqdZQ}e_TVzJQ1N*lAHsS!^RM^#Oyd?Dkp%6W^kR<5$$HZEz#^6)L4SmTDoQBBMvQiy6bmUjkNfzCT)#vvg+{&1Ozbj?|e$|+X}3c)TgOu0)apv5C{YUf#Avl$MFL_MI&@K P00000NkvXXu0mjf>+#@P diff --git a/client/src/main/java/core/engine/Engine.java b/client/src/main/java/core/engine/Engine.java index ece4d85..1da8d41 100644 --- a/client/src/main/java/core/engine/Engine.java +++ b/client/src/main/java/core/engine/Engine.java @@ -124,7 +124,7 @@ public class Engine { Light light = new Light(new Vector3f(0,0,-20), new Vector3f(1,1,1)); //Generate Simple, Flat Terrain - Terrain terrain = new Terrain( loader, new ModelTexture(loader.loadTexture("white"))); + Terrain terrain = new Terrain( loader, new ModelTexture(loader.loadTexture("white")), 16, 32); //Create Hexagon HexagonModel hexagonModel = new HexagonModel(); diff --git a/client/src/main/java/core/engine/shader/terrainVertexShader.glsl b/client/src/main/java/core/engine/shader/terrainVertexShader.glsl index 36b0d54..6dfd1b2 100644 --- a/client/src/main/java/core/engine/shader/terrainVertexShader.glsl +++ b/client/src/main/java/core/engine/shader/terrainVertexShader.glsl @@ -17,7 +17,7 @@ out vec3 toLightVector; void main(void) { vec4 worldPosition = transformationMatrix * vec4(position, 1.0); gl_Position = projectionMatrix * viewMatrix * worldPosition; - pass_textureCoords = textureCoords * 40; + pass_textureCoords = textureCoords; surfaceNormal = (transformationMatrix * vec4(normal, 0.0)).xyz; toLightVector = lightPosition - worldPosition.xyz; diff --git a/client/src/main/java/core/engine/terrain/Terrain.java b/client/src/main/java/core/engine/terrain/Terrain.java index 1d21b4b..387f76f 100644 --- a/client/src/main/java/core/engine/terrain/Terrain.java +++ b/client/src/main/java/core/engine/terrain/Terrain.java @@ -14,13 +14,19 @@ public class Terrain { private List terrainTiles = new ArrayList<>(); - public Terrain(Loader loader, ModelTexture modelTexture) { + public Terrain(Loader loader, ModelTexture modelTexture, int rows, int columns) { HexagonModel hexagonModel = new HexagonModel(); RawModel rawModel = loader.loadHexagon(hexagonModel); TexturedModel texturedModel = new TexturedModel(rawModel, modelTexture); - for(int j=22; j>0; j--) { - for(int i=-8; i<8; i++) { - terrainTiles.add(new TerrainTile(texturedModel, new Vector3f(j - 0.75f *2,0, i* (float)(0.866*2)), 0, 30, 0, 1)); + for(int row = 0; row < rows; row++) { + for(int column = 0; column < columns; column++) { + if(row % 2 == 1) { + terrainTiles.add(new TerrainTile(texturedModel, new Vector3f(column * 2* 0.866f, 0, row * 1.5f),0,0,0,1)); + + } else { + terrainTiles.add(new TerrainTile(texturedModel, new Vector3f(column *2 * 0.866f - 0.866f, 0, row * 1.5f),0,0,0,1)); + } + } } }