From 10b3d0b53cc522944db9a156f8194c33c3265ba6 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Mon, 10 Oct 2016 20:45:54 +0200 Subject: [PATCH] Removed unused instance and vertex attributes --- computecullandlod/computecullandlod.cpp | 32 +++--------------- data/shaders/computecullandlod/cull.comp | 4 +-- data/shaders/computecullandlod/cull.comp.spv | Bin 5776 -> 5732 bytes .../computecullandlod/indirectdraw.frag | 5 ++- .../computecullandlod/indirectdraw.frag.spv | Bin 1288 -> 1236 bytes .../computecullandlod/indirectdraw.vert | 18 ++++------ .../computecullandlod/indirectdraw.vert.spv | Bin 2916 -> 2416 bytes 7 files changed, 15 insertions(+), 44 deletions(-) diff --git a/computecullandlod/computecullandlod.cpp b/computecullandlod/computecullandlod.cpp index 39c39542..eba0348e 100644 --- a/computecullandlod/computecullandlod.cpp +++ b/computecullandlod/computecullandlod.cpp @@ -33,7 +33,7 @@ #if defined(__ANDROID__) #define OBJECT_COUNT 32 #else -#define OBJECT_COUNT 96 +#define OBJECT_COUNT 64 #endif #define MAX_LOD_LEVEL 5 @@ -43,7 +43,6 @@ std::vector vertexLayout = { vkMeshLoader::VERTEX_LAYOUT_POSITION, vkMeshLoader::VERTEX_LAYOUT_NORMAL, - vkMeshLoader::VERTEX_LAYOUT_UV, vkMeshLoader::VERTEX_LAYOUT_COLOR }; @@ -65,8 +64,6 @@ public: // Per-instance data block struct InstanceData { glm::vec3 pos; - float texIndex; - glm::vec3 rot; float scale; }; @@ -258,21 +255,13 @@ public: VK_FORMAT_R32G32B32_SFLOAT, sizeof(float) * 3) ); - // Location 2 : Texture coordinates + // Location 2 : Color vertices.attributeDescriptions.push_back( vkTools::initializers::vertexInputAttributeDescription( VERTEX_BUFFER_BIND_ID, 2, - VK_FORMAT_R32G32_SFLOAT, - sizeof(float) * 6) - ); - // Location 3 : Color - vertices.attributeDescriptions.push_back( - vkTools::initializers::vertexInputAttributeDescription( - VERTEX_BUFFER_BIND_ID, - 3, VK_FORMAT_R32G32B32_SFLOAT, - sizeof(float) * 8) + sizeof(float) * 6) ); // Instanced attributes @@ -281,20 +270,10 @@ public: vkTools::initializers::vertexInputAttributeDescription( INSTANCE_BUFFER_BIND_ID, 4, VK_FORMAT_R32G32B32_SFLOAT, offsetof(InstanceData, pos)) ); - // Location 5: Rotation + // Location 5: Scale vertices.attributeDescriptions.push_back( vkTools::initializers::vertexInputAttributeDescription( - INSTANCE_BUFFER_BIND_ID, 5, VK_FORMAT_R32G32B32_SFLOAT, offsetof(InstanceData, rot)) - ); - // Location 6: Scale - vertices.attributeDescriptions.push_back( - vkTools::initializers::vertexInputAttributeDescription( - INSTANCE_BUFFER_BIND_ID, 6, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, scale)) - ); - // Location 7: Texture array layer index - vertices.attributeDescriptions.push_back( - vkTools::initializers::vertexInputAttributeDescription( - INSTANCE_BUFFER_BIND_ID, 7, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, texIndex)) + INSTANCE_BUFFER_BIND_ID, 5, VK_FORMAT_R32_SFLOAT, offsetof(InstanceData, scale)) ); vertices.inputState = vkTools::initializers::pipelineVertexInputStateCreateInfo(); @@ -561,7 +540,6 @@ public: uint32_t index = x + y * OBJECT_COUNT + z * OBJECT_COUNT * OBJECT_COUNT; instanceData[index].pos = glm::vec3((float)x, (float)y, (float)z) - glm::vec3((float)OBJECT_COUNT / 2.0f); instanceData[index].scale = 2.0f; - instanceData[index].rot = glm::vec3(0.0f); } } } diff --git a/data/shaders/computecullandlod/cull.comp b/data/shaders/computecullandlod/cull.comp index a9ae7974..d752d6f3 100644 --- a/data/shaders/computecullandlod/cull.comp +++ b/data/shaders/computecullandlod/cull.comp @@ -7,8 +7,8 @@ layout (constant_id = 0) const int MAX_LOD_LEVEL = 5; struct InstanceData { - vec4 pos; - vec4 rot; + vec3 pos; + float scale; }; // Binding 0: Instance input data for culling diff --git a/data/shaders/computecullandlod/cull.comp.spv b/data/shaders/computecullandlod/cull.comp.spv index 31e21853cf8c1723aae8da8b40a44914f16f5c92..4720895436191519ca61b508f8965e59cbb0e165 100644 GIT binary patch delta 1461 zcmYk5%}Z2a6vp3soe#;8tP!RVhfJ(RNlCOA!a@u(C?u$L3@S9KGh<`WCPo)V(4wZ> z*JP%Zk$q=ZP1{I+LjOanTD9t9Q_pYazB>2vaL#$o_qj8-I=}62taIC=#yEQG&F96& zUf0QZXWT?8W2#R+S1=J1HrS3(7)Xx{Nrv?fOPp@Q^?-eGUXO*o_evU|X3 zEQ>tVf4t%-dq3+EJ7Fl3$qo)(>CIivj#tylURx-U!doYt&!-0uN`_6yOiQW;^(%v5 z^Ni#MD_mF^GyYhp;ArwvINo6=ZC6lCIH4jJB_l$U(8uInS2W(r{InxtRC2e#Q?dQi zk#=Vr6Y=a2NGyAk(RhVri%qr^iD!s)YuUhNkb0p{ZR~~{nc^9tcG!oqH;1iWK-5OJ zX@>9Q4tDq%>9xaSw+SJEW!C(3{kmIBNWCD6;-n^Jb1loYise#pN$K1Ndza!yBv}sb zNMLg_IQ+Rlr`A5%^tdD#GjS|wqUNeG-pz)o#yeujNh(4gJ(ftZE@z=5OJP&-ktC6D zbi`&c+i}(#i^ZKae=7FF?aIoL5_;5%QSt)g#RYuGZWUp?F(L1L*}Cqm_>)ZyPLYJ$ zf=wt%uTAg*e~*3ud!*kL_+acpQT>6;JpsO7pPDB30}h_Y5tuxtXm0Z$;ChWI8XAy5 zv83c<;kv*!vyyWHt1}cn+n7R6ggIeV!)=j#Do`B$mrgn_$@5pW@jVmZerp``ZnL-A z^tlY09#zscN$fugx*+=hXgY5EqL4FEyb78_#}3zSJJ7= zQs*RJ3w9}dEN5fi1b!R)R`z5NLtPF)H+W)g-aF|*&the~_abVWevoaO;$v)^yeJ*N zZTeBVZAxJVq$xbHHqVz{?GdRgwj}$kNmPsD{H~3;)v~bU^)$B}UXfk+!RTsrjGtA3^Z4Qvd(} delta 1589 zcmYk4%S%*I9LLYSGhQVdQl^+T4w~3XDTo#o6AT6^1R~_3RY)3YHlvP0i{REKl3G-^ zrc8 zL4P{y%!O0wilfdK)7duLX{%BigyXt49Hkr6EZIf(L5r7dVg?G3F)F!7;6!%V>$N(K zw)5R`b8#jZ_p+z(vWzWnVpB3Lbm`wtRh`3>nPanN zX}$xmZGKLAb@SLQ0=+QIdN^3O;r8XFvK>8mgeDQN8GL!^>;t=5dFLc)7vGV@W=HsP zvP+UQnF^-s=lwfLBrhL>=M#_tsKi)tEESD}O{GVYurd&puo(a!@r6W(r(JA^CD(;6 zp%^24vHhFddtSz&$Wd$dN|ps$&I-hk1raj-m_WQoZ^0ACqyRa=pPHBzei4Wjg+d}(-$m&> g$4canzn4|%3}TyElWv6#lXOjnHL%cq!?I%PH35QRrV0*a!jT)bfb6%|B8zzbeTP=Xo(wd6ImhOMv~c2h|Z-_-KmD*Z|R zDqpPfe4A}*byCgrIen(5r)QQ-*F=wVhxF@po31kkT$iwOeJ&TzrShBdOsl;;Grus4 zqTgj=A)4d*F}h{DUJ&9Rmi5Vw$@*odWh1h4vdgknSy`6RuS@eUCF<6yQn^xiU97bH zhS&7kexyy^#+Ri<<;SuxZT?X_2; zdeoE~Yp5>>I}{pfm1aF^?t1lDlZ|T+!UIaGj611VBWlGtI9CvE3XwAxpD_qqZ7;0) zZ>nD1Px5eX<58oX5Lc^LHvQ(7-)#Gz1jTlEd}2{6Xa`Xk?@Qkp)NoDn+u}y7$7eK} z5nV!lz;i#l(Y9az82J10Sv#e9?_DIn+uf1B-zh)F1>yPu&c^qoo|J>yPJ7F*N|TN6 zP283;Lb+0WbIy%wE&GA#EttCn(_1hD%$rE->0>(1TLEWf=;mSwgM&epLv`R%OqcU;DxcJNq?I+(Z5Su!%> zdMHA=%2pDUd^jA@*D2_4|Q%) zFP0iP7X!_2F}!26+!_D3?2Ul=_S3kK;D^$~AC>V=9w{5|32ZU`XAypgYo=7M~5@UO&?=b{XrVO(B5 z9D5o!mT=UtsU4|#T*msmj5s~#Z1jv+L3?obH)OnrNg1{A4rXNVrkRzGhIe6_Tk_$5 zDi3SsWUPZnLk+iO?Ds<&@VpEiJh^#Wi!$Cj`%@nno$Y;B{{MU569;em+?UTjc0Wt< z;V=fhqBqvB2lCM{jC&{_4y|#I5-#1>$KqIzo;ZEA^DWD#HZ+`t_qd$+1_fmd3-?}gy#;|;!b(iGZ Qkf9+L-zfNxRCi^60pb&)GXMYp literal 2916 zcmZ9MYg1fB5Qa~HCDCYNjJbHjB^Xf?5hIDwm;{IlQ49nE-dzuHiX2_`P`iuCH?{n3 zmHs4um0zs#d4|)ejYGXmzwh+)^z`)E;h~AcS$2rOBiUwlFivDc@GLu;jiz~FX>Dn$ z*WaF+xje1Mv1~Xw>T^6hnd}k%@8)Gk@&q^vo(9hVJ(^$~OoBJTTi^=#0(=K@FwEZ& z^WOv>AcJBi|dINho2^!j;ctGHJ@ zyxrL@9^%4UBi)s~cdG7g-mW$8UUnWycnxRg(e|ny_DHHr*;#=ZV>Hz$;;(Jx?V^rj z-9pz}-x;)>c59{RZWP`AK^~*E&Qe;ddS$^N_pVgdeGG z^=mcvJ!Abz>_Z^d<o2!{YOX(9+wO5)Za=tw0j_=) zWZADbPr;wZYDyWd%U=Ky??r5LiFn?xS!>2O|8bzd`A#tFYpq`1YTCj7;pah;vqg}={iEOQ;>zkQ@8 z%=H?xbyqjO+3(3SORZ2I%XWF+9s}Lw$}|_U21K z&7O_(Uas}u>+}4+t($u6dj&i88CR}f-0vLrIB>1WEO*T}c^yoGWnRHN->5Zphj*~v zk9ezR{Ok-t)F_-Xc}AH5!yT0YMvR|rCKwG6;3qgcY*u$ zcinn;H{abg>ta9O0QR`wiMiR^H-UQi%wg*@3&Lj}Tm3KMxaSsdpSnKg@DcF5Kk<=& z4D?esw%^MF@Ei7g^ONfrXWz#D|Jk3SsmD2=VS7%z&l0wpaK!sWy*@|N#}V2cY_-9< zF4x*%U02ZDufOZoHSTv8+uZc=E`C#L+I~-d+mZ8^*lLmUSJ-O85jltd*Jy)x{06Qj w9O3UbV9$LEjH#dJ``e)w@xI3%jMsvz2}i{Hg|{@`4?rJd`MV?k7q6?}KS%e>hyVZp