Skip to content

vecBase

A type which every numeric vector is assignable to. In most cases the union v2f | v3f | v4f | v2h | v3h | v4h | v2i | v3i | v4i | v2u | v3u | v4u is preferred, but when an implementation uses overloaded operators and is generic on the type, this makes the type checking much more laid back.

export function quinticInterpolation(t: d.v2f): d.v2f;
export function quinticInterpolation(t: d.v3f): d.v3f;
export function quinticInterpolation(t: d.vecBase): d.vecBase {
'use gpu';
return t * t * t * (t * (t * 6 - 15) + 10);
}

readonly [$internal]: true

packages/typegpu/src/data/wgslTypes.ts:205


readonly kind: "vec2f" | "vec2h" | "vec2i" | "vec2u" | "vec3f" | "vec3h" | "vec3i" | "vec3u" | "vec4f" | "vec4h" | "vec4i" | "vec4u"

packages/typegpu/src/data/wgslTypes.ts:206

[operatorMinus](lhs, rhs): vecBase

number | vecBase

number | vecBase

vecBase

vecInfixNotation.[operatorMinus]

packages/typegpu/src/data/wgslTypes.ts:71


[operatorPercent](lhs, rhs): vecBase

number | vecBase

number | vecBase

vecBase

vecInfixNotation.[operatorPercent]

packages/typegpu/src/data/wgslTypes.ts:77


[operatorPlus](lhs, rhs): vecBase

number | vecBase

number | vecBase

vecBase

vecInfixNotation.[operatorPlus]

packages/typegpu/src/data/wgslTypes.ts:70


[operatorSlash](lhs, rhs): vecBase

number | vecBase

number | vecBase

vecBase

vecInfixNotation.[operatorSlash]

packages/typegpu/src/data/wgslTypes.ts:76


[operatorStar](lhs, rhs): vecBase

number | matBase | vecBase

number | matBase | vecBase

vecBase

vecInfixNotation.[operatorStar]

packages/typegpu/src/data/wgslTypes.ts:72


add(other): vecBase

number | vecBase

vecBase

vecInfixNotation.add

packages/typegpu/src/data/wgslTypes.ts:64


div(other): vecBase

number | vecBase

vecBase

vecInfixNotation.div

packages/typegpu/src/data/wgslTypes.ts:67


mod(other): vecBase

number | vecBase

vecBase

vecInfixNotation.mod

packages/typegpu/src/data/wgslTypes.ts:68


mul(other): vecBase

number | matBase | vecBase

vecBase

vecInfixNotation.mul

packages/typegpu/src/data/wgslTypes.ts:66


sub(other): vecBase

number | vecBase

vecBase

vecInfixNotation.sub

packages/typegpu/src/data/wgslTypes.ts:65