跳到主要内容

Ploy3D

Ploy3D • Docs


Ploy3D / Ploy3D

Class: Ploy3D

引擎模块。

Constructors​

new Ploy3D()​

new Ploy3D(options): Ploy3D

构造函数。

Parameters​

• options

引擎模块实例选项。

• options.appLut?: Record<string, (engine) => PloyApp>

应用查找表。

• options.config?

引擎实例配置。

• options.config.alphaMode: "opaque" | "premultiplied"

画布混合模式。

• options.config.colorSpace: "srgb"

画布色彩空间类型。

• options.config.devicePixelRatio: number

画布物理像素/设备独立像素比率。

• options.config.enable4k: boolean

是否启用4K支持。

• options.config.initHeight: number

画布初始高度。

• options.config.initWidth: number

画布初始宽度。

• options.config.mobile: boolean

是否是移动端。

• options.config.powerPreference: "high-performance" | "low-power"

引擎选用低功耗还是高性能的显卡。

• options.config.surface: any

画布,用于创建默认交换链。

• options.config.web: boolean

是否为Web平台。

• options.config.webgl: boolean

是否使用WebGL。

• options.CreateCanvas?

自定义Canvas元素创建方法。

• options.dazServ?: string

DAZ资源服务地址。

• options.echarts?: __module

导入ECharts图表库。

• options.Fetch?

自定义网络请求方法。

• options.kernelUrl?: string

内核模块URL。

• options.LoadImage?

自定义图像元素加载器。

• options.MakeUrl?

根据路径拼接出用于请求数据的URL。

• options.MeasureText?

自定义文本宽高计算方法。

• options.Progress?

自定义主进度条显示控制。

• options.Request?

自定义网络请求方法。

• options.rootFS: string | FileSystemDirectoryHandle

本地文件系统根路径。

• options.sdl2?: sdl2

SDL2模块名字空间。

• options.startTS?: number

启动时间戳。

• options.Track?

自定义日志打印方法。

• options.workerUrl?: string

线程模块URL。

• options.workerUrlJS?: string

线程模块URL。

Returns​

Ploy3D

Properties​

app​

app: PloyApp

当前应用实例。


appLut​

appLut: Record<string, (engine) => PloyApp>

应用查找表。


assembly​

assembly: Assembly

渲染管线装配器。


baseURI​

baseURI: string

根路径。


config​

config: object

引擎配置。

alphaMode​

alphaMode: "opaque" | "premultiplied"

画布混合模式。

colorSpace​

colorSpace: "srgb"

画布色彩空间类型。

devicePixelRatio​

devicePixelRatio: number

画布物理像素/设备独立像素比率。

enable4k​

enable4k: boolean

是否启用4K支持。

initHeight​

initHeight: number

画布初始高度。

initWidth​

initWidth: number

画布初始宽度。

mobile​

mobile: boolean

是否是移动端。

powerPreference​

powerPreference: "high-performance" | "low-power"

引擎选用低功耗还是高性能的显卡。

surface​

surface: any

画布,用于创建默认交换链。

web​

web: boolean

是否为Web平台。

webgl​

webgl: boolean

是否使用WebGL。


context​

context: Context

渲染设备上下文接口。


ctf​

ctf: number

压缩贴图支持标志集:0-不支持,1-s3tc,2-etc,4-astc。


dazServ​

dazServ: string

DAZ资源服务地址。


device​

device: Device

GPU虚拟设备接口。


echarts​

echarts: __module

ECharts模块名字空间。


env​

env: SharedENV

共享数据环境。


gis​

gis: Gis

GIS系统。


height​

height: number

渲染目标高度。


internal​

internal: Internal

内核接口。


kernel​

kernel: Kernel

内核管理器。


kernelCode​

kernelCode: ArrayBuffer

内核代码。


kernelUrl​

kernelUrl: string

内核模块URL。


localFS​

localFS: FileStorage

本地文件系统。


preloader​

preloader: Promise<void>

资源预加载器。


renderer​

renderer: Renderer

渲染器。


renderer2d​

renderer2d: Renderer2D

2D渲染器接口。


resources​

resources: Resources

资源管理器。


sdl2​

sdl2: sdl2

SDL2模块名字空间。


started​

started: boolean

引擎是否已启动。


startTS​

startTS: number

引擎启动时间戳。


ui​

ui: CalynUI

CalynUI系统。


uid​

uid: number

用户ID(请登陆并设置真实用户ID,用户仅能上传使用真实用户ID标识的资源,模拟用户ID可能会导致资源UUID冲突)。


width​

width: number

渲染目标宽度。


worker​

worker: Miaoworker

多线程事务处理器。


workerUrl​

workerUrl: string

线程模块URL。


workerUrlJS​

workerUrlJS: string

线程模块URL。

Accessors​

