|
11 | 11 | from manim.mobject.opengl.opengl_vectorized_mobject import OpenGLVMobject |
12 | 12 | from manim.renderer.buffers.buffer import STD140BufferFormat |
13 | 13 | from manim.renderer.opengl_shader_program import load_shader_program_by_folder |
14 | | -from manim.renderer.renderer import ImageType, Renderer, RendererData |
| 14 | +from manim.renderer.renderer import ImageType, Renderer, RendererData, RendererProtocol |
15 | 15 | from manim.utils.iterables import listify |
16 | 16 | from manim.utils.space_ops import cross2d, earclip_triangulation, z_to_vector |
17 | 17 |
|
@@ -203,14 +203,14 @@ def bind_to_uniform_block(uniform_buffer_object: gl.Buffer, idx: int = 0): |
203 | 203 | uniform_buffer_object.bind_to_uniform_block(idx) |
204 | 204 |
|
205 | 205 |
|
206 | | -class OpenGLRenderer(Renderer): |
| 206 | +class OpenGLRenderer(Renderer, RendererProtocol): |
207 | 207 | pixel_array_dtype = np.uint8 |
208 | 208 |
|
209 | 209 | def __init__( |
210 | 210 | self, |
211 | 211 | pixel_width: int = config.pixel_width, |
212 | 212 | pixel_height: int = config.pixel_height, |
213 | | - samples=4, |
| 213 | + samples: int = 4, |
214 | 214 | background_color: c.ManimColor = color.BLACK, |
215 | 215 | background_opacity: float = 1.0, |
216 | 216 | background_image: str | None = None, |
@@ -407,6 +407,12 @@ def render_program(self, prog, data, indices=None): |
407 | 407 | vao.release() |
408 | 408 | # return data, data_size |
409 | 409 |
|
| 410 | + def render_image(self, mob): |
| 411 | + raise NotImplementedError # TODO |
| 412 | + |
| 413 | + def render_previous(self, camera: Camera) -> None: |
| 414 | + raise NotImplementedError |
| 415 | + |
410 | 416 | def render_vmobject(self, mob: OpenGLVMobject) -> None: # type: ignore |
411 | 417 | self.stencil_buffer_fbo.use() |
412 | 418 | self.stencil_buffer_fbo.clear() |
|
0 commit comments