Skip to content

Documentation / device / ProgramBuilder

Class: ProgramBuilder

Defined in: libs/device/src/builder/programbuilder.ts:153

The program builder class

Constructors

Constructor

new ProgramBuilder(device): ProgramBuilder

Defined in: libs/device/src/builder/programbuilder.ts:1082

Creates a program builder for given device

Parameters

device

AbstractDevice

The device

Returns

ProgramBuilder

Properties

atomic_int

atomic_int: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (name): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:245

Atomic int type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

number

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

boolean

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


atomic_uint

atomic_uint: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (name): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:255

Atomic uint type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

number

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

boolean

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


float

float: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (rhs): PBShaderExp; (name): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:265

float type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

number

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

boolean

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


int

int: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:275

int type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


uint

uint: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:282

uint type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


bool

bool: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:289

boolean type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


vec2

vec2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (x, y): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:296

vec2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


ivec2

ivec2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (x, y): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:304

ivec2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


uvec2

uvec2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (x, y): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:312

uvec2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


bvec2

bvec2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (rhs): PBShaderExp; (x, y): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:320

bvec2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(rhs): PBShaderExp

Parameters
rhs

string | number | boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y): PBShaderExp

Parameters
x

number | boolean | PBShaderExp

y

number | boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


vec3

vec3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z): PBShaderExp; (x, yz): PBShaderExp; (xy, z): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:328

vec3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


ivec3

ivec3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z): PBShaderExp; (x, yz): PBShaderExp; (xy, z): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:339

ivec3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


uvec3

uvec3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z): PBShaderExp; (x, yz): PBShaderExp; (xy, z): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:350

uvec3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


bvec3

bvec3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z): PBShaderExp; (x, yz): PBShaderExp; (xy, z): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:361

bvec3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z): PBShaderExp

Parameters
x

boolean | PBShaderExp

y

boolean | PBShaderExp

z

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz): PBShaderExp

Parameters
x

boolean | PBShaderExp

yz

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z): PBShaderExp

Parameters
xy

PBShaderExp

z

boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


vec4

vec4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z, w): PBShaderExp; (x, y, zw): PBShaderExp; (x, yz, w): PBShaderExp; (x, yzw): PBShaderExp; (xy, z, w): PBShaderExp; (xy, zw): PBShaderExp; (xyz, w): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:372

vec4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z, w): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, zw): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz, w): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yzw): PBShaderExp

Parameters
x

number | PBShaderExp

yzw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z, w): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, zw): PBShaderExp

Parameters
xy

PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xyz, w): PBShaderExp

Parameters
xyz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


ivec4

ivec4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z, w): PBShaderExp; (x, y, zw): PBShaderExp; (x, yz, w): PBShaderExp; (x, yzw): PBShaderExp; (xy, z, w): PBShaderExp; (xy, zw): PBShaderExp; (xyz, w): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:392

ivec4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z, w): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, zw): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz, w): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yzw): PBShaderExp

Parameters
x

number | PBShaderExp

yzw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z, w): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, zw): PBShaderExp

Parameters
xy

PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xyz, w): PBShaderExp

Parameters
xyz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


uvec4

uvec4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z, w): PBShaderExp; (x, y, zw): PBShaderExp; (x, yz, w): PBShaderExp; (x, yzw): PBShaderExp; (xy, z, w): PBShaderExp; (xy, zw): PBShaderExp; (xyz, w): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:412

uvec4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z, w): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, zw): PBShaderExp

Parameters
x

number | PBShaderExp

y

number | PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz, w): PBShaderExp

Parameters
x

number | PBShaderExp

yz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yzw): PBShaderExp

Parameters
x

number | PBShaderExp

yzw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z, w): PBShaderExp

Parameters
xy

PBShaderExp

z

number | PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, zw): PBShaderExp

Parameters
xy

PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xyz, w): PBShaderExp

Parameters
xyz

PBShaderExp

w

number | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


bvec4

bvec4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (x): PBShaderExp; (x, y, z, w): PBShaderExp; (x, y, zw): PBShaderExp; (x, yz, w): PBShaderExp; (x, yzw): PBShaderExp; (xy, z, w): PBShaderExp; (xy, zw): PBShaderExp; (xyz, w): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:432

bvec4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(x): PBShaderExp

Parameters
x

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, z, w): PBShaderExp

Parameters
x

boolean | PBShaderExp

y

boolean | PBShaderExp

z

boolean | PBShaderExp

w

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, y, zw): PBShaderExp

Parameters
x

boolean | PBShaderExp

y

boolean | PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yz, w): PBShaderExp

Parameters
x

boolean | PBShaderExp

yz

PBShaderExp

w

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(x, yzw): PBShaderExp

Parameters
x

boolean | PBShaderExp

