program

janim.render.program.get_program_from_file_prefix(filepath_prefix: str) Program

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

  • render/shaders/dotcloud.vert.glsl

  • render/shaders/dotcloud.geom.glsl

  • render/shaders/dotcloud.frag.glsl

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

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

janim.render.program.get_program_from_files(vertex_shader_file: str, fragment_shader_file: str | None = None, geometry_shader_file: str | None = None) 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, shader_name: str = '') Program

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

注:可以指定 cache_key 提供缓存,若先前创建过 cache_key 对应的着色器程序,则会复用先前的对象

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

载入相对于 janim 路径或用户路径的 ComputeShader, 例如 render/shaders/map_points.comp.glsl 就会载入 janim 文件夹中的这个文件

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