SharedENV
Ploy3D / SharedENV
Class: SharedENV
共享数据环境。
Table of contents
Constructors
Accessors
Methods
- AllocaCall
- Printf
- Reinit
- SetDefaultG2
- Shutdown
- Status
- Tick
- addrValue
- arrayGet
- arraySet
- bufferSet
- farrayGet
- farrayRef
- farraySet
- fscalarGet
- fscalarSet
- guidGet
- iscalarGet
- iscalarSet
- ptrAddr
- ptrCreate
- ptrGet
- ptrMove
- ptrSet
- ptrValid
- ptrValue
- ptrZero
- uarrayGet
- uarrayRef
- uarraySet
- uscalarGet
- uscalarSet
Constructors
constructor
• new SharedENV(buffer
, ptr
)
构造函数。
Parameters
Name | Type |
---|---|
buffer | ArrayBuffer |
ptr | io_ptr |
Accessors
buffer
• get
buffer(): ArrayBuffer
系统内存空间。
Returns
ArrayBuffer
bufferView
• get
bufferView(): ArrayBufferView
系统内存空间视图。
Returns
ArrayBufferView
g0size
• get
g0size(): number
G0常量缓存大小。
Returns
number
g1size
• get
g1size(): number
G1常量缓存大小。
Returns
number
shadowMapSize
• get
shadowMapSize(): number
阴影贴图大小。
Returns
number
time
• get
time(): number
系统运行计时。
Returns
number
ubufferAlign
• get
ubufferAlign(): number
统一缓存动态偏移地址对齐。
Returns
number
ubufferSize
• get
ubufferSize(): number
统一缓存大小。
Returns
number
utextureSize
• get
utextureSize(): number
统一贴图大小。
Returns
number
Methods
AllocaCall
▸ AllocaCall(size
, func
): void
在栈上分配空间后调用方法(栈空间在共享内存头部,所以地址永远不会大于4G)。
Parameters
Name | Type |
---|---|
size | number |
func | (ptr : io_ptr ) => void |
Returns
void
Printf
▸ Printf(sys_
, bufsize
, format_
, argv_
): number
格式化C字符串。
Parameters
Name | Type |
---|---|
sys_ | io_addr |
bufsize | number |
format_ | io_addr |
argv_ | io_addr |
Returns
number
Reinit
▸ Reinit(buffer
): void
重新设置共享数据环境。
Parameters
Name | Type |
---|---|
buffer | ArrayBuffer |
Returns
void
SetDefaultG2
▸ SetDefaultG2(ptrG2
): void
设置默认材质指针。
Parameters
Name | Type |
---|---|
ptrG2 | io_ptr |
Returns
void
Shutdown
▸ Shutdown(): Promise
<{ devicePixelRatio
: number
; fps
: number
; height
: number
; time
: number
; width
: number
}>
关闭共享数据环境,保留资源池最终状态。
Returns
Promise
<{ devicePixelRatio
: number
; fps
: number
; height
: number
; time
: number
; width
: number
}>
Status
▸ Status(fps
): Object
状态统计。
Parameters
Name | Type |
---|---|
fps | number |
Returns
Object
Name | Type |
---|---|
devicePixelRatio | number |
fps | number |
height | number |
time | number |
width | number |
Tick
▸ Tick(): void
系统时间滴答。
Returns
void
addrValue
▸ addrValue(addr
): number
地址值。
Parameters
Name | Type |
---|---|
addr | io_addr |
Returns
number
arrayGet
▸ arrayGet(type
, ptr
, offset
, count
): ArrayLike
<number
>
读取指定类型数组数据。
Parameters
Name | Type |
---|---|
type | number |
ptr | io_ptr |
offset | number |
count | number |
Returns
ArrayLike
<number
>
arraySet
▸ arraySet(type
, ptr
, offset
, data
): void
写入指定类型数组数据。
Parameters
Name | Type |
---|---|
type | number |
ptr | io_ptr |
offset | number |
data | ArrayLike <number > |
Returns
void
bufferSet
▸ bufferSet(ptr
, byteOffset
, buffer
): void
写入字节缓存数据(数据大小不一定是四字节对齐)。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
byteOffset | number |
buffer | ArrayBuffer |
Returns
void
farrayGet
▸ farrayGet(ptr
, offset
, count
): Float32Array
读取浮点型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
count | number |
Returns
Float32Array
farrayRef
▸ farrayRef(ptr
, offset
, count
): Float32Array
引用浮点型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
count | number |
Returns
Float32Array
farraySet
▸ farraySet(ptr
, offset
, data
): void
写入浮点型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
data | ArrayLike <number > |
Returns
void
fscalarGet
▸ fscalarGet(ptr
, offset
): number
读取浮点型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
Returns
number
fscalarSet
▸ fscalarSet(ptr
, offset
, value
): void
写入浮点型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
value | number |
Returns
void
guidGet
▸ guidGet(): string
生成GUID。
Returns
string
iscalarGet
▸ iscalarGet(ptr
, offset
): number
读取整型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
Returns
number
iscalarSet
▸ iscalarSet(ptr
, offset
, value
): void
写入整型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
value | number |
Returns
void
ptrAddr
▸ ptrAddr(ptr
, byteOffset?
): io_addr
数据指针转数据地址。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
byteOffset? | number |
Returns
ptrCreate
▸ ptrCreate(ptr
): io_ptr
数据指针构造。
Parameters
Name | Type |
---|---|
ptr | number |
Returns
ptrGet
▸ ptrGet(ptr
, offset
): io_ptr
读取指针数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
Returns
ptrMove
▸ ptrMove(ptr
, offset
): io_ptr
数据指针移动。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
Returns
ptrSet
▸ ptrSet(ptr
, offset
, value
): void
写入指针数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
value | io_ptr |
Returns
void
ptrValid
▸ ptrValid(ptr
): boolean
数据指针是否有效。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
Returns
boolean
ptrValue
▸ ptrValue(ptr
): number
数据指针值(以4字节为单位地址)。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
Returns
number
ptrZero
▸ ptrZero(): io_ptr
数据指针默认值。
Returns
uarrayGet
▸ uarrayGet(ptr
, offset
, count
): Uint32Array
读取无符号整型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
count | number |
Returns
Uint32Array
uarrayRef
▸ uarrayRef(ptr
, offset
, count
): Uint32Array
引用无符号整型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
count | number |
Returns
Uint32Array
uarraySet
▸ uarraySet(ptr
, offset
, data
): void
写入无符号整型数组数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
data | ArrayLike <number > |
Returns
void
uscalarGet
▸ uscalarGet(ptr
, offset
): number
读取无符号整型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
Returns
number
uscalarSet
▸ uscalarSet(ptr
, offset
, value
): void
写入无符号整型数据。
Parameters
Name | Type |
---|---|
ptr | io_ptr |
offset | number |
value | number |
Returns
void