Vegan Cat 2023-06-28 19:58:00 +03:30 zatwierdzone przez GitHub
commit 8bd87a4df3
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 48 dodań i 6 usunięć

Wyświetl plik

@ -261,21 +261,55 @@ def make_directories(save_path):
return Blend_My_NFTs_Output, batch_json_save_path, nftBatch_save_path
def run_as_headless():
def force_optix_or_cuda():
"""
For use when running from the command line.
Force OptiX or CUDA. Preferably OptiX
"""
# force CUDA device usage with cycles renderer
# Force Optix device usage with cycles renderer
cprefs = bpy.context.preferences.addons['cycles'].preferences
bpy.context.preferences.addons['cycles'].preferences.compute_device_type = 'OPTIX'
bpy.context.preferences.addons['cycles'].preferences.refresh_devices()
print(bpy.context.preferences.addons['cycles'].preferences.devices.keys())
for key in bpy.context.preferences.addons['cycles'].preferences.devices.keys():
bpy.context.preferences.addons['cycles'].preferences.devices[key].use = True
bpy.context.scene.cycles.device = 'GPU'
if cprefs.get_num_gpu_devices() > 0:
print('Using {} OptiX GPUs for rendering!'.format(cprefs.get_num_gpu_devices()))
return
print("no luck with OptiX! let's try CUDA instead!", end="\n")
cprefs.compute_device_type = 'CUDA'
cprefs.get_devices()
cprefs.refresh_devices()
print(cprefs.devices.keys())
for key in cprefs.devices.keys():
cprefs.devices[key].use = True
print('Using {} devices for rendering!'.format(cprefs.get_num_gpu_devices()))
bpy.context.scene.cycles.device = 'GPU'
if cprefs.get_num_gpu_devices() > 0:
print('Using {} CUDA GPUs for rendering!'.format(cprefs.get_num_gpu_devices()))
return
print("you're doomed! no CUDA or OptiX GPUs found!", end="\n")
bpy.context.scene.render.engine = 'CYCLES'
bpy.context.scene.cycles.device = 'CPU'
print("enjoy slow CPU ;)", end="\n")
def run_as_headless():
"""
For use when running from the command line.
"""
# if user want's the Eevee pass this
if bpy.context.scene.render.engine == 'CYCLES':
force_optix_or_cuda()
# def dumpSettings(settings):
# output = (

Wyświetl plik

@ -57,7 +57,7 @@ def get_python_args():
required=False,
help="Use pre-existing batch data for rendering"
)
parser.add_argument("--logic-file",
dest="logic_file",
metavar='FILE',
@ -71,4 +71,12 @@ def get_python_args():
required=False,
help="Resume failed batch"
)
parser.add_argument("--cycles-device",
dest="cycles-device",
choices=["OPTIX", "CUDA"],
required=False,
help="set cycles device to either OptiX or CUDA"
)
return parser.parse_args(argv), parser