From 95b106b86724ce76a77e5264f5c5fc5ed5c647ad Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Sun, 18 Nov 2012 11:00:21 -0800 Subject: [PATCH] Removing some of the triangle code in main.cpp --- .../UserInterfaceState.xcuserstate | Bin 101260 -> 101257 bytes main.cpp | 63 ++++++++---------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/interface.xcodeproj/project.xcworkspace/xcuserdata/philip.xcuserdatad/UserInterfaceState.xcuserstate b/interface.xcodeproj/project.xcworkspace/xcuserdata/philip.xcuserdatad/UserInterfaceState.xcuserstate index d1f81ce64c67c4f45d200e9d7b00025121c7c034..1cabcd6b99353d42e0982f7cc429127206fb4b0b 100644 GIT binary patch delta 7635 zcmZveX>=5Xq5Xfq%uEu;StpapI+LLaiXiTa`>qJCR0J2)YE{&#Sf*5-{&A@b zPti)HQnh-ptqZTHxVO(%pRHS4OZ92BZq+0+*=7>5z2o=)$9wK_?w5Pcy>(;p`i;d; zT+&m2!BgKn(|FeE`EwTRJ*#ET?70hmc*g2Ev**s6`}9pcsj|ogmtAt*^JlJ}yT`m) zEpz70efs4>X{2oW`n93`*M^p?EqZ6;d&NHPL)(8;;)Y=8g2(26S-P<bu=-C224@1wR z(6beKehod_q31d1c>#J}hMwO+&zsQmSLpc&dcJ|4Ug*g~&nWbaL(dfS7C~tq4xynJsElzL+@$OdnWXr3%wUW??upi3G`kDy|+N` zQ_%Y|^nL}s{m?rFebb?@7W(R;uNC?_pf3r1Y3SPx`sPF5KG3&6^c@6!3!(43Wa#@3 z=-U8&JD~6P(Dx4XeE@x5LEqQVHwb-s=o^K;ap;?ZY$;^RAX@?1D#+GAHU`;F$nFl= z{UCb)WRHOC(U3h3vL`}z5oFJT?AefA4%zcEkX;Gc%OQImWY?X)=hU^x| zJ`CAMA^Rj`w?TG0WS@iV3y^&cvhPCnL&*Lcvfn^<2(ksp?t<(DqmNB*>itxuuX>2DufGJ0EfvLhcI4t%lq>$lVFK z4UpRexy_K<0=b7F_bB9^gxogBZHL@*kb41guR-oT$mISBxlbYY4dnVD*AKZN$Q7U; z=np`DG4xM^{xI}Mp+5or-OxWD`WHa|A<%yq^dAZR$3Xw_(0?lQp8@?#p??|luYmqF z(El*>KMnmKK>ufC=y+0SsLSLqCL}8)4`!7}^9wkHOGZ7}^Fy+hOQA7Bx+e+=Z0hx|#9KLzqjA%8yPzYqEAA-@LlH$nbp z$lnI}J0QOS@|z&P8S+~o|8NHKk3#-Q$Ug`9-$DLu$iEBu4

$@*NnN4I_KP$UGQX03(OM$YC&YB#ayb zBgezYsW7q(MlOMo@59J7FtQp(*1*VG7+D7+x53CAFtPzg?tzi}VB`@Pc@##r!pN^+ ziibh0&8>bPH*mW}O zS`52RgF*K*j^2fM!2PQVy27J#v07@G!T9Wb^VjLn9zJu@&i55|swv1Kr}0>;jV zu?u1BVi+sHI50j9#*;9;u4s+3?{CHiPbQ%1}4_R#9c6P zH%#0M6ZgZ!&tT#oF!3*#$ic(_Obo-s2uzH@#3W2Mz+@XtcEDs3CetvvA50zylZQZN z@-Ub@0w&*s$q!-j-!St8!_+L8+8w6$fT_J; zYHyg@7p4w?se@taP?$ObrcQyWB`|e5Oq~f+cfi!o$S}1TrnbP;Lol@yroMowuVCsM znCeAZk=>Cw$XsL|axroZavkzRB!g^2UO|3`yoUS{nLwwbVKjnPp@*Z3(8cI!8T1VF zc61Z^0Qw;M3-s^k=jfN{*Jv-ALkF=af<<*$)PO}XENa1`y|Cy=EIJvBPQjwZSacc| zory)?#iEO`D1$|JVbR@KwDDW~b1Zrsi=M=y7qI9xEczIWzQCd>3`8-|ih*_vbYY+y z1K+{GYz!>Gz`htb00ReOUbwFVQ>xx_aS3&KMWp-!9y^3Dh5x-;29WPiosb1gZE?b0SrEf!QW!=84Ny)!RImf5(Zzz;9D5{ z1cRSp@XHJa|Bb-`4DQ0<1ct!SGz`^Zs2M{Y7}^6vb1^g@L;GN8e+(Ujp|db_A%-r- z(4`o<979)P=m!|ufT2wodH_QYV(1|ZJ&U0o7}mLp>PEVrT$EQ&=n(2eG&Wi>G68ITkl!aR(OffyHyNcmWpghs6hC@u66J1Qs8S z#oxu^tFicgEZ%~}zrjrLlUV!=7Vp5~7qR#iEdC=F{|^@b8H?Y+k|37Ev1D&7IT%Y8 zV#%>sasrl|j3tY)|vPHkR#)W%ICX z0hS$(Wk+GzF<5pymYsxUi?D1lmR*Nso3ZS5EE~kKaSVqrT#n(H7_P@~D~3}T-VMWt zVE9lBABW)+Fq}CV!>3^Q91O3(@D&)o3d7f6cr}LCV0bNt*J1c34Bvy{`!Ku-!<#X@ z1;YV#Q9Z_!KL?!HN;A*hR*QDU1|hB!rRa7%9g{B}QgqB#x0JM)tzUe2nae zkpnSu2u6;;$k7-%4kL>&au!C;!^jmFxe_DSV&r;^WH7Q0BR65>W{hmW$R>#84@_MXX zgOzKsavfIQiIp3$@*b?b7b_pc%3omRKd|ykto%1t_F!cnRu-^w6szW7)d5&_5LPY3 zs>87Ac&s`RtNtHms_w?BjacT9g(!Ky4)^<&j8tQyDaJ+S&f ztUeg4PsZxSSbZ8+pNZAq#p-jg`dqBO0IM&;>eX1i2CLU%^*XG+39Hv*^{r&A{s~s! ziPeu|^$x857^}x{MmNql7H6!)8IR$NS8>Mw;EX@vjJI*ddpP5tIO9{CF^DtrIAauN zjN^)<(He}_VzdFHF^slgG=T#qw9Vf`YkUxoEQ#riE+ z|Ly+kpTYVaSpR#he+%pXg7qI`{U=!eHP-iHeI6U8V?z}-bYR15Y&a1cmSV%%*l-0l zT!jtSV8d!`Sc45~v0)uH+=LA`W5aFO@N;bV1vWf_4Ub_%=5cKJ4K_T54gZA=&tSt2 zZ1@{Ce2xvH*jSE@P1raW8;``sbFuMSY`g;-@59DT*!VMSd;}Yx#>VHc@nvj$9UI@o z#y?@>->~uT*tioLKgGt+vGEJcG-k1J02>Ff32Z9DrfJv|#-<21Rbx{`06qg|VYCb`Hia#n@#STZOT!F?KD+uE*GVjNO8< zTQPPU#(s*iO&HsXv0r2CNsMj7*mjIPhp`th_HqVeZ(;0RjQtg3f5+Gd82bogpJ41W zj16LQ9X5Ak^TF7>44c?72{0@w7!1z5FzYpV&VEj>xKZ)^e7~hWZ=P(n00pqV>{B?}KiSf5E z{w~Hp!1(7FAHet!#z!$ej`1mM31UkLwoJ#CDr{-SmKJPj!lwl%_i8f5k#>5_&*b5VTV`5)S9Ds=6kb_gNc=x zxC9fIVPX{~uEE4=Osv7gotXG3CVq*D$1w40OgxE+ZJ2l#6VGGfB~1JY6Mw_RzcBGR zCcef*FD7!B7{Ew!MvQUtv4gJ`LN;u)PA?tFXNp+gq@GcWmDS+xNouy|H~?GPWOp?FVD~q1e6% z+m~Sb>DYc2wx5md%d!1DY+s4(S7G}d*uDwdpTPDvvHfdo&tpe5c64FKKG<;-cASMB z*I>tL>{x>xYq4V;cHD>^&tS(Z*zvmzcD#Wdf5MKpvEx1L_z*k3#E!4AqZd2!*crvn z2JBpborhrOVc2;jcAkWtr(ox)*m(|iUW%QUVdpCByc#<**tr%vpTW*ou=9QF{17__ zuyYK%GM(6!#;zsUwF0}&!>&uQ>vHV661#qYUDsjP4cK)fcCE**Te0hQ?7A1b9>%UG zuc-S}Ff|WTdt+*UOdW)&g_t@KQzv8UR7{B z>^=m$kHGGuvHLjeJ{h|gWA|y;eGztNR$=!#?B0ys&tmtVvHKnDeh<6 zOeZj%#PnQD?~mz&Fuf4dhhzFkOfSXsGEA?)^!b>+5Yrc9`btb+jp-j^`bU_)0n;~P z`gY8u@51!mn0^4$4`TWuO#cegPhk3KOuvBXH!%Gsrr*N!yO{n4)4iC^V*1;1!UVy&ML-P5uCLEXB~jER^qJ7an?qhwFzgvinIQLvvv}2*2f#acZ+d9`9FxEfOh}@ delta 7640 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 diff --git a/main.cpp b/main.cpp index 84d7587730..49d93cb317 100644 --- a/main.cpp +++ b/main.cpp @@ -125,9 +125,6 @@ Cloud cloud(250000, // Particles struct { float vertices[NUM_TRIS * 3]; float vel [NUM_TRIS * 3]; - glm::vec3 vel1[NUM_TRIS]; - glm::vec3 vel2[NUM_TRIS]; - int element[NUM_TRIS]; }tris; @@ -325,7 +322,6 @@ void init(void) //tris.normals[i*3+2] = pos.z; // Moving - white - tris.element[i] = 1; //tris.colors[i*3] = 1.0; tris.colors[i*3+1] = 1.0; tris.colors[i*3+2] = 1.0; tris.vel[i*3] = (randFloat() - 0.5)*VEL_SCALE; tris.vel[i*3+1] = (randFloat() - 0.5)*VEL_SCALE; @@ -376,41 +372,34 @@ void update_tris() float field_contrib[3]; for (i = 0; i < NUM_TRIS; i++) { - if (tris.element[i] == 1) // If moving object, move and drag - { - // Update position - tris.vertices[i*3+0] += tris.vel[i*3]; - tris.vertices[i*3+1] += tris.vel[i*3+1]; - tris.vertices[i*3+2] += tris.vel[i*3+2]; - - // Add a little gravity - //tris.vel[i*3+1] -= 0.0001; - - const float DRAG = 0.99; - // Drag: Decay velocity - tris.vel[i*3] *= DRAG; - tris.vel[i*3+1] *= DRAG; - tris.vel[i*3+2] *= DRAG; - } + // Update position + tris.vertices[i*3+0] += tris.vel[i*3]; + tris.vertices[i*3+1] += tris.vel[i*3+1]; + tris.vertices[i*3+2] += tris.vel[i*3+2]; + + // Add a little gravity + //tris.vel[i*3+1] -= 0.0001; + + const float DRAG = 0.99; + // Drag: Decay velocity + tris.vel[i*3] *= DRAG; + tris.vel[i*3+1] *= DRAG; + tris.vel[i*3+2] *= DRAG; - if (tris.element[i] == 1) - { + // Read and add velocity from field + field_value(field_val, &tris.vertices[i*3]); + tris.vel[i*3] += field_val[0]; + tris.vel[i*3+1] += field_val[1]; + tris.vel[i*3+2] += field_val[2]; + + // Add a tiny bit of energy back to the field + const float FIELD_COUPLE = 0.0000001; + field_contrib[0] = tris.vel[i*3]*FIELD_COUPLE; + field_contrib[1] = tris.vel[i*3+1]*FIELD_COUPLE; + field_contrib[2] = tris.vel[i*3+2]*FIELD_COUPLE; + field_add(field_contrib, &tris.vertices[i*3]); - // Read and add velocity from field - field_value(field_val, &tris.vertices[i*3]); - tris.vel[i*3] += field_val[0]; - tris.vel[i*3+1] += field_val[1]; - tris.vel[i*3+2] += field_val[2]; - - // Add a tiny bit of energy back to the field - const float FIELD_COUPLE = 0.0000001; - field_contrib[0] = tris.vel[i*3]*FIELD_COUPLE; - field_contrib[1] = tris.vel[i*3+1]*FIELD_COUPLE; - field_contrib[2] = tris.vel[i*3+2]*FIELD_COUPLE; - field_add(field_contrib, &tris.vertices[i*3]); - - } - + // bounce at edge of world for (j=0; j < 3; j++) { if ((tris.vertices[i*3+j] > WORLD_SIZE) || (tris.vertices[i*3+j] < 0.0)) {