program

janim.render.program.inject_shader(shader_type: str, shader: str) str
janim.render.program.get_janim_program(filepath: str) Program

给定相对于 janim 路径的文件位置,自动遍历后缀并读取着色器代码, 例如传入 render/shaders/dotcloud 后,会自动读取以下位置的代码:

  • redner/shaders/dotcloud.vert.glsl

  • render/shaders/dotcloud.geom.glsl

  • render/shaders/dotcloud.frag.glsl

若没有则缺省,但要能创建可用的着色器

注:

  • filepath 对应着色器程序先前已创建过,则会复用先前的对象,否则另外创建新的对象并记录

  • 该方法只能读取 janim 内置的着色器,读取自定义着色器请使用 get_custom_program()

janim.render.program.get_custom_program(filepath: str) Program

给定文件位置自动遍历后缀并读取着色器代码, 例如传入 shaders/yourshader 后,会自动读取以下位置的代码:

  • shaders/yourshader.vert.glsl

  • shaders/yourshader.geom.glsl

  • shaders/yourshader.frag.glsl

若没有则缺省,但要能创建可用的着色器

注:

  • filepath 对应着色器程序先前已创建过,则会复用先前的对象,否则另外创建新的对象并记录

  • 该方法只能读取自定义的着色器,读取 janim 内置着色器请使用 get_janim_program()

janim.render.program.get_program_from_string(vertex_shader: str, fragment_shader: str | None = None, geometry_shader: str | None = None, *, cache_key: str | None = None) Program

从着色器字符串创建着色器程序

janim.render.program.get_janim_compute_shader(filepath: str) ComputeShader

载入相对于 janim 目录的指定文件的 ComputeShader, 例如 render/shaders/map_points.comp.glsl 就会载入 janim 文件夹中的这个文件

注:若 filepath 对应的 ComputeShader 先前已创建过,则会复用先前的对象,否则另外创建新的对象并记录