webgl​

get webgl(): boolean

是否使用的是WebGL图形API

Returns​

boolean

Methods​

CreateCanvas()​

CreateCanvas(width, height): HTMLCanvasElement

创建Canvas元素。

Parameters​

• width: number

宽度。

• height: number

高度。

Returns​

HTMLCanvasElement

返回Canvas元素。


Fetch()​

Fetch<T>(input, init, type): Promise<T>

网络请求方法。

Type Parameters​

• T

Parameters​

• input: string

请求路径。

• init: RequestInit

请求参数。

• type: "formData" | "text" | "blob" | "json" | "arrayBuffer"

请求数据类型。

Returns​

Promise<T>

返回指定类型数据。


LoadImage()​

LoadImage(src, crossOrigin?): Promise<HTMLImageElement>

加载图像元素。

Parameters​

• src: string

图片URL。

• crossOrigin?: string

允许跨域资源。

Returns​

Promise<HTMLImageElement>

返回图像元素。


MakeUrl()​

MakeUrl(path): string

根据路径拼接出用于请求数据的URL。

Parameters​

• path: string

路径。

Returns​

string

返回URL。


Matrix4x4()​

Matrix4x4(values): Matrix4x4

构造四阶矩阵。

Parameters​

• values: ArrayLike<number>

矩阵值。

Returns​

Matrix4x4

返回四阶矩阵。


MeasureText()​

MeasureText(text, ctx): object

计算字符串宽高。

Parameters​

• text: string

字符串。

• ctx: CanvasRenderingContext2D

渲染上下文。

Returns​

object

返回宽高。

actualBoundingBoxAscent​

actualBoundingBoxAscent: number

actualBoundingBoxDescent​

actualBoundingBoxDescent: number

height​

height: number

width​

width: number


Progress()​

Progress(rate, msg, log?): void

主进度条显示控制。

Parameters​

• rate: number

进度(-1表示隐藏进度条)。

• msg: string

进度提示。

• log?: boolean

是否在控制台打印。

Returns​

void


Quaternion()​

Quaternion(values): Quaternion

构造四元数。

Parameters​

• values: ArrayLike<number>

四元数值。

Returns​

Quaternion

返回四元数。


Request()​

Request<T>(method, url, type, body, content_type?, onprogress?): Promise<unknown>

网络请求方法。

Type Parameters​

• T

Parameters​

• method: "GET" | "POST"

请求类型。

• url: string

请求路径。

• type: "text" | "arraybuffer" | "blob" | "document" | "json"

请求数据类型。

• body: Document | XMLHttpRequestBodyInit

表单数据。

• content_type?: string

表单数据类型。

• onprogress?

进度刷新函数。

Returns​

Promise<unknown>

返回指定类型数据。


Shutdown()​

Shutdown(): Promise<object>

关闭引擎实例。

Returns​

Promise<object>

kernel​

kernel: object

kernel.Engine_cameraCount​

Engine_cameraCount: number

kernel.Engine_frameUniformsCount​

Engine_frameUniformsCount: number

kernel.Engine_lightCount​

Engine_lightCount: number

kernel.Engine_materialCount​

Engine_materialCount: number

kernel.Engine_meshCount​

Engine_meshCount: number

kernel.Engine_meshRendererCount​

Engine_meshRendererCount: number

kernel.Engine_objectCount​

Engine_objectCount: number

kernel.Engine_sceneCount​

Engine_sceneCount: number

kernel.Engine_spriteCount​

Engine_spriteCount: number

kernel.Engine_uniformBufferCount​

Engine_uniformBufferCount: number

kernel.Engine_uniformCount​

Engine_uniformCount: number

kernel.Engine_volumeCount​

Engine_volumeCount: number

kernel.Memory_blockCount​

Memory_blockCount: number

kernel.Memory_blockSize​

Memory_blockSize: number

kernel.Memory_freeCount​

Memory_freeCount: number

kernel.Memory_freeSize​

Memory_freeSize: number

kernel.Memory_growSize​

Memory_growSize: number

kernel.Memory_useCount​

Memory_useCount: number

kernel.Memory_useSize​

Memory_useSize: number

kernel.System_frameTS​

System_frameTS: number

kernel.System_moduleCount​

System_moduleCount: number


Startup()​

Startup(progress): Promise<void>

启动引擎实例。

Parameters​

• progress

进度刷新函数。

Returns​

Promise<void>


Track()​

Track(msg, ctrl?): void

日志打印方法。

Parameters​

• msg: string

日志信息。

• ctrl?: number

打印模式(0:log,1:info,2:warn,>2:error)。

Returns​

void


Vector3()​

Vector3(values): Vector3

构造三维向量。

Parameters​

• values: ArrayLike<number>

三维向量值。

Returns​

Vector3

返回三维向量。