2017-05-06 24 views
1

说我有这样的:GLSL向量加法VS多浮

float x2 = q.x + q.x; 
float y2 = q.y + q.y; 
float z2 = q.z + q.z; 

VS此:

vec3 q2 = q.xyz + q.xyz; 

是向量运算更好/更快,或者这是不是在GLSL水平的担忧?

+0

你可能会发现[这篇文章](http://aras-p.info/blog/2010/09/29/glsl-optimizer/)有趣 – gman

+0

我想我在这个时候以前尝试过这个隆隆,我不能让它工作。我会再试一次。我很困惑,但我想从旋转的答案中拿出工具,但我不知道生成的程序集如何针对不同设备生成不同的相关信息。 – pailhead

回答

1

是它的速度更快,GPU可量化操作进行了优化,使用工具,如AMDs ShaderAnalyzerNVIDIAs nSight你可以看到生成的汇编揭示了你的第一个片段在3个标OPS结果,而你的第二个是一个向量运算。