base¶
警告
这部分内容涉及 JAnim 实现原理,可能较为复杂,若没有研究源码的需求,你应酌情阅读
- class janim.render.base.Programs(cache: 'dict[Any, mgl.Program | mgl.ComputeShader]' = <factory>, additional: 'list[mgl.Program]' = <factory>)¶
基类:
object- cache: dict[Any, Program | ComputeShader]¶
- additional: list[Program]¶
- janim.render.base.get_programs(ctx: Context)¶
- class janim.render.base.Renderer¶
基类:
object渲染器的基类
重写
render()以实现具体功能- data_ctx: ContextVar = <ContextVar name='Renderer.data_ctx'>¶
- render(item) None¶
- static get_u_fix_in_frame(prog: Program) Uniform¶
- static update_dynamic_buffer_data(new_data: ~numpy.ndarray, vbo: ~moderngl.Buffer, resize_target: int, use_32bit_align: bool = False, assert_dtype: ~typing.Any = <class 'numpy.float32'>) None¶
- static update_static_buffer_data(new_data: ndarray, vbo: Buffer, resize_target: int) None¶
- class janim.render.base.RenderData(*, ctx: Context, camera_info: CameraInfo, light_source_location: ndarray, anti_alias_radius: float)¶
基类:
object在渲染过程中需要配置的属性
通过
Renderer.data_ctx进行设置和获取- ctx: Context¶
- camera_info: CameraInfo¶
- light_source_location: ndarray¶
- anti_alias_radius: float¶
- janim.render.base.apply_blend_flags(ctx: Context) None¶
- janim.render.base.create_context(**kwargs) Context¶
- janim.render.base.create_context_430_or_330(**kwargs) Context¶