# 数据类型与样式枚举 · `properties/ESJMaterialType.ts`

> 由 `generate-docs.mjs` 自动生成。

> 源文件 `properties/ESJMaterialType.ts`，含 3 个类型定义，按名称排序。

## ESJMaterialType `[type]`

表示 ESJ 材质类型的接口。
该接口定义了材质的各种属性，包括基础颜色、自发光、金属度、粗糙度等。

```ts
export type ESJMaterialType = {
    /**
     * 基础颜色因子，是一个四维向量，通常表示 RGBA 颜色值。
     * 该值用于定义材质的基础颜色。
     */
    baseColorFactor?: ESJVector4D,
    /**
     * 自发光因子，是一个三维向量，通常表示 RGB 颜色值。
     * 该值用于定义材质的自发光颜色。
     */
    emissiveFactor?: ESJVector3D,
    /**
     * 金属度因子，取值范围通常为 0 到 1。
     * 该值用于定义材质的金属特性，值越大，材质越像金属。
     */
    metallicFactor?: number,
    /**
     * 粗糙度因子，取值范围通常为 0 到 1。
     * 该值用于定义材质的粗糙程度，值越大，材质越粗糙。
     */
    roughnessFactor?: number,
    /**
     * 双面渲染标志。
     * 如果设置为 true，则材质将进行双面渲染；否则只渲染单面。
     */
    doubleSided?: boolean,
    /**
     * 无光照标志。
     * 如果设置为 true，则材质不受光照影响，始终显示为基础颜色。
     */
    unlit?: boolean,
    /**
     * 透明度模式，可选值为 "OPAQUE"、"MASK" 或 "BLEND"。
     * "OPAQUE" 表示不透明，"MASK" 表示使用透明度掩码，"BLEND" 表示使用混合模式。
     */
    alphaMode?: "OPAQUE" | "MASK" | "BLEND",
    /**
     * 基础颜色纹理的相关信息。
     */
    baseColorTexture?: {
        /**
         * 基础颜色纹理的路径或标识符。
         */
        value?: string,
        /**
         * 基础颜色纹理的偏移量，是一个二维向量。
         */
        offset?: ESJVector2D,
        /**
         * 基础颜色纹理的缩放比例，是一个二维向量。
         */
        scale?: ESJVector2D,
        /**
         * 基础颜色纹理的旋转角度。
         */
        rotate?: number,
        /**
         * 放大过滤模式，可选值为 'LINEAR' 或 'NEAREST'。
         * 'LINEAR' 表示线性过滤，'NEAREST' 表示最近邻过滤。
         */
        magFilter?: ESJTextureMagFilter,
        /**
         * 缩小过滤模式，可选值有多种。
         * 包括 'LINEAR'、'NEAREST'、'NEAREST_MIPMAP_NEAREST'、'LINEAR_MIPMAP_NEAREST'、'NEAREST_MIPMAP_LINEAR'、'LINEAR_MIPMAP_LINEAR'。
         */
        minFilter?: ESJTextureMinFilter,
    },
    /**
     * 法线纹理的相关信息。
     */
    normalTexture?: {
        /**
         * 法线纹理的路径或标识符。
         */
        value?: string,
        /**
         * 法线纹理的偏移量，是一个二维向量。
         */
        offset?: ESJVector2D,
        /**
         * 法线纹理的缩放比例，是一个二维向量。
         */
        scale?: ESJVector2D,
        /**
         * 法线纹理的旋转角度。
         */
        rotate?: number,
        /**
         * 放大过滤模式，可选值为 'LINEAR' 或 'NEAREST'。
         * 'LINEAR' 表示线性过滤，'NEAREST' 表示最近邻过滤。
         */
        magFilter?: ESJTextureMagFilter,
        /**
         * 缩小过滤模式，可选值有多种。
         * 包括 'LINEAR'、'NEAREST'、'NEAREST_MIPMAP_NEAREST'、'LINEAR_MIPMAP_NEAREST'、'NEAREST_MIPMAP_LINEAR'、'LINEAR_MIPMAP_LINEAR'。
         */
        minFilter?: ESJTextureMinFilter,
    },
    /**
     * 法线纹理的相关信息。
     */
    metallicRoughnessTexture?: {
        /**
         * 金属度粗糙度纹理的路径或标识符。
         */
        value?: string,
        /**
         * 金属度粗糙度纹理的偏移量，是一个二维向量。
         */
        offset?: ESJVector2D,
        /**
         * 金属度粗糙度纹理的缩放比例，是一个二维向量。
         */
        scale?: ESJVector2D,
        /**
         * 金属度粗糙度纹理的旋转角度。
         */
        rotate?: number,
        /**
         * 放大过滤模式，可选值为 'LINEAR' 或 'NEAREST'。
         * 'LINEAR' 表示线性过滤，'NEAREST' 表示最近邻过滤。
         */
        magFilter?: ESJTextureMagFilter,
        /**
         * 缩小过滤模式，可选值有多种。
         * 包括 'LINEAR'、'NEAREST'、'NEAREST_MIPMAP_NEAREST'、'LINEAR_MIPMAP_NEAREST'、'NEAREST_MIPMAP_LINEAR'、'LINEAR_MIPMAP_LINEAR'。
         */
        minFilter?: ESJTextureMinFilter,
    },
    /**
     * 放大过滤模式，可选值为 'LINEAR' 或 'NEAREST'。
     * 'LINEAR' 表示线性过滤，'NEAREST' 表示最近邻过滤。
     */
    magFilter?: 'LINEAR' | 'NEAREST',
    /**
     * 缩小过滤模式，可选值有多种。
     * 包括 'LINEAR'、'NEAREST'、'NEAREST_MIPMAP_NEAREST'、'LINEAR_MIPMAP_NEAREST'、'NEAREST_MIPMAP_LINEAR'、'LINEAR_MIPMAP_LINEAR'。
     */
    minFilter?: 'LINEAR' | 'NEAREST' | 'NEAREST_MIPMAP_NEAREST' | 'LINEAR_MIPMAP_NEAREST' | 'NEAREST_MIPMAP_LINEAR' | 'LINEAR_MIPMAP_LINEAR',
}
```

## ESJTextureMagFilter `[type]`

放大过滤模式，可选值为 'LINEAR' 或 'NEAREST'。
'LINEAR' 表示线性过滤，'NEAREST' 表示最近邻过滤。

```ts
export type ESJTextureMagFilter = 'LINEAR' | 'NEAREST'
```

## ESJTextureMinFilter `[type]`

缩小过滤模式，可选值有多种。
包括 'LINEAR'、'NEAREST'、'NEAREST_MIPMAP_NEAREST'、'LINEAR_MIPMAP_NEAREST'、'NEAREST_MIPMAP_LINEAR'、'LINEAR_MIPMAP_LINEAR'。

```ts
export type ESJTextureMinFilter = 'LINEAR' | 'NEAREST' | 'NEAREST_MIPMAP_NEAREST' | 'LINEAR_MIPMAP_NEAREST' | 'NEAREST_MIPMAP_LINEAR' | 'LINEAR_MIPMAP_LINEAR'
```

---
> 本文由 `generate-docs.mjs` 从源码自动生成，请勿手改。
