program¶
- janim.render.program.get_program_from_file_prefix(filepath_prefix: str) Program¶
给定相对于 janim 路径或用户路径的文件位置,自动遍历后缀并读取着色器代码, 例如传入
render/shaders/dotcloud后,会自动读取以下位置的代码:render/shaders/dotcloud.vert.glslrender/shaders/dotcloud.geom.glslrender/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先前已创建过,则会复用先前的对象,否则另外创建新的对象并记录