[Durian-svn] [3763] opengl stamp, batch baking improvements for the dragon

campbell institute at blender.org
Mon May 24 08:38:19 CEST 2010


Revision: 3763
          https://blenderinstitute.dyndns.org/durian-svn/?do=log&project=durian&path=/&rev=3763
Author:   campbell
Date:     2010-05-24 08:38:19 +0200 (Mon, 24 May 2010)
Log Message:
-----------
opengl stamp, batch baking improvements for the dragon

Modified Paths:
--------------
    pro/scripts/utilities/batch_bake.py
    pro/scripts/utilities/batch_ogl.py

Modified: pro/scripts/utilities/batch_bake.py
===================================================================
--- pro/scripts/utilities/batch_bake.py	2010-05-24 06:37:51 UTC (rev 3762)
+++ pro/scripts/utilities/batch_bake.py	2010-05-24 06:38:19 UTC (rev 3763)
@@ -57,23 +57,43 @@
 
     return lay
 
+
+def finals_config_setup_all(baked):
+    import finals_config
+    for attr in dir(finals_config):
+        if attr.startswith("setup_"):
+            _setup = getattr(finals_config, attr)
+            _setup(baked=baked)
+
 def check_init():
     '''
     if "durian_init.py" not in bpy.data.texts:
         print("durian_init.py not found: Exiting!")
         # sys.exit(0)
     '''
+    ok = 0
+
+    if "GEO-sintel_hair_emit" not in bpy.data.objects:
+        print("GEO-sintel_hair_emit not found...")
+    else:
+        ok |= 1
     
-    if "GEO-sintel_hair_emit" not in bpy.data.objects:
-        print("GEO-sintel_hair_emit not found: Exiting!")
+    if "GEO-wing_sim" not in bpy.data.objects:
+        print("GEO-wing_sim not found...")
+    else:
+        ok |= 1
+
+    if not ok:
         sys.exit(0)
-    
-    
+
     if "durian_init.py" not in bpy.data.texts:
-        text = """
-import finals_config
+        text = """import finals_config
 reload(finals_config)
-finals_config.setup(baked=False)"""
+finals_config.setup_sintel(baked=False)
+finals_config.setup_shaman(baked=False)
+finals_config.setup_guardian(baked=False)
+finals_config.setup_dragon_baby(baked=False)
+finals_config.setup_dragon_adult(baked=False)"""
         textblock = bpy.data.texts.new("durian_init.py")
         
     
@@ -99,11 +119,10 @@
     if DEBUG:
         bpy.context.scene.frame_end = bpy.context.scene.frame_start + 10
 
-    import durian_init
-    reload(durian_init)
+    finals_config_setup_all(baked=False)
+    
+    import finals_config
 
-    finals_config = durian_init.finals_config
-
     # start bake
     bpy.ops.ptcache.free_bake_all()
     
@@ -123,7 +142,8 @@
         "object": None
     }
 
-    # hair
+
+    # sintel (hair)
     for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-sintel_hair_emit"]:
         obj, psys = finals_config.get_pointcache_sintel_hair(obj)
 
@@ -140,11 +160,11 @@
 
         print("layers:", lay)
 
-        finals_config.setup(baked=False, pre_roll=0) # <--- why is this needed?
+        finals_config.setup_sintel(baked=False, pre_roll=0) # <--- why is this needed?
         bpy.ops.ptcache.free_bake(context)
 
         if OVERRIDE:
-            finals_config.setup(baked=False, pre_roll=0)
+            finals_config.setup_sintel(baked=False, pre_roll=0)
         else:
             reload(durian_init) # <--- why is this needed?
 
@@ -154,6 +174,51 @@
             os.system(cmd)
 
 
