Просмотр исходного кода

Minor optimization for indirect instancing

TothBenoit 1 месяц назад
Родитель
Сommit
ea61a5dabd
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      h3d/shader/InstanceIndirect.hx

+ 2 - 2
h3d/shader/InstanceIndirect.hx

@@ -117,7 +117,7 @@ class SubPartInstanceIndirect extends InstanceIndirectBase {
 
 
 		function main() {
 		function main() {
 			if ( invocID < instanceCount ) {
 			if ( invocID < instanceCount ) {
-				var pos = vec3(0) * modelView.mat3x4();
+				var pos = vec3(modelView[0].w, modelView[1].w, modelView[2].w);
 				var vScale = abs(vec3(1) * modelView.mat3x4() - pos);
 				var vScale = abs(vec3(1) * modelView.mat3x4() - pos);
 				var scaledRadius = max(max(vScale.x, vScale.y), vScale.z);
 				var scaledRadius = max(max(vScale.x, vScale.y), vScale.z);
 				var toCam = camera.position - pos.xyz;
 				var toCam = camera.position - pos.xyz;
@@ -173,7 +173,7 @@ class InstanceIndirect extends InstanceIndirectBase {
 
 
 		function main() {
 		function main() {
 			if ( invocID < instanceCount ) {
 			if ( invocID < instanceCount ) {
-				var pos = vec3(0) * modelView.mat3x4();
+				var pos = vec3(modelView[0].w, modelView[1].w, modelView[2].w);
 				var vScale = abs(vec3(1) * modelView.mat3x4() - pos);
 				var vScale = abs(vec3(1) * modelView.mat3x4() - pos);
 				var scaledRadius = max(max(vScale.x, vScale.y), vScale.z);
 				var scaledRadius = max(max(vScale.x, vScale.y), vScale.z);
 				var toCam = camera.position - pos.xyz;
 				var toCam = camera.position - pos.xyz;