Add config to enable opengl wireframe (#2041)

This commit is contained in:
Ryan McCauley 2021-09-16 14:14:29 +01:00 committed by GitHub
commit 32eda9d66a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 1 deletions

View file

@ -353,7 +353,7 @@ A list of all config options
'tex_template', 'tex_template_file', 'text_dir', 'top', 'transparent',
'upto_animation_number', 'use_opengl_renderer', 'use_webgl_renderer',
'verbosity', 'video_dir', 'webgl_renderer_path', 'window_position',
'window_monitor', 'window_size', 'write_all', 'write_to_movie']
'window_monitor', 'window_size', 'write_all', 'write_to_movie', 'enable_wireframe']
A list of all CLI flags

View file

@ -144,6 +144,9 @@ disable_caching = False
# Disable the warning when there are too much submobjects to hash.
disable_caching_warning = False
# --enable_wireframe
enable_wireframe = False
# Default tex_template
# --tex_template
tex_template =

View file

@ -245,6 +245,7 @@ class ManimConfig(MutableMapping):
"custom_folders",
"disable_caching",
"disable_caching_warning",
"enable_wireframe",
"ffmpeg_loglevel",
"format",
"flush_cache",
@ -539,6 +540,7 @@ class ManimConfig(MutableMapping):
"fullscreen",
"use_projection_fill_shaders",
"use_projection_stroke_shaders",
"enable_wireframe",
]:
setattr(self, key, parser["CLI"].getboolean(key, fallback=False))
@ -687,6 +689,7 @@ class ManimConfig(MutableMapping):
"use_projection_fill_shaders",
"use_projection_stroke_shaders",
"zero_pad",
"enable_wireframe",
]:
if hasattr(args, key):
attr = getattr(args, key)
@ -882,6 +885,12 @@ class ManimConfig(MutableMapping):
doc="Whether to save the rendered scene in .gif format (-i).",
)
enable_wireframe = property(
lambda self: self._d["enable_wireframe"],
lambda self, val: self._set_boolean("enable_wireframe", val),
doc="Enable wireframe debugging mode in opengl.",
)
@property
def verbosity(self):
"""Logger verbosity; "DEBUG", "INFO", "WARNING", "ERROR", or "CRITICAL" (-v)."""

View file

@ -78,4 +78,10 @@ global_options = option_group(
help="Expand the window to its maximum possible size.",
default=None,
),
option(
"--enable_wireframe",
is_flag=True,
help="Enable wireframe debugging mode in opengl.",
default=None,
),
)

View file

@ -260,6 +260,7 @@ class OpenGLRenderer:
self.frame_buffer_object = self.get_frame_buffer_object(self.context, 0)
self.frame_buffer_object.use()
self.context.enable(moderngl.BLEND)
self.context.wireframe = config["enable_wireframe"]
self.context.blend_func = (
moderngl.SRC_ALPHA,
moderngl.ONE_MINUS_SRC_ALPHA,