+
+
+
+
+
+
+    # dragon (cloth)
+    for obj in [obj for obj_name, obj in object_items if obj_name == "GEO-wing_sim"]:
+        obj, mod_cloth = finals_config.get_pointcache_dragon_baby_cloth(obj)
+
+        context = base_context.copy()
+        
+        context["point_cache"] = mod_cloth.point_cache
+
+        lay = get_object_layers(get_group_instance(obj))
+        bpy.context.scene.layers = lay
+
+        if True not in lay:
+            print("Skipping", obj, "no instance")
+            continue        
+
+        print("layers:", lay)
+
+        finals_config.setup_dragon_baby(baked=False, pre_roll=0) # <--- why is this needed?
+        bpy.ops.ptcache.free_bake(context)
+
+        if OVERRIDE:
+            finals_config.setup_dragon_baby(baked=False, pre_roll=0)
+        else:
+            reload(durian_init) # <--- why is this needed?
+
+        bpy.ops.ptcache.bake(context, bake=True)
+
+        for cmd in finals_config.pointcache_commands(mod_cloth.point_cache):
+            os.system(cmd)
+
+
+
+
+
+
+
+
+
+
     # import code
     # code.interact()
 
@@ -183,8 +248,7 @@
 
     
     if OVERRIDE:
-        import finals_config
-        finals_config.setup(baked=True)
+        finals_config_setup_all(baked=True)
 
     # quick fix
     # freakin give me a 3d view!!! - make them ALL 3d camera views.
@@ -221,7 +285,8 @@
 
 def noblender_print_tasks():
 
-    BIN = "/media/data/blender_ideasman42/blender/blender"
+    # BIN = "/media/data/blender_ideasman42/blender/blender"
+    BIN = "/b/B"
 
     os.system("find /media/data/durian/ -name '*_comp.blend' > /tmp/foo.txt")
     lines = open("/tmp/foo.txt", 'r').read().split("\n")
@@ -233,6 +298,20 @@
     os.system("rm /tmp/foo.txt")
 
 
+def noblender_print_tasks_glrender():
+
+    # BIN = "/media/data/blender_ideasman42/blender/blender"
+    BIN = "/b/B"
+
+    os.system("find /media/data/durian/ -name '*.blend' > /tmp/foo.txt")
+    lines = open("/tmp/foo.txt", 'r').read().split("\n")
+    lines.sort()
+    for f in lines:
+        print(" ".join(["DISPLAY=:1", "LD_PRELOAD=/shared/software/mesa-7.8/lib/libGL.so", BIN, f, "-P", __file__]))
+
+    os.system("rm /tmp/foo.txt")
+
+
 if __name__ == "__main__":
     try:
         import bpy

Modified: pro/scripts/utilities/batch_ogl.py
===================================================================
--- pro/scripts/utilities/batch_ogl.py	2010-05-24 06:37:51 UTC (rev 3762)
+++ pro/scripts/utilities/batch_ogl.py	2010-05-24 06:38:19 UTC (rev 3763)
@@ -37,13 +37,51 @@
                 continue
                 
             return val
+
+    return -1
     
-    return -1
+def get_svn_info(f):
+    os.system("svn log %s > /tmp/foo.txt" % f)
+    file = open("/tmp/foo.txt", 'r')
+    for l in file.readlines():
+        if l.startswith("r"):
+            try:
+                val = int(l.split()[0][1:])
+            except:
+                continue
+                
+            return " | ".join(l.split(" | ")[:-1])
 
+    return "<svn info not found!>"
+    
 
+def use_stamp():
+    scene = bpy.context.scene
+    rd = scene.render
+    rd.render_stamp = True
+    
+    rd.stamp_time = False
+    rd.stamp_date = False
+    rd.stamp_render_time = False
+    
+    rd.stamp_frame = True
+    rd.stamp_scene = True
+    rd.stamp_camera = True
+    rd.stamp_filename = True
+    rd.stamp_marker = True
+
+    rd.stamp_note = True
+    rd.stamp_note_text = get_svn_info(bpy.data.filename)
+
+    rd.stamp_font_size = 18
+    rd.stamp_foreground = 1.0, 1.0, 1.0, 1.0
+    rd.stamp_background = 0.0, 0.0, 0.0, 0.75
+
+
 def blender_fg_render():
     # render
     use_simplify()
+    use_stamp()
 
     bpy.context.scene.render.resolution_percentage = 100
     bpy.context.scene.render.resolution_x = 2048



More information about the Durian-svn mailing list