yzw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, z, w): PBShaderExp

Parameters
xy

PBShaderExp

z

boolean | PBShaderExp

w

boolean | PBShaderExp

Returns

PBShaderExp

Call Signature

(xy, zw): PBShaderExp

Parameters
xy

PBShaderExp

zw

PBShaderExp

Returns

PBShaderExp

Call Signature

(xyz, w): PBShaderExp

Parameters
xyz

PBShaderExp

w

boolean | PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat2

mat2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m10, m11): PBShaderExp; (m0, m1): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:452

mat2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m10, m11): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat2x3

mat2x3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m10, m11, m12): PBShaderExp; (m0, m1): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:466

mat2x3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m10, m11, m12): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat2x4

mat2x4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m03, m10, m11, m12, m13): PBShaderExp; (m0, m1): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:482

mat2x4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m03, m10, m11, m12, m13): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m03

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

m13

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat3

mat3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m10, m11, m12, m20, m21, m22): PBShaderExp; (m0, m1, m2): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:500

mat3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m10, m11, m12, m20, m21, m22): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

m22

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat3x2

mat3x2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m10, m11, m20, m21): PBShaderExp; (m0, m1, m2): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:519

mat3x2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m10, m11, m20, m21): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat3x4

mat3x4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23): PBShaderExp; (m0, m1, m2): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:535

mat3x4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m03

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

m13

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

m22

number | PBShaderExp

m23

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat4

mat4: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33): PBShaderExp; (m0, m1, m2, m3): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:557

mat4 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m03

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

m13

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

m22

number | PBShaderExp

m23

number | PBShaderExp

m30

number | PBShaderExp

m31

number | PBShaderExp

m32

number | PBShaderExp

m33

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2, m3): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

m3

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat4x2

mat4x2: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m10, m11, m20, m21, m30, m31): PBShaderExp; (m0, m1, m2, m3): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:583

mat4x2 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m10, m11, m20, m21, m30, m31): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

m30

number | PBShaderExp

m31

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2, m3): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

m3

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


mat4x3

mat4x3: {[dim: number]: ShaderTypeFunc😭): PBShaderExp; (name): PBShaderExp; (m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32): PBShaderExp; (m0, m1, m2, m3): PBShaderExp; ptr: ShaderTypeFunc; }

Defined in: libs/device/src/builder/programbuilder.ts:601

mat4x3 type variable constructors

Index Signature

[dim: number]: ShaderTypeFunc

Call Signature

(): PBShaderExp

Returns

PBShaderExp

Call Signature

(name): PBShaderExp

Parameters
name

string

Returns

PBShaderExp

Call Signature

(m00, m01, m02, m10, m11, m12, m20, m21, m22, m30, m31, m32): PBShaderExp

Parameters
m00

number | PBShaderExp

m01

number | PBShaderExp

m02

number | PBShaderExp

m10

number | PBShaderExp

m11

number | PBShaderExp

m12

number | PBShaderExp

m20

number | PBShaderExp

m21

number | PBShaderExp

m22

number | PBShaderExp

m30

number | PBShaderExp

m31

number | PBShaderExp

m32

number | PBShaderExp

Returns

PBShaderExp

Call Signature

(m0, m1, m2, m3): PBShaderExp

Parameters
m0

PBShaderExp

m1

PBShaderExp

m2

PBShaderExp

m3

PBShaderExp

Returns

PBShaderExp

ptr

ptr: ShaderTypeFunc


texStorage1D

texStorage1D: StorageTextureConstructor

Defined in: libs/device/src/builder/programbuilder.ts:661

texStorage1D type variable constructors


texStorage2D

texStorage2D: StorageTextureConstructor

Defined in: libs/device/src/builder/programbuilder.ts:663

texStorage2D type variable constructors


texStorage2DArray

texStorage2DArray: StorageTextureConstructor

Defined in: libs/device/src/builder/programbuilder.ts:665

texStorage2DArray type variable constructors


texStorage3D

texStorage3D: StorageTextureConstructor

Defined in: libs/device/src/builder/programbuilder.ts:667

texStorage3D type variable constructors

Accessors

lastError

Get Signature

get lastError(): string

Defined in: libs/device/src/builder/programbuilder.ts:1103

Get last error

Returns

string


shaderKind

Get Signature

get shaderKind(): ShaderKind

Defined in: libs/device/src/builder/programbuilder.ts:1111

Current shader kind

Returns

ShaderKind


emulateDepthClamp

Get Signature

get emulateDepthClamp(): boolean

Defined in: libs/device/src/builder/programbuilder.ts:1140

Returns

boolean

Set Signature

set emulateDepthClamp(val): void

Defined in: libs/device/src/builder/programbuilder.ts:1143

Parameters
val

boolean

Returns

void

Methods

getDevice()

Call Signature

