mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
Allow caching of shader program code
This commit is contained in:
parent
00333d0a4d
commit
fda7fff146
1 changed files with 6 additions and 1 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue