Tôi là người mới hoàn thành khi nói đến OpenGL và GLSL. Điều đó nói rằng, khi sử dụng ShaderToy Tôi thường thấy những người sử dụng một cái gì đó như:Tại sao mọi người sử dụng sqrt (dấu chấm (distanceVector, distanceVector)) trên chức năng khoảng cách của OpenGL?
vec2 uv = fragCoord/iResolution;
vec2 centerPoint = vec2(0.5);
vec2 distanceVector = uv - centerPoint;
float dist = sqrt(dot(distanceVector, distanceVector));
qua distance
chức năng OpenGL của:
vec2 uv = fragCoord/iResolution;
vec2 centerPoint = vec2(0.5);
float dist = distance(uv, centerPoint);
Tôi chỉ tò mò tại sao điều này là (tôi đoán là nó có cái gì đó để làm với tốc độ hoặc hỗ trợ cho distance
).
Tôi hiểu một cách lỏng lẻo rằng nếu các đối số giống nhau, căn bậc hai của một sản phẩm dấu chấm bằng chiều dài của vectơ: khoảng cách đó?
hoạt động cho tôi. cảm ơn. – bradleygriffith
Có nhanh hơn không? hoặc bạn có thể so sánh hai chu kỳ chức năng? –