深浅模式
Textures
说明
通过调用load和loadAsync方法,加载模型。
安装
bash
npm i @poggi/loaders
pnpm add @poggi/loaders
yarn add @poggi/loadersTexture 纹理贴图
支持将PNG、GIT、JPEG格式的图片加载为纹理贴图。
loading
Skybox 天空盒
由六张正交方向的纹理(+X、-X、+Y、-Y、+Z、-Z)拼接成一个立方体,覆盖场景远裁剪面。需确保相邻面边缘对齐,分辨率一致(如1024×1024),并采用相同色彩空间(sRGB或Linear),用于模拟天空、云层、星体等自然景象。
loading
HDR 全景光照
HDR(High-Dynamic Range)简单来说就是一种提高影像亮度和对比度的处理技术,它可以将每个暗部的细节变亮,暗的地方更暗,丰富更多细节色彩,让电影,图片都能呈现出极佳的效果。让你在观影时更接近真实环境中的视觉感受,这就是HDR存在的意义。传统SDR(标准对比度)最高亮度只有100nit,画面中高于100nit的部分将被失真(丢失),最低调试为0.1nit,画面中低于0.1nit的部分将被丢失。HDR技术的出现,让最高亮度达到数千nit,最低亮度达到了0.0005nit,极大的拓展了画面中亮度高于100nit以及低于0.1nit部分的细节,同时让整幅画面看上去更加通透明快、细节丰富。
loading
EXR 全景光照
EXR(Extensible Renderer)是一种扩展的渲染技术,它可以将每个暗部的细节变亮,暗的地方更暗,丰富更多细节色彩,让电影,图片都能呈现出极佳的效果,相比较于HDR,EXR保留了更为完整的渲染数据。通常HDR用于简单的全景环境光照,而EXR则更适用于专业影视后期等要求较高的场景。
loading
UltraHDR 虚幻全景光照
与HDR一样,UltraHDR也支持HDRI,但是UltraHDR会自动将HDRI转换为HDR,从而实现更精确的光照效果。但是原hdr的文件很大,借助虚幻引擎的算法,我们可以采用更小的文件来实现相同的效果。
loading
API
Methods
load<T extends keyof ILoaderType>(type: T, parameter: TLoaderParameter)
加载资源函数
loadAsync<T extends keyof ILoaderType>(type: T, parameter: TLoaderParameterAsync):Promise<ILoaderType[T]>
异步加载资源函数
Interfaces
ILoaderType
| 属性名 | 类型 |
|---|---|
| IMG | Texture |
| IMGS | Texture[] |
| Skybox | CubeTexture |
| HDR | DataTexture |
| EXR | DataTexture |
| UltraHDR | DataTexture |
IImgLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| url | 资源地址 | string | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
IImgLoaderParameter extends IImgLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: Texture) => void | 否 | - |
IImgsLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| dir | 资源目录 | string | 否 | - |
| urls | 资源地址 | string[] | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
IImgsLoaderParameter extends IImgsLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: Texture[]) => void | 否 | - |
ISkyboxLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| dir | 资源目录 | string | 否 | - |
| urls | 资源地址 | string[] | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
ISkyboxLoaderParameter extends ISkyboxLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: CubeTexture) => void | 否 | - |
IHDRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| url | 资源地址 | string | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
IHDRLoaderParameter extends IHDRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: DataTexture) => void | 否 | - |
IEXRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| url | 资源地址 | string | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
IEXRLoaderParameter extends IEXRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: DataTexture) => void | 否 | - |
IUltraHDRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| url | 资源地址 | string | 是 | - |
| loadProgress | 加载进度 | (progress: number) => void | 否 | - |
IUltraHDRLoaderParameter extends IUltraHDRLoaderAsyncParameter
| 属性名 | 说明 | 类型 | 是否必选 | 默认值 |
|---|---|---|---|---|
| loadEnd | 加载后回调 | (texture: DataTexture) => void | 否 | - |