getDevice(): AbstractDevice

Defined in: libs/device/src/builder/programbuilder.ts:155

Get the device

Returns

AbstractDevice

Call Signature

getDevice(): AbstractDevice

Defined in: libs/device/src/builder/programbuilder.ts:1151

Get the device

Returns

AbstractDevice


getGlobalScope()

Call Signature

getGlobalScope(): PBGlobalScope

Defined in: libs/device/src/builder/programbuilder.ts:157

Gets the global scope

Returns

PBGlobalScope

Call Signature

getGlobalScope(): PBGlobalScope

Defined in: libs/device/src/builder/programbuilder.ts:1121

Gets the global scope

Returns

PBGlobalScope


getCurrentScope()

Call Signature

getCurrentScope<T>(): T

Defined in: libs/device/src/builder/programbuilder.ts:159

Gets the current scope

Type Parameters
T

T extends PBScope = PBScope

Returns

T

Call Signature

getCurrentScope<T>(): T

Defined in: libs/device/src/builder/programbuilder.ts:1189

Gets the current scope

Type Parameters
T

T extends PBScope = PBScope

Returns

T


queryGlobal()

Call Signature

queryGlobal(name): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:165

Query the global variable by the name

Parameters
name

string

Name of the variable

Returns

PBShaderExp

The variable or null if not exists

Call Signature

queryGlobal(name): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1177

Query the global variable by the name

Parameters
name

string

Name of the variable

Returns

PBShaderExp

The variable or null if not exists


$query()

$query(name): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:171

Query the global variable by the name

Parameters

name

string

Name of the variable

Returns

PBShaderExp

The variable or null if not exists


buildRender()

Call Signature

buildRender(options): readonly [string, string, BindGroupLayout[], number[], number]

Defined in: libs/device/src/builder/programbuilder.ts:177

Generates shader codes for a render program

Parameters
options

PBRenderOptions

The build options

Returns

readonly [string, string, BindGroupLayout[], number[], number]

a tuple made by vertex shader source, fragment shader source, bind group layouts and vertex attributes used, or null if build faild

Call Signature

buildRender(options): readonly [string, string, BindGroupLayout[], number[], number]

Defined in: libs/device/src/builder/programbuilder.ts:1205

Generates shader codes for a render program

Parameters
options

PBRenderOptions

The build options

Returns

readonly [string, string, BindGroupLayout[], number[], number]

a tuple made by vertex shader source, fragment shader source, bind group layouts and vertex attributes used, or null if build faild


buildCompute()

Call Signature

buildCompute(options): readonly [string, BindGroupLayout[]]

Defined in: libs/device/src/builder/programbuilder.ts:183

Generates shader code for a compute program

Parameters
options

PBComputeOptions

The build programs

Returns

readonly [string, BindGroupLayout[]]

a tuple made by compute shader source and bind group layouts, or null if build failed

Call Signature

buildCompute(options): readonly [string, BindGroupLayout[]]

Defined in: libs/device/src/builder/programbuilder.ts:1221

Generates shader code for a compute program

Parameters
options

PBComputeOptions

The build programs

Returns

readonly [string, BindGroupLayout[]]

a tuple made by compute shader source and bind group layouts, or null if build failed


buildRenderProgram()

Call Signature

buildRenderProgram(options): GPUProgram

Defined in: libs/device/src/builder/programbuilder.ts:189

Creates a shader program for render

Parameters
options

PBRenderOptions

The build options

Returns

GPUProgram

The created program or null if build failed

Call Signature

buildRenderProgram(options): GPUProgram<unknown>

Defined in: libs/device/src/builder/programbuilder.ts:1236

Creates a shader program for render

Parameters
options

PBRenderOptions

The build options

Returns

GPUProgram<unknown>

The created program or null if build failed


buildComputeProgram()

Call Signature

buildComputeProgram(options): GPUProgram

Defined in: libs/device/src/builder/programbuilder.ts:195

Creates a shader program for compute

Parameters
options

PBComputeOptions

The build options

Returns

GPUProgram

The created program or null if build failed

Call Signature

buildComputeProgram(options): GPUProgram<unknown>

Defined in: libs/device/src/builder/programbuilder.ts:1257

Creates a shader program for compute

Parameters
options

PBComputeOptions

The build options

Returns

GPUProgram<unknown>

The created program or null if build failed


struct()

Call Signature

struct(structName, instanceName): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:202

Creates a structure type variable

Parameters
structName

string

Name of the structure type

instanceName

string

Name of the variable

Returns

PBShaderExp

the created variable

Call Signature

struct(structName, instanceName): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1324

Creates a structure type variable

Parameters
structName

string

Name of the structure type

instanceName

string

Name of the variable

Returns

PBShaderExp

the created variable


defineStruct()

Call Signature

