mirror of
https://github.com/3b1b/manim.git
synced 2025-07-31 22:13:30 +08:00
Allow caching of shader program code
This commit is contained in:
@ -121,11 +121,15 @@ class ShaderWrapper(object):
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
# Helper functions related to shader code
|
# For caching
|
||||||
|
filename_to_code_map = {}
|
||||||
|
|
||||||
|
|
||||||
def get_shader_code_from_file(filename):
|
def get_shader_code_from_file(filename):
|
||||||
if not filename:
|
if not filename:
|
||||||
return None
|
return None
|
||||||
|
if filename in filename_to_code_map:
|
||||||
|
return filename_to_code_map[filename]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
filepath = find_file(
|
filepath = find_file(
|
||||||
@ -149,6 +153,7 @@ def get_shader_code_from_file(filename):
|
|||||||
os.path.join("inserts", line.replace("#INSERT ", ""))
|
os.path.join("inserts", line.replace("#INSERT ", ""))
|
||||||
)
|
)
|
||||||
result = result.replace(line, inserted_code)
|
result = result.replace(line, inserted_code)
|
||||||
|
filename_to_code_map[filename] = result
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user