add initial rendertest stuff

includes basic scripts, savefiles and gold images
This commit is contained in:
2023-11-24 11:54:11 -05:00
commit 6c65b1dfac
68 changed files with 10197 additions and 0 deletions

59
render/rendertest.py Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env python3
saves = [
'brush2_01',
'brush_01',
'brush_02',
'c0a0d_emissive',
'light_01',
]
displays = {
'full': '',
'basecolor': 'basecolor',
'emissive': 'emissive',
'nshade': 'nshade',
'ngeom': 'ngeom',
'lighting': 'lighting',
'direct': 'direct',
'indirect': 'indirect',
'indirect_specular': 'indirect_spec',
'indirect_diffuse': 'indirect_diff',
}
import argparse
parser = argparse.ArgumentParser(description='Generate scripts and makefiles for rendertest')
parser.add_argument('--script', '-s', type=argparse.FileType('w'), help='Console script for generating images')
args = parser.parse_args()
def make_script(file):
header = '''sv_cheats 1
developer 0
m_ignore 1
cl_showfps 0
scr_conspeed 100000
con_notifytime 0
hud_draw 0
r_speeds 0
rt_debug_fixed_random_seed 31337
'''
file.write(header)
for save in saves:
screenshot_base = 'rendertest/'
file.write(f'load rendertest_{save}\n')
file.write(f'wait 4; echo DONE WAIT4; playersonly; wait 11\n')
# for i in range(13):
# file.write(f'echo FRAME {i+4}; wait 1;\n')
for name, display in displays.items():
file.write(f'rt_debug_display_only "{display}"; screenshot {screenshot_base}{save}_{name}.tga; wait 1\n')
file.write('\n')
file.write('quit\n')
if args.script:
print(f'Generating script {args.script.name}')
make_script(args.script)