Optional
x: number | number[]The x value. Defaults to 0. If x is an array of length 4, the array will be used to populate all components.
Optional
y: numberThe y value. Defaults to 0.
Optional
z: numberThe z value. Defaults to 0.
Optional
w: numberThe w value. Defaults to 0.
Private
_shaderThe fourth component of the vector.
The first component of the vector.
The second component of the vector.
The third component of the vector.
Static
Readonly
ONEA constant vector set to [1, 1, 1, 1].
Static
Readonly
ZEROA constant vector set to [0, 0, 0, 0].
用于传入shader的数据
Adds a 4-dimensional vector to another in place.
Self for chaining.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
a.add(b);
// Outputs [30, 30, 30]
console.log("The result of the addition is: " + a.toString());
The vector to add to the specified vector.
Adds two 4-dimensional vectors together and returns the result.
Self for chaining.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
var r = new pc.Vec4();
r.add2(a, b);
// Outputs [30, 30, 30]
console.log("The result of the addition is: " + r.toString());
The first vector operand for the addition.
The second vector operand for the addition.
Adds a number to each element of a vector.
Self for chaining.
var vec = new pc.Vec4(3, 4, 5, 6);
vec.addScalar(2);
// Outputs [5, 6, 7, 8]
console.log("The result of the addition is: " + vec.toString());
The number to add.
Copies the contents of a source 4-dimensional vector to a destination 4-dimensional vector.
Self for chaining.
var src = new pc.Vec4(10, 20, 30, 40);
var dst = new pc.Vec4();
dst.copy(src);
console.log("The two vectors are " + (dst.equals(src) ? "equal" : "different"));
A vector to copy to the specified vector.
Divides a 4-dimensional vector by another in place.
Self for chaining.
var a = new pc.Vec4(4, 9, 16, 25);
var b = new pc.Vec4(2, 3, 4, 5);
a.div(b);
// Outputs [2, 3, 4, 5]
console.log("The result of the division is: " + a.toString());
The vector to divide the specified vector by.
Divides one 4-dimensional vector by another and writes the result to the specified vector.
Self for chaining.
var a = new pc.Vec4(4, 9, 16, 25);
var b = new pc.Vec4(2, 3, 4, 5);
var r = new pc.Vec4();
r.div2(a, b);
// Outputs [2, 3, 4, 5]
console.log("The result of the division is: " + r.toString());
The dividend vector (the vector being divided).
The divisor vector (the vector dividing the dividend).
Divides each element of a vector by a number.
Self for chaining.
var vec = new pc.Vec4(3, 6, 9, 12);
vec.divScalar(3);
// Outputs [1, 2, 3, 4]
console.log("The result of the division is: " + vec.toString());
The number to divide by.
Returns the result of a dot product operation performed on the two specified 4-dimensional vectors.
The result of the dot product operation.
var v1 = new pc.Vec4(5, 10, 20, 40);
var v2 = new pc.Vec4(10, 20, 40, 80);
var v1dotv2 = v1.dot(v2);
console.log("The result of the dot product is: " + v1dotv2);
The second 4-dimensional vector operand of the dot product.
Reports whether two vectors are equal.
True if the vectors are equal and false otherwise.
var a = new pc.Vec4(1, 2, 3, 4);
var b = new pc.Vec4(5, 6, 7, 8);
console.log("The two vectors are " + (a.equals(b) ? "equal" : "different"));
The vector to compare to the specified vector.
Returns the result of a linear interpolation between two specified 4-dimensional vectors.
Self for chaining.
var a = new pc.Vec4(0, 0, 0, 0);
var b = new pc.Vec4(10, 10, 10, 10);
var r = new pc.Vec4();
r.lerp(a, b, 0); // r is equal to a
r.lerp(a, b, 0.5); // r is 5, 5, 5, 5
r.lerp(a, b, 1); // r is equal to b
The 4-dimensional to interpolate from.
The 4-dimensional to interpolate to.
The value controlling the point of interpolation. Between 0 and 1, the linear interpolant will occur on a straight line between lhs and rhs. Outside of this range, the linear interpolant will occur on a ray extrapolated from this line.
Multiplies a 4-dimensional vector to another in place.
Self for chaining.
var a = new pc.Vec4(2, 3, 4, 5);
var b = new pc.Vec4(4, 5, 6, 7);
a.mul(b);
// Outputs 8, 15, 24, 35
console.log("The result of the multiplication is: " + a.toString());
The 4-dimensional vector used as the second multiplicand of the operation.
Returns the result of multiplying the specified 4-dimensional vectors together.
Self for chaining.
var a = new pc.Vec4(2, 3, 4, 5);
var b = new pc.Vec4(4, 5, 6, 7);
var r = new pc.Vec4();
r.mul2(a, b);
// Outputs 8, 15, 24, 35
console.log("The result of the multiplication is: " + r.toString());
The 4-dimensional vector used as the first multiplicand of the operation.
The 4-dimensional vector used as the second multiplicand of the operation.
Multiplies each element of a vector by a number.
Self for chaining.
var vec = new pc.Vec4(3, 6, 9, 12);
vec.mulScalar(3);
// Outputs [9, 18, 27, 36]
console.log("The result of the multiplication is: " + vec.toString());
The number to multiply by.
Returns this 4-dimensional vector converted to a unit vector in place. If the vector has a length of zero, the vector's elements will be set to zero.
Self for chaining.
var v = new pc.Vec4(25, 0, 0, 0);
v.normalize();
// Outputs 1, 0, 0, 0
console.log("The result of the vector normalization is: " + v.toString());
Sets the specified 4-dimensional vector to the supplied numerical values.
Self for chaining.
var v = new pc.Vec4();
v.set(5, 10, 20, 40);
// Outputs 5, 10, 20, 40
console.log("The result of the vector set is: " + v.toString());
The value to set on the first component of the vector.
The value to set on the second component of the vector.
The value to set on the third component of the vector.
The value to set on the fourth component of the vector.
Subtracts a 4-dimensional vector from another in place.
Self for chaining.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
a.sub(b);
// Outputs [-10, -10, -10, -10]
console.log("The result of the subtraction is: " + a.toString());
The vector to add to the specified vector.
Subtracts two 4-dimensional vectors from one another and returns the result.
Self for chaining.
var a = new pc.Vec4(10, 10, 10, 10);
var b = new pc.Vec4(20, 20, 20, 20);
var r = new pc.Vec4();
r.sub2(a, b);
// Outputs [-10, -10, -10, -10]
console.log("The result of the subtraction is: " + r.toString());
The first vector operand for the subtraction.
The second vector operand for the subtraction.
Subtracts a number from each element of a vector.
Self for chaining.
var vec = new pc.Vec4(3, 4, 5, 6);
vec.subScalar(2);
// Outputs [1, 2, 3, 4]
console.log("The result of the subtraction is: " + vec.toString());
The number to subtract.
Creates a new Vec4 object.
Example