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 先前已创建过,则会复用先前的对象,否则另外创建新的对象并记录