sfml.js
    Preparing search index...

    Class Shader

    Native-owned program; source loading and compilation run asynchronously.

    Index

    Constructors

    Properties

    "[graphicsNative]": NativeGraphicsHandle<"shader">
    "[shaderId]": number
    CurrentTexture: typeof CurrentTexture = ...

    uniform 纹理占位符,绘制时使用当前对象绑定的纹理。

    Type: typeof ShaderType = ShaderType

    着色器阶段枚举。

    Accessors

    • get "[shaderTextures]"(): ReadonlyMap<
          number,
          Readonly<
              Pick<
                  Texture,
                  | "getSize"
                  | typeof graphicsNative
                  | typeof textureId
                  | typeof textureOwner
                  | "copyToImage"
                  | "isSmooth"
                  | "isRepeated"
                  | "isSrgb"
                  | "getNativeHandle",
              >,
          >,
      >

      Returns ReadonlyMap<
          number,
          Readonly<
              Pick<
                  Texture,
                  | "getSize"
                  | typeof graphicsNative
                  | typeof textureId
                  | typeof textureOwner
                  | "copyToImage"
                  | "isSmooth"
                  | "isRepeated"
                  | "isSrgb"
                  | "getNativeHandle",
              >,
          >,
      >

    Methods

    • 返回 OpenGL 程序标识;尚未编译成功时为 0。

      Returns number

    • 异步编译文件;参数为文件及阶段、顶点/片元文件,或顶点/几何/片元文件。

      Parameters

      • ...sources: Sources<string>

      Returns Promise<boolean>

    • 异步编译 GLSL 源码;参数顺序同 loadFromFile,返回编译链接是否成功。

      Parameters

      • ...sources: Sources<string>

      Returns Promise<boolean>

    • 从输入流读取 UTF-8 GLSL 并异步编译,阶段顺序同 loadFromFile。

      Parameters

      Returns Promise<boolean>

    • 设置 uniform,number 默认为 float;纹理参数会保留引用,其他值同步复制。

      Parameters

      • name: string
      • value: Uniform

      Returns void

    • 设置数值 uniform,显式指定 GLSL float 或 int;先提交已录制绘制。

      Parameters

      • name: string
      • value: number
      • type: "float" | "int"

      Returns void

    • 同步上传同类型的 float、浮点向量或矩阵数组,先提交已录制绘制。

      Parameters

      • name: string
      • values: Float32Array | readonly ArrayElement[]

      Returns void

    • 为直接 OpenGL 操作绑定程序;null 解除绑定。

      Parameters

      • shader:
            | null
            | Readonly<
                Pick<
                    Shader,
                    | typeof graphicsNative
                    | "getNativeHandle"
                    | typeof shaderId
                    | typeof shaderTextures,
                >,
            >

      Returns void

    • 返回当前环境是否支持几何着色器。

      Returns boolean