defineStruct(members, structName?): ShaderTypeFunc

Defined in: libs/device/src/builder/programbuilder.ts:209

Defines a structure type

Parameters
members

PBShaderExp[]

Members of the structure

structName?

string

Name of the type, if not given, the name will be automatically generated

Returns

ShaderTypeFunc

The structure type constructor

Call Signature

defineStruct(members, structName?): ShaderTypeFunc

Defined in: libs/device/src/builder/programbuilder.ts:1418

Defines a structure type

Parameters
members

PBShaderExp[]

Members of the structure

structName?

string

Name of the type

Returns

ShaderTypeFunc

The structure type constructor


defineStructByType()

Call Signature

defineStructByType(structType): ShaderTypeFunc

Defined in: libs/device/src/builder/programbuilder.ts:215

Defines a structure type

Parameters
structType

PBStructTypeInfo

The structure type info

Returns

ShaderTypeFunc

The structure type constructor

Call Signature

defineStructByType(structType): ShaderTypeFunc

Defined in: libs/device/src/builder/programbuilder.ts:1493

Defines a structure type

Parameters
structType

PBStructTypeInfo

The structure type info

Returns

ShaderTypeFunc

The structure type constructor


discard()

Call Signature

discard(): void

Defined in: libs/device/src/builder/programbuilder.ts:219

Creates a 'discard' statement

Returns

void

Call Signature

discard(): void

Defined in: libs/device/src/builder/programbuilder.ts:1796

Creates a 'discard' statement

Returns

void


func()

Call Signature

func(name, params, body?): void

Defined in: libs/device/src/builder/programbuilder.ts:226

Creates a function

Parameters
name

string

Name of the function

params

PBShaderExp[]

Parameters of the function

body?

(this) => void

The generator function

Returns

void

Call Signature

func(name, params, body?): void

Defined in: libs/device/src/builder/programbuilder.ts:1275

Creates a function

Parameters
name

string

Name of the function

params

PBShaderExp[]

Parameters of the function

body?

(this) => void

The generator function

Returns

void


main()

Call Signature

main(body?): void

Defined in: libs/device/src/builder/programbuilder.ts:231

Create the main entry function of the shader

Parameters
body?

(this) => void

The shader generator function

Returns

void

Call Signature

main(body?): void

Defined in: libs/device/src/builder/programbuilder.ts:1282

Create the main entry function of the shader

Parameters
body?

(this) => void

The shader generator function

Returns

void


addressOf()

Call Signature

addressOf(ref): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:237

Create an 'AddressOf' expression for WGSL

Parameters
ref

PBShaderExp

The reference variable

Returns

PBShaderExp

the 'AddressOf' expression

Call Signature

addressOf(ref): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1290

Create an 'AddressOf' expression for WGSL

Parameters
ref

PBShaderExp

The reference variable

Returns

PBShaderExp

the 'AddressOf' expression


referenceOf()

Call Signature

referenceOf(ptr): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:243

Creates a 'referenceOf' expression for WGSL

Parameters
ptr

PBShaderExp

The pointer variable

Returns

PBShaderExp

the 'referenceOf' expression

Call Signature

referenceOf(ptr): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1306

Creates a 'referenceOf' expression for WGSL

Parameters
ptr

PBShaderExp

The pointer variable

Returns

PBShaderExp

the 'referenceOf' expression


tex1D()

tex1D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:623

tex1D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


tex2D()

tex2D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:625

tex2D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


tex3D()

tex3D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:627

tex3D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


texCube()

