GlRectInstancer
Extends:
draw many rectangles quickly using GPU instancing (e.g. patchfield: ops,ports,text)
Static Member Summary
| Static Public Members | ||
| public static |
ATTR_COLOR: * |
|
| public static |
ATTR_DECO: * |
|
| public static |
ATTR_POS: * |
|
| public static |
ATTR_SIZE: * |
|
| public static |
ATTR_TEX: * |
|
| public static |
ATTR_TEXRECT: * |
|
| public static |
|
|
Constructor Summary
| Public Constructor | ||
| public |
constructor(cgl: CglContext, options: GlRectInstancerOptions) Description |
|
Member Summary
| Public Members | ||
| public |
|
|
| public |
|
|
| public get |
bounds: * |
|
| public |
debugColors: * |
|
| public |
disposed: boolean |
|
| public |
|
|
| public |
|
|
| public set |
|
|
| public get |
interactive: * |
|
| public |
|
|
| Private Members | ||
| private |
_attrBuffCol: * |
|
| private |
|
|
| private |
_attrBuffPos: * |
|
| private |
|
|
| private |
|
|
| private |
|
|
| private |
_log: * |
|
| private |
_needsBoundsRecalc: boolean |
|
| private |
_newBounds: {"minX": *, "maxX": *, "minY": *, "maxY": *, "minZ": *, "maxZ": *} |
|
| private |
_uniResX: * |
|
| private |
_uniResY: * |
|
| private |
_uniTexture1: * |
|
| private |
_uniTexture2: * |
|
| private |
_uniTexture3: * |
|
| private |
_uniTime: * |
|
| private |
_uniZoom: * |
|
| private |
_unimsdfUnit: * |
|
| private |
_uniscrollX: * |
|
| private |
_uniscrollY: * |
|
| private |
cgl: * |
|
| private |
counter: * |
|
| private |
|
|
| private |
geom: Geometry |
|
| private |
mesh: Mesh |
|
| private |
meshAttrCol: * |
|
| private |
meshAttrDeco: * |
|
| private |
meshAttrPos: * |
|
| private |
meshAttrSize: * |
|
| private |
meshAttrTex: * |
|
| private |
|
|
| private |
name: * |
|
| private |
needsRebuild: * |
|
| private |
|
|
| private |
num: * |
|
| private |
|
|
| private |
|
|
| private |
shader: Shader |
|
| private |
textures: Array<Texture> |
|
| private |
|
|
| private |
|
|
Method Summary
| Public Methods | ||
| public |
clear() |
|
| public |
createRect(options: import("./glrect.js").GlRectOptions): * |
|
| public |
dispose(): * |
|
| public |
getDebug(): {"num": *, "len_attrBuffSizes": *, "len_attrBuffPos": *, "len_attrBuffCol": *, "len_attrBuffDeco": *} |
|
| public |
getIndex(): * |
|
| public |
getNumRects(): * |
|
| public |
isDragging(): * |
|
| public |
mouseDown(e: MouseEvent, x: number, y: number) |
|
| public |
mouseMove(x: number, y: number, button: number, event: MouseEvent) |
|
| public |
mouseUp(e: MouseEvent) |
|
| public |
pointerLeave(e: MouseEvent) |
|
| public |
rebuild() |
|
| public |
removeRect(idx: string) |
|
| public |
render(resX: number, resY: number, scrollX: number, scrollY: number, zoom: number) |
|
| public |
setBorder(idx: number, o: number) |
|
| public |
setColor(idx: number, r: number, g: number, b: number, a: number) |
|
| public |
setColorArray(idx: any, r: number[]) |
|
| public |
setDebugRenderer(i: number) |
|
| public |
setPosition(idx: number, x: number, y: number, z: number) |
|
| public |
setSelected(idx: number, o: number) |
|
| public |
setShape(idx: number, o: number) |
|
| public |
setSize(idx: number, x: number, y: number) |
|
| public |
setTexRect(idx: number, x: number, y: number, w: number, h: number) |
|
| public |
setTexture(slot: string | number, tex: Texture, sdf: boolean | import("cables").Port) |
|
| public |
setTextureIdx(idx: number, x: number) |
|
| Private Methods | ||
| private |
_float32Diff(a: number, b: number): * |
|
| private |
_resetAttrRange(attr: string) |
|
| private |
_setAttrRange(attr: string, start: number, end: number) |
|
| private |
|
|
Static Public Members
public static ATTR_COLOR: * source
public static ATTR_DECO: * source
public static ATTR_POS: * source
public static ATTR_SIZE: * source
public static ATTR_TEX: * source
public static ATTR_TEXRECT: * source
public static DEFAULT_BIGNUM: * source
Public Constructors
public constructor(cgl: CglContext, options: GlRectInstancerOptions) source
Description
Params:
| Name | Type | Attribute | Description |
| cgl | CglContext | ||
| options | GlRectInstancerOptions |
Public Members
public : * source
public allowDragging: * source
public get bounds: * source
public debugColors: * source
public disposed: boolean source
public doBulkUploads: * source
public hoverWhenButton: * source
public set interactive source
public get interactive: * source
public mouseDownCount: * source
Private Members
private _attrBuffCol: * source
private _attrBuffDeco: * source
private _attrBuffPos: * source
private _attrBuffSizes: * source
private _attrBuffTexRect: * source
private _attrBuffTextures: * source
private _log: * source
private _needsBoundsRecalc: boolean source
private _newBounds: {"minX": *, "maxX": *, "minY": *, "maxY": *, "minZ": *, "maxZ": *} source
private _uniResX: * source
private _uniResY: * source
private _uniTexture1: * source
private _uniTexture2: * source
private _uniTexture3: * source
private _uniTime: * source
private _uniZoom: * source
private _unimsdfUnit: * source
private _uniscrollX: * source
private _uniscrollY: * source
private cgl: * source
private counter: * source
private geom: Geometry source
private mesh: Mesh source
private meshAttrCol: * source
private meshAttrDeco: * source
private meshAttrPos: * source
private meshAttrSize: * source
private meshAttrTex: * source
private meshAttrTexRect: * source
private name: * source
private needsRebuild: * source
private needsRebuildReason: * source
private num: * source
private reUploadAttribs: * source
private shader: Shader source
private textures: Array<Texture> source
private updateRangesMax: * source
private updateRangesMin: * source
Public Methods
public clear() source
public createRect(options: import("./glrect.js").GlRectOptions): * source
Params:
| Name | Type | Attribute | Description |
| options | import("./glrect.js").GlRectOptions |
Return:
| * |
public getDebug(): {"num": *, "len_attrBuffSizes": *, "len_attrBuffPos": *, "len_attrBuffCol": *, "len_attrBuffDeco": *} source
Return:
| {"num": *, "len_attrBuffSizes": *, "len_attrBuffPos": *, "len_attrBuffCol": *, "len_attrBuffDeco": *} |
public mouseDown(e: MouseEvent, x: number, y: number) source
Params:
| Name | Type | Attribute | Description |
| e | MouseEvent | ||
| x | number |
|
|
| y | number |
|
public mouseMove(x: number, y: number, button: number, event: MouseEvent) source
Params:
| Name | Type | Attribute | Description |
| x | number | ||
| y | number | ||
| button | number | ||
| event | MouseEvent |
public mouseUp(e: MouseEvent) source
Params:
| Name | Type | Attribute | Description |
| e | MouseEvent |
public pointerLeave(e: MouseEvent) source
Params:
| Name | Type | Attribute | Description |
| e | MouseEvent |
public rebuild() source
public removeRect(idx: string) source
Params:
| Name | Type | Attribute | Description |
| idx | string |
public render(resX: number, resY: number, scrollX: number, scrollY: number, zoom: number) source
Params:
| Name | Type | Attribute | Description |
| resX | number | ||
| resY | number | ||
| scrollX | number | ||
| scrollY | number | ||
| zoom | number |
public setBorder(idx: number, o: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| o | number |
public setColor(idx: number, r: number, g: number, b: number, a: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| r | number | ||
| g | number |
|
|
| b | number |
|
|
| a | number |
|
public setColorArray(idx: any, r: number[]) source
Params:
| Name | Type | Attribute | Description |
| idx | any | ||
| r | number[] |
public setDebugRenderer(i: number) source
Params:
| Name | Type | Attribute | Description |
| i | number |
public setPosition(idx: number, x: number, y: number, z: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| x | number | ||
| y | number | ||
| z | number |
public setSelected(idx: number, o: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| o | number |
public setShape(idx: number, o: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| o | number |
public setSize(idx: number, x: number, y: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| x | number | ||
| y | number |
public setTexRect(idx: number, x: number, y: number, w: number, h: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| x | number | ||
| y | number | ||
| w | number | ||
| h | number |
public setTexture(slot: string | number, tex: Texture, sdf: boolean | import("cables").Port) source
Params:
| Name | Type | Attribute | Description |
| slot | string | number | ||
| tex | Texture | ||
| sdf | boolean | import("cables").Port |
public setTextureIdx(idx: number, x: number) source
Params:
| Name | Type | Attribute | Description |
| idx | number | ||
| x | number |
Private Methods
private _float32Diff(a: number, b: number): * source
Params:
| Name | Type | Attribute | Description |
| a | number | ||
| b | number |
Return:
| * |
private _resetAttrRange(attr: string) source
Params:
| Name | Type | Attribute | Description |
| attr | string |
private _setAttrRange(attr: string, start: number, end: number) source
Params:
| Name | Type | Attribute | Description |
| attr | string | index |
|
| start | number | ||
| end | number |