From 53c6256e9c0bd3ec39e37b116b5d105d03bb4120 Mon Sep 17 00:00:00 2001 From: Adog64 Date: Wed, 13 Dec 2023 21:43:12 -0500 Subject: [PATCH] Icosohedron scaling from worldgen --- PlanetMiner | Bin 23880 -> 23880 bytes bin/main.o | Bin 11192 -> 8552 bytes bin/worldgen.o | Bin 2456 -> 4576 bytes src/main.c | 38 ++++---------------------------------- src/worldgen.c | 7 +++---- src/worldgen.h | 2 +- todo.md | 9 +++++++++ 7 files changed, 17 insertions(+), 39 deletions(-) diff --git a/PlanetMiner b/PlanetMiner index 22ad1a19d5e2df7444694bae0f240e7e7f3a73c0..19c6d57a1b7196a18f8c50291e0ddf77299bdc2d 100755 GIT binary patch delta 5071 zcmb7IeNcTh&i3f5wR@6B8wv- z#j+6=r?>;0lhs>d#SG%aDf~H!Ywh8&;%Lr!!`-5TTT;1P7cPtC#O;c3i(9y1DSzhi z=dW35#B^~y@eRR<6{5I+B}bkShc$>%JHuGbz~$kqm#u!d{4v%uaAAUHtS~)4Z_3mq z8EKh6vKeXPXj~>CjIFd~ie~nbZK_WcMBzY~AlP9^K;K#WT(}^F32o3(6Tu%g>?A+S z?H1vbp?jOlX5pM6uOG59l5$)$;yY)1DNFz;?_9v6OV_g{k_CfUCQT0$BO3lZ=o?YI zr{NES=MFfKU^n@S=F0x7E7~j%rlSyb)*VgT5tOz+XA*=aGcW=J?IuB8u4!5mWeb=R zAQtzEVI<~}D3Udt#QV6I5GDkyB#wa?fF$I4f}UfI8{A%@=_tHa6AZFXv0OoBS!tIk z?`q`b0Bx3c)2N`udOEAulW+z@pw~%)$xi0)iJB6>d_}y|n{T z+<7T!+-@*Z(gS-zx+Qz!N)nSFaV1E}t6Xj=xx(d@k{@>!XpSu4c}~mK`K|=z%O-I+ z5H-h7?uAm*X`ey-BbDWkj`dwmg|(+~5+$cSp+^3oY2;prFqAliN=!sSYCRrMMAB#q z$@Bd8`e=59(_;6Tu2~3G&TEdz1kq=`{)JrXA;5TovcF};f-D?$^~^3hSX-+oXS$h-0xdX`%^hD z@0OL^lb)bD4|2d$1tn=ZHOJyHP`IJUR$4Vj0ZDe`Z_n)jB9twv`8$mIm|R_Sk`FdV z`BHO~z>hN$7??VmwgQ4{mZe};wnKvYLVzRE?FeTz9)&IQIGkNPA8 zj^1gYU(_6*0U}2MQwydKIy4uP`=E2550lx-)KN?JkSo9)2DnV%RtTD73WvL{G%M|z z;{q4Hpfx@VmgrGn@+{j>H7QoY&^rWD6sNH3sfoTr8(N_A z>L$>@n~0H>Hd$%)VgJa6$xD&dPl)OnDDspRLfI@UAIr*RzK#TwNm97PgX!OlEm5G?5e1tJ1LWT|S;dht13efqO?%#8Ixyg5ndmyA6bEwWD zN4osg94e~nfqz0vKtUZSjqEfo)df4vK#?b?d_7lIz7Hg4U{L<6v6!qJSG2mW2d|fF z73G*fh^W*<_wBWAY0GG+mRO~vn^MvVpVZcKp<9}NLQ47w1ikn;?sl-~#mBp)!edg} z`OgB&P;c%lSE zJW={=C7vh+6Hk<4s1r}X6h|^8q&SkP5Q-z2l9DgU$h|}mhlbt1&@hx-)wDYB1=lsr z47BpEG;Jf~I?$&8$BA3p-Fa;3H{&|b~JO8spczoIdk|N@_ZKkscuc114@k|Uq{cmrfCT@ z1=%+HlcsE2tUoNrRw;(evuV`S=!@(edR;eLI`*eNf*6L{N>FMIx42CNf86HIcr-HRibq%0+YO7PdY`^IqX3we22tjcJ9^=tXf=#G1 zQiSv~41HH3JDM}iWFN(%a-T6B9LHYFO%sFcSnfPgU?Zlbi;b*sS~?3xm|0HvVEmlT z4tK_xFB zPVo)4H_|D-Oa5^k+!KcdpP1Cl{3!@$cqOWVQ{E5f4)k^*R=82%HT-olfd9rH%)}^X z+$hW!Ra?_9Hj5SJIb-G-*4IN;cE}t*U=wLgvBIqaFRQX7#=XF0yI?h{3nlv_`!vrP z*J@xK3}G1NP8Ku6$?P-CxwKvh#$g$XnyK9~qPqG;MPumXUzhCVel7ed2*cT}VS6FZ>y=lqQ!||7DvW5iu|4_O1;RGcn`}afu@ys?){DLI`&utpqHoUR(^{B{hASF?-zBa7d@IC0eU>r+JWv}s>dUgHy8G~6aU80 z6DK?0DbDBo3Ral!jC%}GR8vVm^rzWYc)rR#53v2<4-wBg@?+yJBZg+to8;vg=IDup zJKWpOVrDwyM&s>4KK7Bi55J1xm&&qX%`mKW2EuIvA&X+gB6>E|&737Rm}b|TWAuNE zyrI8|JYyU7&pjhHJX!Rbh#M?2-}cgY%_&6DnG5T8Iu^hlSUhZ83;0TA2EXb1Xcy*$GC|} z7O477rPt0v@U6Ev*itR{srY6e%$#H9ASud5xW z&lczX+fX0w>;D>?@2b4&wcg2cVllSO5(bm`0Clr*nAe0@)=K%Gh?qC zgW`2#*K#>ij!#_}lv5Wv#3Ysb4O(JRYW5Ec7aiMmHs$$_fBUD;qsJ1;&UEdIP-I@4 zpUg*$$#OD3YP86W{A=SHc`h%C%;K-Z@_J;l{IIYr7rl#Lh|H3+czo0{d4|yB@J&%` zP(jIIrAS%e(b^}B>yvYguWo5bR&JYa}9WHlRn&L5W)ySGh@0XGo2Gz&3R@AsOv zBfz%r1z``}tKK-XK~ftvP3xhB^%|@YEANUCB(5Y;CTkRlc|x>CNWC#6{w>5_NK&3X zU_a5lIol!i90OYQ#lhnCM}CROZvUX0;;utnH5dAU$agboL3P0e?NDHFw=eDnwwprr z7_uY4cvIa4Kn=V01+$%GwmxS2MEx6R+#St|t(SmW(q<5~Z&hqsk`dlL*>;E2>p|yJ z7so(;6ASVW`unt`*#LqnfOf*&u~l*SkE?G?g>$pw>TQLGJ)mB`6C|InlXnw&vogQ; zwOthJA2THBKQ3b0-T5^3*~yTUpk+URy}v{(HTpYEn`Gu(-*l5CO|tlAW!m^-$Tgek zfM||0LX9P8HF;RaBztCv)-=hyU!#39>0;iav_J?SxR~vG7b{)-SsW302O(dBoH0Oh z9`g?6G20m0btrQWLJ7b}P=TauY|_W#U5a^z617sl z-}rZw0EqzaRSsb0Vu=@AZ2GU1PEs>31&!aW9F`=XL`xZ-WS%i*I}X<)O25E(Rw6Ax zy`%g-=+lQlM=+%e6yK8Zh%ywE&cS#}m?R0)Q88^@0@{9T<031Ke0Z8zkoOd`g_aS& zT^aTXf6ph(woj}XiDtG5HqbAzfr%34jhs$?w2u)WnKwhoPUgYA_k74ox5r-T}qcnipH$TDzIW8SpyX=>Xoa=~nSm0?1W)3}cfj3Z3O`+^3sFR+0Nh?BNY zC@uj41kt@M=uUtx?m)0+zp(BTU<4nyczWvaL4+Y=QOhsiWuqy!xvzf zL3UyDU1kH9X#tCc29NJqHgFacGg3)m`tM# zR?-hEdoXHAGv-N>{bP4Wfl}_jCMuhjB+rFT3y$|Z@Q2c=u$>UK&8~Gv;pHa^rIs`V zi~VNzqhRc%N~+%aM$?EP3rr|ww|yAZ=}@X~qJ!ouD0+$rdiu7ewcVE4_ED5DSWc4# zuLMc$3R$Rx!qP<~5BynF?H#{`u2*tEGYS~2KO?_VVtgU!*MdjHjDmy5CD+%97YjUvjDi2OB(z4cY_lZT(}2yK1%bnZE8Bm<3O7OR3WvLS!}pKNyMXm2K&M=jBR0ScgCNll;LH@v(si7R;BUcG@iH`p`@1SC2s#E z^?C7re{v50bJ`<5ivc_JpLf6R_U8@b1se^y*WL~#X-2f9%-K+6L*euv*OIIxnX$OR zydf|`*{@!_fxO_2T{0|E;qqV8lCpsllk;hm$&#U-ZJ-dETxfc>Q-qF^Q_({8gEao$ z?Ae|xg!O-=Hi6LXAMKroIBHFZeMD#fN=rHfpv#X*#b2{S^Y6+%>;m&I3STs5_L>bk z`TtG^$=yV*LeP>D1l?7CpMOwG`kfHIq*L$~rZm0=PO*odVAZ5p1jF4ekiwS6d*-D1 z`~<`XHi5Rlf5YAW;;?#&;irC>V(&0D&08?lr= z`%Qe>sRmN}&#Q02u{RY?ZvTMWe;l{F78yIh$kKuVJ^Ep@dp(NxX3kC3tKp=$pSAfLVnz|3c3Xq;p z#dx`=Rsi5J9UkgSgp0tk)n-~$`{M7A2;#{O@;pO!+LpQ!b~@k=_AY&Uo+w6@iQH+V zFA6sIL-pOS0sIA=CfWQzhq1N8B^f$W9rl3#occU${&T&D1m&vnbr5T6GTF@S;FY9e zeXrlzv8{$mm}gHL@R18n4D zg-?NEcKe?|8)5NNfyrKlyC{ie*#qM@u4@`EpWpvl_M5yX`!!!vV`Wxx-G+_ptCu!b zJiDQ~zPY%zqN=(vvql%2ged(5_v7lu=ISjvYO@e@3~i*Kp`xm;{#k2Um9@FCuA=_g z_0>(*y87k@>)Mu@n(D?_0!f{Y)29j+OHym>5=gD2l6by-NsL=w(IbRC_CvlE)lIe5 zU<7MLV`IhNTPqt{>YE=1IcN$SHnyyxbWUv=-I1fs68x(U%*9rFDVk9aVn)fxY&Y5OqV$h)d(6PUPA0Gly3W88%?2QR;V zj4M&?6uf_`Fg{A-x0<#U<6(@iV@$+<3`b=CK+c16hi+;b>Jqr3&1MYQXcwW2BpoiC zLdk_zKEeMkXSS~vk?yAh=QNpLHsr-cEqf)R!?-)LEh-|;FfBSJ2d2Gf5>{9cgYj{b z`4xlHl>Bmp(`0QkE;F?nBK|o#)?|ea9FLn~oKpeAH;P1GtTudh;D3#~7k#Q+M6*JF z2X`Vm*S;bdGVN{*x;#SWo6K#7=S&pNisqmlV&|(dr**a&o-&o!nH-fSvy(uy%_?9D zftl7NCw&s*baRs zV{77V2@V0lKab*a@L5Z;9m4c7Mt3eURuOI0%xH>RtjW`&gKYXVf^cO zQNAVkbCLWC--h`c!uL1)AiTPDuLEITXZVGD3pXz}`iL_SW|fS=dr_!A1mZcz(xyRA z_^~j&RmW%R2MGTfife(6SHtj21zte-3(MnDJUZ@r7;YWkwA_-v6;?B%-U!RlF2RDM znCTEy;wi`M=cG57q&@l(4HdB85?ji9daTx`gI=NYbd1}dwB(=BtubNNYkI6!J(j38 zh$VxZGGY$HC*YJ@Qmnc)In26{AAQmy|Bx{9lLA?$BduY`4Z^xrw>rYC9lWT(lG3SL zH-=fe$am@htaQSVJ^o%nntVYpeh)1@Z5uO!SqN3y1RlS_l9C=3w3;6bT1EZFZZo+P z)*Rj1s{5iEi_1yAaw+v)ohzP_r|Z8>Izqok;CzbA56QuTHV3}|DO59Ue3oa>Fh7o8_GHF}9$i$|2fa&CZR)&P oQ~vU!?SAh=@muttaJMWJfut>6<6g}m*YfeQhvXPOYxSJ}0~!k9%>V!Z diff --git a/bin/main.o b/bin/main.o index 75c8d16ff3dbd615afef2c0ab9ab102146ec9ff3..286cefb08b05e3509c55a1dea31ec3fd0f868c03 100644 GIT binary patch literal 8552 zcmbuEdvH`&8NknGLz*CD1NMQXw$~alp|E5LU|ajhHXCx&h7t(@M~d{4+)Y+Cd)K=+ zO@gg`1X`|Z5Iat7ZS7S3!#_GY4&xs-b&}XX15@lEol%%N7GI?rTTm)RWsKi<9=qRO za-4BIGk4E9zw^D$ch9+d&+fx5?d!`zA*M=*-NA}IMHzeNx?;PDH=EdEwup7bCQbj3 z@h$PL_~uU2KW~ow#drtDP5&+PY13~x9-HL-iC7*Wl9RJnp}<4~fVh8H_7F|C9KkB? zAL1&pqvmMW@o@|%;hz<9g$4{A8GjT^6v+4<^f20WtU&Su$M#;!NK zU}Q34j+{Pc)*mwc-wLCqe@4dq>j?~?=>4Shenxqh4dPuA;$4!b&j0C7P<{VLS%YR-h1t0wRc;AO&sy+p!b;ru>%-wEORy`G<~+Y~&w0$r}m(J!LN8 z7h))6IpG(QVxRU;Zj0X+-yZ+`_NmAX30wyM*n7ge+duIWOlG^H-ZAua?8j zSTK6qrt^`S@|R5ipQ8_lMqVj9A6eA&K1bNPh^?<<>r&e-=LV*y&`z;5JN?;II+f`) z9;gX+TCdWXJMSJJV>->oYcH?M!RC(HL!fuGP38X zGRDTs0ZlBdDHGdaJdE8kqof-yba9hTR1~{Lm`zlw?gaE$OKdWBbPUAU_$weSmYB~S zoBp(kZu`M4=Ye?kE`tFxe>*CVp{Mb(hOm%KM$Wz&se3I_Hx;RSL)aYkYAYvDO6-;V zgSC~SHIDkl4bHp%v_B4M6xnkc+{zISAvt@G0h?e=QY=!p z68f<3BXw)B5vk+Zfz9#>-mUMcH6r!t+J;EISKAb+f3UVgOfz=E9Br>P{ImSYCfTg0 z^QBX0i5=xPEjBw=aU~=jSAbNwFm@YsCUA-H0Atbu4Vn+A`F%!7;{5hj%+Ai5aGz-Y z)FTEty??^~q&ae^Z`<~%v5$fw9y(8>nO_KfnYkmgGpEL`)s9~l+sx0$zNnSvZf9Qn z(uL)Bq6b>O^1(MRW8aED0s-MA%7s5Y)5O>dO{}%K`BtN@_1>;}Bi0yQ9gP{Q8&)^Q z8e%b{ZWBClOxUwxVC9;6#xSD>T(~bliIuU?Br;sjSVFR2CAtjm3ooJFn^vd$^wA{oy>h2UrV$fVn z=F9I1Fx<64pQv@WhHuyKof&X4(X5#Jqu7PCIb`zFov1og9tdW1N;h$^y=W3RA zte#H(4xeN2Cfu{x9`e@1yE)sjqc?32HuJY*A;7W&UQTjBI-LQxyCBMs2DX$H>aDgX z`l$z`Vu7?}l1{tRTjHlfo(_a^-1DsNz7l(Qj3^ZXdlFC=5-A@^*H%#`?8}TM?6mEv zxO29*g`aFl?l7kev(Yk?g|h@6ZLBnan`OsDO&WgyKPoE{rSn&GtJHals@Eo3hvqKmt(HLPyNUErMHf~?n- zNhKY(zuoDEQ;7p}u;D-jr=6{io9-!yWyDmeH9@2V$pp?BGJcOeOlIBL=M1EKn$u3M z5VO?m%GsrNO9r&T^4!$WnxtA3Eg1{WOmYeyjP2y}lU6A2a3IBSDC|uqTx+l-3yD;2 zZYvmc=b)8U)5Lyp<9*qAy;WYkv@V$#A80R$_ekb8H{#MC@@o$t|#ecJK$2M!^@x2EN#)D@I zm7iY1am^_1YWQx#uO{+&!mlCxISrp898crQ?`x6==ld(d@tt1DpVsghVjqu=O8$a| z&k~MnLCIHQ!k}P9`EtoI|L_&b47jkU_dOiG9AA`2?`>5nNuNw(}QgZbBal)ULJeY^) ziF_@Q{{fMw_J2y`F;^;{*9l)n_-`afzn>(WAN!$?ypHg9p^Zi5VZZ3IzsXv0754{{ z<9rvurQ*31kpH3VSA;|Z{no>!zqr?w-$R5~5w4ymD35bf@^27%{H;UrcL~R{z2YG>00pbna4B9zcq8FU2&eaD zHQ~6&m7QkEG0$rWzlX@BT#;)v2#Xa z=RG2SC+I7`=ZSn1;TH*~^Qyv42nFXwf4!=a9M$N&u96({Pv>En4A93dPwxquY{CyHE=?x%gJ*nvC%}8u1XoE}EP6xoe&Mqd{opeT3%>JU z!S62QQVbC<2LpZ;myaja<T7~p{@L@x=FI2 z{yrIy8_-wtSNfZ!elY($sW4^)CKk;9Mv$2+|3mTsG$ajU8gQK}|0@4GfnhB2c0o%N zLvD&D1!S%Kt2zrD^&0|m_e=d%0j}n)>S3uL5My5}*_6dmrKgAw4HOM7mjhBi7?+yA z(*F)L&}LA7QtIzhg0c?kKL>oS{GY>(0mT#*e|NxhsM1&YpUXGblY&d+{lk3Y`&LjN mzv}}_1l8I7)x2WQ1_p!q!!uhzge%^BozQ<#RE5u={(k^Y%qoch literal 11192 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 diff --git a/bin/worldgen.o b/bin/worldgen.o index 3f8f7f3aadf01c8db267c70bb8c156d2b0e4fd5c..182e0c3b49941834966a7d85f3c3df1140d6ab8b 100644 GIT binary patch literal 4576 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 diff --git a/src/main.c b/src/main.c index e7e2298..be94008 100644 --- a/src/main.c +++ b/src/main.c @@ -79,7 +79,7 @@ int main() vec3s planetPos = {0.0f, 0.0f, 0.0f}; worldMesh* mesh = generateWorld(planetPos); - setVertexBufferData(mesh.vertices, mesh.triangles, mesh.triangleArrayCount); + setVertexBufferData(mesh->vertices, mesh->triangles, mesh->triangleArrayCount); GLuint vertexbuffer; glGenBuffers(1, &vertexbuffer); @@ -90,42 +90,10 @@ int main() printf("Entering main loop\n"); - float theta = 0.0f; - float radius = 5.0f; - do { glClear( GL_COLOR_BUFFER_BIT ); - if( glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS ) - { - radius -= 0.05f; - } - if( glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS ) - { - radius += 0.05f; - } - if( glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS ) - { - theta += 0.05f; - } - if( glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS ) - { - theta -= 0.05f; - } - if( glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS ) - { - // eye.y += 0.05f; - } - if( glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS ) - { - // eye.y -= 0.05f; - } - - // center = glms_vec3_add(eye, direction); - eye.x = radius * sinf(theta); - eye.z = radius * cosf(theta); - mat4s view = glms_lookat(eye, center, up); mat4s model = glms_mat4_identity(); mat4s mvp = glms_mat4_mul(glms_mat4_mul(projection, view), model); @@ -230,8 +198,10 @@ GLuint loadShaders(const char* vertexShaderPath, const char* fragmentShaderPath) void setVertexBufferData(GLfloat* vertices, unsigned int* triangles, unsigned int triangleCount) { - printf("Loading %d triangles into buffer\n", triangleCount); for( int i = 0; i < triangleCount; ++i ) { + vertexBufferData[i*3] = vertices[triangles[i]*3]; + vertexBufferData[i*3 + 1] = vertices[triangles[i]*3 + 1]; + vertexBufferData[i*3 + 2] = vertices[triangles[i]*3 + 2]; } } diff --git a/src/worldgen.c b/src/worldgen.c index 9c7a7e4..9e44cf8 100644 --- a/src/worldgen.c +++ b/src/worldgen.c @@ -13,7 +13,7 @@ worldMesh* generateWorld(vec3s position) { // placeholder struct for world mesh worldMesh* mesh = (worldMesh*) malloc(sizeof(worldMesh)); - + populateIcosphere(mesh, ORDER, 1.0f); return mesh; } @@ -57,9 +57,8 @@ void normalizeVertices(GLfloat* vertices, unsigned int vertexArrayCount, GLfloat vertex.x = vertices[i]; vertex.y = vertices[i + 1]; vertex.z = vertices[i + 2]; - - glms_vec3_normalize(vertex); - glms_vec3_scale(vertex, radius); + + vertex = glms_vec3_scale_as(vertex, radius); vertices[i] = vertex.x; vertices[i + 1] = vertex.y; diff --git a/src/worldgen.h b/src/worldgen.h index 273da62..183a720 100644 --- a/src/worldgen.h +++ b/src/worldgen.h @@ -17,5 +17,5 @@ typedef struct worldMesh * @return the world mesh as a heap-allocated list of vertices. */ worldMesh* generateWorld(vec3s pos); -void populateIcosphere(worldMesh* mesh, unsigned char order, GLfoat radius); +void populateIcosphere(worldMesh* mesh, unsigned char order, GLfloat radius); void normalizeVertices(GLfloat* vertices, unsigned int vertexArrayCount, GLfloat radius); diff --git a/todo.md b/todo.md index 5a96f7d..d910963 100644 --- a/todo.md +++ b/todo.md @@ -5,6 +5,7 @@ - [x] Render a cube - [x] Render icosahedron - [ ] Vertices to triangle mesh + - [ ] Diffuse shader - [ ] Subdivide icosahedron 2. Procedural worlds - [ ] Morph vertices of the subdivided icosphere @@ -41,8 +42,16 @@ - Game starts on an Earth-like planet - Make basic tool with sticks rope and stone fragments - Stone fragments from smashing stones on rock + - Crash Landed ship, rebuild it as part of the tutorial + - Build warp drive to unlock multiplayer + - Warp to beacon or something + - Invite only/whitelist beacons? + - Public beacons + 4. Documentation - Error Codes! - In-Game Wiki-System + - Build wiki with some kind of knowledge tree +