texCube(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:629

texCube type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


texExternal()

texExternal(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:631

texExternal type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


tex2DShadow()

tex2DShadow(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:633

tex2DShadow type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


texCubeShadow()

texCubeShadow(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:635

texCubeShadow type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


tex2DArray()

tex2DArray(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:637

tex2DArray type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


tex2DArrayShadow()

tex2DArrayShadow(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:639

tex2DArrayShadow type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


itex1D()

itex1D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:641

itex1D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


itex2D()

itex2D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:643

itex2D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


itex3D()

itex3D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:645

itex3D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


itexCube()

itexCube(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:647

itexCube type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


itex2DArray()

itex2DArray(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:649

itex2DArray type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


utex1D()

utex1D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:651

utex1D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


utex2D()

utex2D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:653

utex2D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


utex3D()

utex3D(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:655

utex3D type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


utexCube()

utexCube(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:657

utexCube type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


utex2DArray()

utex2DArray(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:659

utex2DArray type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


sampler()

sampler(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:669

sampler type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


samplerComparison()

samplerComparison(rhs?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:671

samplerComparison type variable constructors

Parameters

rhs?

string

Returns

PBShaderExp


radians()

radians(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:673

Same as radians builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


degrees()

degrees(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:675

Same as degrees builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


sin()

sin(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:677

Same as sin builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


cos()

cos(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:679

Same as cos builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


tan()

tan(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:681

Same as tan builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


asin()

asin(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:683

Same as asin builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


acos()

acos(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:685

Same as acos builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


atan()

atan(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:687

Same as atan builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


atan2()

atan2(y, x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:689

Same as atan builtin function in GLSL and atan2 builtin function in WGSL

Parameters

y

number | PBShaderExp

x

number | PBShaderExp

Returns

PBShaderExp


sinh()

sinh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:691

Same as sinh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


cosh()

cosh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:693

Same as cosh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


tanh()

tanh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:695

Same as tanh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


asinh()

asinh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:697

Same as asinh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


acosh()

acosh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:699

Same as acosh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


atanh()

atanh(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:701

Same as atanh builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


pow()

pow(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:703

Same as pow builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


exp()

exp(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:705

Same as exp builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


exp2()

exp2(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:707

Same as exp2 builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


log()

log(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:709

Same as log builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


log2()

log2(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:711

Same as log2 builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


sqrt()

sqrt(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:713

Same as sqrt builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


inverseSqrt()

inverseSqrt(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:715

Same as inversesqrt builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


abs()

abs(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:717

Same as abs builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


sign()

sign(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:719

Same as sign builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


floor()

floor(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:721

Same as floor builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


ceil()

ceil(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:723

Same as ceil builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


fract()

fract(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:725

Same as fract builtin function in GLSL and WGSL

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


mod()

mod(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:727

Same as mod builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


fma()

fma(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:729

Same as fma builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp


round()

round(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:731

Same as round builtin function in WGSL, only valid for WebGPU device

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


trunc()

trunc(val): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:733

Same as trunc builtin function in WGSL, only valid for WebGPU device

Parameters

val

number | PBShaderExp

Returns

PBShaderExp


min()

min(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:735

Same as min builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


max()

max(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:737

Same as max builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


clamp()

clamp(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:739

Same as clamp builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp


saturate()

saturate(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:741

Clamp to [0, 1]

Parameters

x

PBShaderExp

Returns

PBShaderExp


mix()

mix(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:743

Same as mix builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp


step()

step(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:745

Same as step builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


smoothStep()

smoothStep(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:747

Same as smoothstep builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp


isnan()

isnan(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:749

Same as isnan builtin function in GLSL, only valid for WebGL2 device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


isinf()

isinf(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:751

Same as isinf builtin function in GLSL, only valid for WebGL2 device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


add_2()

add_2(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:753

add two values

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


add()

add(x, y, ...rest): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:755

add a couple of values togeter

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

rest

...(number | PBShaderExp)[]

Returns

PBShaderExp


sub()

sub(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:757

subtract two values

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


mul_2()

mul_2(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:759

multiply two values

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


mul()

mul(x, y, ...rest): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:761

multiply a couple of values togeter

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

rest

...(number | PBShaderExp)[]

Returns

PBShaderExp


div()

div(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:763

divide the first number by the second number

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


length()

length(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:765

Same as length builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


distance()

distance(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:767

Same as distance builtin function in GLSL and WGSL

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


dot()

dot(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:769

Same as dot builtin function in GLSL and WGSL

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


cross()

cross(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:771

Same as cross builtin function in GLSL and WGSL

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


normalize()

normalize(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:773

Same as normalize builtin function in GLSL and WGSL.

Parameters

x

PBShaderExp

Returns

PBShaderExp


faceForward()

faceForward(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:775

Same as faceForward builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

y

PBShaderExp

z

PBShaderExp

Returns

PBShaderExp


reflect()

reflect(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:777

Same as reflect builtin function in GLSL and WGSL

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


refract()

refract(x, y, z): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:779

Same as refract builtin function in GLSL and WGSL

Parameters

x

PBShaderExp

y

PBShaderExp

z

number | PBShaderExp

Returns

PBShaderExp


frexp()

frexp(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:781

Same as frexp builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


outerProduct()

outerProduct(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:783

Same as outerProduct builtin function in GLSL, only valid for WebGL2 device

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


transpose()

transpose(mat): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:785

Same as transpose builtin function in GLSL and WGSL, only valid for WebGL2 and WebGPU device

Parameters

mat

PBShaderExp

Returns

PBShaderExp


determinant()

determinant(mat): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:787

Same as determinant builtin function in GLSL and WGSL, only valid for WebGL2 and WebGPU device

Parameters

mat

PBShaderExp

Returns

PBShaderExp


inverse()

inverse(mat): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:789

Same as inverse builtin function in GLSL, only valid for WebGL2 device

Parameters

mat

PBShaderExp

Returns

PBShaderExp


lessThan()

lessThan(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:791

return true if x is less than y, otherwise false

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


lessThanEqual()

lessThanEqual(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:793

return true if x is less than or equals y, otherwise false, per component

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


greaterThan()

greaterThan(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:795

return true if x is greater than y, otherwise false, per component

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


greaterThanEqual()

greaterThanEqual(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:797

return true if x is greater than or equals y, otherwise false, per component

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


compEqual()

compEqual(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:799

return true if x equals y, otherwise false, per component

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


compNotEqual()

compNotEqual(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:801

return true if x is not equal to y, otherwise false, per component

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


equal()

equal(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:803

return true if x equals y, otherwise false

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


notEqual()

notEqual(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:805

return true if x is not equal to y, otherwise false

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


and_2()

and_2(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:807

return x && y

Parameters

x

number | boolean | PBShaderExp

y

number | boolean | PBShaderExp

Returns

PBShaderExp


and()

and(x, y, ...rest): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:809

return x && y && ...

Parameters

x

number | boolean | PBShaderExp

y

number | boolean | PBShaderExp

rest

...(number | boolean | PBShaderExp)[]

Returns

PBShaderExp


compAnd()

compAnd(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:815

return x & y, per component

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


compXor()

compXor(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:817

return x ^ y, per component

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

Returns

PBShaderExp


or_2()

or_2(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:819

return x || y

Parameters

x

boolean | PBShaderExp

y

boolean | PBShaderExp

Returns

PBShaderExp


or()

or(x, y, ...rest): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:821

return x || y

Parameters

x

boolean | PBShaderExp

y

boolean | PBShaderExp

rest

...(boolean | PBShaderExp)[]

Returns

PBShaderExp


compOr()

compOr(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:823

return x || y, per component

Parameters

x

number | boolean | PBShaderExp

y

number | boolean | PBShaderExp

Returns

PBShaderExp


any()

any(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:825

check whether any element of a boolean vector is true

Parameters

x

PBShaderExp

Returns

PBShaderExp


all()

all(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:827

check whether all elements of a boolean vector are true

Parameters

x

PBShaderExp

Returns

PBShaderExp


not()

not(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:829

logically invert a boolean vector

Parameters

x

boolean | PBShaderExp

Returns

PBShaderExp


neg()

neg(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:831

return the negate of the given value

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


sal()

sal(a, b): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:833

shift arithmetic left, not valid for WebGL1 device

Parameters

a

number | PBShaderExp

b

number | PBShaderExp

Returns

PBShaderExp


sar()

sar(a, b): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:835

shift arithmetic right, not valid for WebGL1 device

Parameters

a

number | PBShaderExp

b

number | PBShaderExp

Returns

PBShaderExp


arrayLength()

arrayLength(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:837

Same as the arrayLength builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


select()

select(x, y, cond): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:839

Same as the select builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

y

number | PBShaderExp

cond

boolean | PBShaderExp

Returns

PBShaderExp


floatBitsToInt()

floatBitsToInt(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:841

Same as floatBitsToInt builtin function in GLSL, only valid for WebGL2 device and WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


floatBitsToUint()

floatBitsToUint(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:843

Same as floatBitsToUint builtin function in GLSL, only valid for WebGL2 device and WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


intBitsToFloat()

intBitsToFloat(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:845

Same as intBitsToFloat builtin function in GLSL, only valid for WebGL2 device and WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


uintBitsToFloat()

uintBitsToFloat(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:847

Same as uintBitsToFloat builtin function in GLSL, only valid for WebGL2 device and WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


pack4x8snorm()

pack4x8snorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:849

Same as pack4x8snorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


unpack4x8snorm()

unpack4x8snorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:851

Same as unpack4x8snorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


pack4x8unorm()

pack4x8unorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:853

Same as pack4x8unorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


unpack4x8unorm()

unpack4x8unorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:855

Same as unpack4x8unorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


pack2x16snorm()

pack2x16snorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:857

Same as pack2x16snom builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


unpack2x16snorm()

unpack2x16snorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:859

Same as unpack2x16snorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


pack2x16unorm()

pack2x16unorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:861

Same as pack2x16unorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


unpack2x16unorm()

unpack2x16unorm(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:863

Same as unpack2x16unorm builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


pack2x16float()

pack2x16float(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:865

Same as pack2x16float builtin function in WGSL, only valid for WebGPU device

Parameters

x

PBShaderExp

Returns

PBShaderExp


unpack2x16float()

unpack2x16float(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:867

Same as unpack2x16float builtin function in WGSL, only valid for WebGPU device

Parameters

x

number | PBShaderExp

Returns

PBShaderExp


matrixCompMult()

matrixCompMult(x, y): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:869

Same as matrixCompMult builtin function in GLSL, only valid for WebGL/WebGL2 device

Parameters

x

PBShaderExp

y

PBShaderExp

Returns

PBShaderExp


dpdx()

dpdx(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:871

Same as dFdx builtin function in GLSL and dpdx builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


dpdy()

dpdy(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:873

Same as dFdy builtin function in GLSL and dpdy builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


fwidth()

fwidth(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:875

Same as fwidth builtin function in GLSL and WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


dpdxCoarse()

dpdxCoarse(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:877

Same as dFdx builtin function in GLSL and dpdxCoarse builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


dpdxFine()

dpdxFine(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:879

Same as dFdx builtin function in GLSL and dpdxFine builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


dpdyCoarse()

dpdyCoarse(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:881

Same as dFdy builtin function in GLSL and dpdyCoarse builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


dpdyFine()

dpdyFine(x): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:883

Same as dFdy builtin function in GLSL and dpdyFine builtin function in WGSL

Parameters

x

PBShaderExp

Returns

PBShaderExp


textureDimensions()

textureDimensions(tex, level?): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:885

Same as textureSize builtin function in GLSL and textureDimensions builtin function in WGSL, only valid for WebGL2 device and WebGPU device

Parameters

tex

PBShaderExp

level?

number | PBShaderExp

Returns

PBShaderExp


textureGather()

Call Signature

textureGather(tex, sampler, coords): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:887

Same as textureGather builtin function in WGSL, only valid for WebGPU device

Parameters
tex

PBShaderExp

sampler

PBShaderExp

coords

PBShaderExp

Returns

PBShaderExp

Call Signature

textureGather(component, tex, sampler, coords): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:889

Same as textureGather builtin function in WGSL, only valid for WebGPU device

Parameters
component

number | PBShaderExp

tex

PBShaderExp

sampler

PBShaderExp

coords

PBShaderExp

Returns

PBShaderExp


textureArrayGather()

Call Signature

textureArrayGather(tex, sampler, coords, arrayIndex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:896

Same as textureGather builtin function in WGSL, only valid for WebGPU device

Parameters
tex

PBShaderExp

sampler

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

Returns

PBShaderExp

Call Signature

textureArrayGather(component, tex, sampler, coords, arrayIndex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:903

Same as textureGather builtin function in WGSL, only valid for WebGPU device

Parameters
component

number | PBShaderExp

tex

PBShaderExp

sampler

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

Returns

PBShaderExp


textureGatherCompare()

textureGatherCompare(tex, samplerCompare, coords, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:911

Same as textureGatherCompare builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

samplerCompare

PBShaderExp

coords

PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureArrayGatherCompare()

textureArrayGatherCompare(tex, samplerCompare, coords, arrayIndex, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:918

Same as textureGatherCompare builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

samplerCompare

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureLoad()

textureLoad(tex, coords, levelOrSampleIndex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:926

Same as texelFetch builtin function in GLSL and textureLoad builtin function in WGSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

number | PBShaderExp

levelOrSampleIndex

number | PBShaderExp

Returns

PBShaderExp


textureArrayLoad()

textureArrayLoad(tex, coords, arrayIndex, level): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:932

Same as texelFetch builtin function in GLSL and textureLoad builtin function in WGSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

number | PBShaderExp

arrayIndex

number | PBShaderExp

level

number | PBShaderExp

Returns

PBShaderExp


textureStore()

textureStore(tex, coords, value): void

Defined in: libs/device/src/builder/programbuilder.ts:939

Same as textureStore builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

coords

number | PBShaderExp

value

PBShaderExp

Returns

void


textureArrayStore()

textureArrayStore(tex, coords, arrayIndex, value): void

Defined in: libs/device/src/builder/programbuilder.ts:941

Same as textureStore builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

value

PBShaderExp

Returns

void


textureNumLayers()

textureNumLayers(tex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:948

Same as textureNumLayers builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

Returns

PBShaderExp


textureNumLevels()

textureNumLevels(tex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:950

Same as textureNumLevels builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

Returns

PBShaderExp


textureNumSamples()

textureNumSamples(tex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:952

Same as textureNumSamples builtin function in WGSL, only valid for WebGPU device

Parameters

tex

PBShaderExp

Returns

PBShaderExp


textureSample()

textureSample(tex, coords): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:954

Same as textureSample builtin function in WebGPU and texture/texture2D/textureCube builtin function in GLSL

Parameters

tex

PBShaderExp

coords

number | PBShaderExp

Returns

PBShaderExp


textureArraySample()

textureArraySample(tex, coords, arrayIndex): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:956

Same as textureSample builtin function in WebGPU and texture builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

Returns

PBShaderExp


textureSampleBias()

textureSampleBias(tex, coords, bias): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:958

Same as textureSampleBias builtin function in WebGPU and texture/texture2D/textureCube builtin function in GLSL

Parameters

tex

PBShaderExp

coords

PBShaderExp

bias

number | PBShaderExp

Returns

PBShaderExp


textureArraySampleBias()

textureArraySampleBias(tex, coords, arrayIndex, bias): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:960

Same as textureSampleBias builtin function in WebGPU and texture builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

bias

number | PBShaderExp

Returns

PBShaderExp


textureSampleCompare()

textureSampleCompare(tex, coords, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:967

Same as textureSampleCompare builtin function in WebGPU and texture builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureArraySampleCompare()

textureArraySampleCompare(tex, coords, arrayIndex, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:969

Same as textureSampleCompare builtin function in WebGPU and texture builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureSampleLevel()

Call Signature

textureSampleLevel(tex, coords): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:976

Same as textureSampleLevel builtin function in WebGPU and textureLod/texture2DLodExt/textureCubeLodExt builtin function in GLSL

Parameters
tex

PBShaderExp

coords

PBShaderExp

Returns

PBShaderExp

Call Signature

textureSampleLevel(tex, coords, level): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:978

Same as textureSampleLevel builtin function in WebGPU and textureLod/texture2DLodExt/textureCubeLodExt builtin function in GLSL

Parameters
tex

PBShaderExp

coords

PBShaderExp

level

number | PBShaderExp

Returns

PBShaderExp


textureArraySampleLevel()

textureArraySampleLevel(tex, coords, arrayIndex, level): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:980

Same as textureSampleLevel builtin function in WebGPU and textureLod builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

level

number | PBShaderExp

Returns

PBShaderExp


textureSampleCompareLevel()

textureSampleCompareLevel(tex, coords, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:987

Same as textureSampleCompareLevel builtin function in WebGPU and texture/textureLod builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureArraySampleCompareLevel()

textureArraySampleCompareLevel(tex, coords, arrayIndex, depthRef): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:993

Same as textureSampleCompareLevel builtin function in WebGPU and texture builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

depthRef

number | PBShaderExp

Returns

PBShaderExp


textureSampleGrad()

textureSampleGrad(tex, coords, ddx, ddy): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1000

Same as textureSampleGrad builtin function in WebGPU and textureGrad/texture2DGradExt/textureCubeGradExt builtin function in GLSL

Parameters

tex

PBShaderExp

coords

PBShaderExp

ddx

PBShaderExp

ddy

PBShaderExp

Returns

PBShaderExp


textureArraySampleGrad()

textureArraySampleGrad(tex, coords, arrayIndex, ddx, ddy): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1002

Same as textureSampleGrad builtin function in WebGPU and textureGrad builtin function in GLSL, only valid for WebGL2 and WebGPU device

Parameters

tex

PBShaderExp

coords

PBShaderExp

arrayIndex

number | PBShaderExp

ddx

PBShaderExp

ddy

PBShaderExp

Returns

PBShaderExp


storageBarrier()

storageBarrier(): void

Defined in: libs/device/src/builder/programbuilder.ts:1010

Same as storageBarrier builtin function in WebGPU, only valid for WebGPU device

Returns

void


workgroupBarrier()

workgroupBarrier(): void

Defined in: libs/device/src/builder/programbuilder.ts:1012

Same as workgroupBarrier builtin function in WebGPU, only valid for WebGPU device

Returns

void


atomicLoad()

atomicLoad(ptr): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1014

atomicLoad, only valid for WebGPU device

Parameters

ptr

PBShaderExp

Returns

PBShaderExp


atomicStore()

atomicStore(ptr, value): void

Defined in: libs/device/src/builder/programbuilder.ts:1016

atomicStore, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

void


atomicAdd()

atomicAdd(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1018

atomicAdd, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicSub()

atomicSub(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1020

atomicSub, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicMax()

atomicMax(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1022

atomicMax, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicMin()

atomicMin(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1024

atomicMin, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicAnd()

atomicAnd(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1026

atomicAnd, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicOr()

atomicOr(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1028

atomicOr, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicXor()

atomicXor(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1030

atomicXor, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


atomicExchange()

atomicExchange(ptr, value): PBShaderExp

Defined in: libs/device/src/builder/programbuilder.ts:1032

atomicExchange, only valid for WebGPU device

Parameters

ptr

PBShaderExp

value

number | PBShaderExp

Returns

PBShaderExp


getReflection()

getReflection(): PBReflection

Defined in: libs/device/src/builder/programbuilder.ts:1147

Get the shader code reflection interface

Returns

PBReflection


getCurrentFunctionScope()

getCurrentFunctionScope(): PBFunctionScope

Defined in: libs/device/src/builder/programbuilder.ts:1193

Gets the current function scope

Returns

PBFunctionScope

Released under the MIT License.