[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21586] branches/soc-2009-yukishiro: move lightenv node to texture node mode and hide lightenv type from users

Jingyuan Huang jingyuan.huang at gmail.com
Tue Jul 14 22:49:48 CEST 2009


Revision: 21586
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21586
Author:   yukishiro
Date:     2009-07-14 22:49:45 +0200 (Tue, 14 Jul 2009)

Log Message:
-----------
move lightenv node to texture node mode and hide lightenv type from users

Modified Paths:
--------------
    branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_icons.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_node.h
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c
    branches/soc-2009-yukishiro/source/blender/blenkernel/intern/node.c
    branches/soc-2009-yukishiro/source/blender/editors/preview/previewrender.c
    branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
    branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_ops.c
    branches/soc-2009-yukishiro/source/blender/editors/space_buttons/space_buttons.c
    branches/soc-2009-yukishiro/source/blender/editors/space_node/drawnode.c
    branches/soc-2009-yukishiro/source/blender/editors/space_node/node_edit.c
    branches/soc-2009-yukishiro/source/blender/editors/space_node/node_header.c
    branches/soc-2009-yukishiro/source/blender/editors/space_node/node_intern.h
    branches/soc-2009-yukishiro/source/blender/editors/space_node/space_node.c
    branches/soc-2009-yukishiro/source/blender/editors/space_view3d/space_view3d.c
    branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h
    branches/soc-2009-yukishiro/source/blender/makesdna/DNA_node_types.h
    branches/soc-2009-yukishiro/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2009-yukishiro/source/blender/nodes/SConscript
    branches/soc-2009-yukishiro/source/blender/nodes/TEX_node.h
    branches/soc-2009-yukishiro/source/blender/nodes/intern/TEX_util.h
    branches/soc-2009-yukishiro/source/blender/sh/SH_api.h
    branches/soc-2009-yukishiro/source/blender/sh/intern/compute.c

Removed Paths:
-------------
    branches/soc-2009-yukishiro/source/blender/nodes/LGT_node.h
    branches/soc-2009-yukishiro/source/blender/nodes/intern/LGT_nodes/
    branches/soc-2009-yukishiro/source/blender/nodes/intern/LGT_util.c
    branches/soc-2009-yukishiro/source/blender/nodes/intern/LGT_util.h

Modified: branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py
===================================================================
--- branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/release/ui/buttons_lightenv.py	2009-07-14 20:49:45 UTC (rev 21586)
@@ -9,6 +9,35 @@
 	def poll(self, context):
 		return context.lightenv
 
+class LIGHT_PT_preview(LightButtonsPanel):
+	__idname__= "LIGHT_PT_preview"
+	__label__ = "Preview"
+
+	def draw(self, context):
+		layout = self.layout
+
+                lightenv = context.lightenv
+		layout.template_preview(lightenv)
+
+
+class LIGHT_PT_context_lightenv(LightButtonsPanel):
+	__no_header__ = True
+
+	def draw(self, context):
+		layout = self.layout
+		
+		scene = context.scene
+		env = context.lightenv
+		space = context.space_data
+
+		split = layout.split(percentage=0.65)
+
+		if scene:
+			split.template_ID(scene, "lightenv", new="LIGHTENV_OT_new")
+		elif world:
+			split.template_ID(space, "pin_id")
+
+
 class LIGHT_PT_properties(LightButtonsPanel):
 	__idname__= "LIGHT_PT_properties"
 	__label__ = "Properties"
@@ -24,6 +53,7 @@
 		row = layout.row()
 		row.itemO("PAINT_OT_light_paint_recompute", text="Recompute LightEnv", icon='ICON_LIGHTENV')
 
+
 class LIGHT_PT_save(LightButtonsPanel):
 	__idname__= "LIGHT_PT_save"
 	__label__ = "Save Light Env"
@@ -40,29 +70,6 @@
 		row.itemO("PAINT_OT_light_paint_save", text="Save LightEnv")
 
 
-
-class LIGHT_PT_preview(LightButtonsPanel):
-	__idname__= "LIGHT_PT_preview"
-	__label__ = "Preview"
-
-	def draw(self, context):
-		layout = self.layout
-
-                lightenv = context.lightenv
-		layout.template_preview(lightenv)
-
-
-class LIGHT_PT_type(LightButtonsPanel):
-	__idname__= "LIGHT_PT_type"
-	__label__ = "Light Environment Type"
-
-	def draw(self, context):
-		layout = self.layout
-                lightenv = context.lightenv
-                
-		row = layout.row()
-		row.itemR(lightenv, "type", text="Type")
-
 class LIGHT_PT_probe_image(LightButtonsPanel):
         __idname__= "LIGHT_PT_probe_image"
         __label__ = "Probe Image"
@@ -80,8 +87,9 @@
                 #split.template_ID(context, lightenv, "probe_image", new="IMAGE_OT_open")
 		layout.itemR(lightenv, "probe_image")
 
+
+bpy.types.register(LIGHT_PT_context_lightenv)
 bpy.types.register(LIGHT_PT_properties)
 bpy.types.register(LIGHT_PT_preview)
 bpy.types.register(LIGHT_PT_save)
-bpy.types.register(LIGHT_PT_type)
 bpy.types.register(LIGHT_PT_probe_image)

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_icons.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_icons.h	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_icons.h	2009-07-14 20:49:45 UTC (rev 21586)
@@ -74,7 +74,7 @@
 void BKE_previewimg_free(struct PreviewImage **prv);
 
 /* free the preview image belonging to the id */
-void BKE_previewimg_free_id(ID *id);
+void BKE_previewimg_free_id(struct ID *id);
 
 /* create a new preview image */
 struct PreviewImage* BKE_previewimg_create() ;
@@ -83,6 +83,6 @@
 struct PreviewImage* BKE_previewimg_copy(struct PreviewImage *prv);
 
 /* retrieve existing or create new preview image */
-PreviewImage* BKE_previewimg_get(ID *id);
+struct PreviewImage* BKE_previewimg_get(struct ID *id);
 
 #endif /*  BKE_ICONS_H */

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_lightenv.h	2009-07-14 20:49:45 UTC (rev 21586)
@@ -35,12 +35,14 @@
 extern "C" {
 #endif
 
+#include "BKE_icons.h"
+
 struct LightEnv;
 struct Image;
 
-void init_def_lightenv(void);
 void free_lightenv(struct LightEnv *env); 
 struct LightEnv* add_lightenv(char *name);
+struct LightEnv* copy_lightenv(struct LightEnv *env);
 void save_lightenv(struct LightEnv *env, char *image_name, int imtype);
 
 void update_light_func(struct LightEnv *env);

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_node.h	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/BKE_node.h	2009-07-14 20:49:45 UTC (rev 21586)
@@ -411,20 +411,13 @@
 #define TEX_NODE_VALTONOR   421
 #define TEX_NODE_SCALE      422
 #define TEX_NODE_AT         423
+#define TEX_NODE_LIGHTENV   424
 
 /* 501-599 reserved. Use like this: TEX_NODE_PROC + TEX_CLOUDS, etc */
 #define TEX_NODE_PROC      500
 #define TEX_NODE_PROC_MAX  600
 
 
-/* *************** LIGHT NODES ************** */
-
-#define LGT_NODE_OUTPUT		601
-#define LGT_NODE_LIGHTENV	602
-#define LGT_NODE_IMAGE		603
-#define LGT_NODE_MIX_RGB	604
-#define LGT_NODE_OUTPUT_FILE	605
-
 extern struct ListBase node_all_textures;
 
 /* API */

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/lightenv.c	2009-07-14 20:49:45 UTC (rev 21586)
@@ -37,11 +37,9 @@
 #include "BKE_blender.h"
 #include "BKE_displist.h"
 #include "BKE_global.h"
-//#include "BKE_icons.h"
 #include "BKE_image.h"
 #include "BKE_library.h"
 #include "BKE_main.h"
-#include "BKE_node.h"
 
 #include "DNA_lightenv_types.h"
 #include "DNA_world_types.h"
@@ -133,11 +131,6 @@
 
 void free_lightenv(LightEnv *env)
 {
-	if (env->nodetree) {
-		ntreeFreeTree(env->nodetree);
-		MEM_freeN(env->nodetree);
-	}
-
 	if (env->preview) {
 		BKE_previewimg_free(&env->preview);
 	}
@@ -159,3 +152,24 @@
 	return env;
 }
 
+
+LightEnv * copy_lightenv(LightEnv *env)
+{
+	LightEnv *new_env;
+	
+	new_env= copy_libblock(env);
+
+	new_env->type = env->type;
+	new_env->light_func = env->light_func;
+	new_env->degree = env->degree;
+	new_env->num_samples = env->num_samples;
+	new_env->output_width = env->output_width;
+	new_env->output_height = env->output_height;
+
+	if (env->preview) new_env->preview = BKE_previewimg_copy(env->preview);
+#ifndef DISABLE_PYTHON
+	BPY_copy_scriptlink(&env->scriptlink);
+#endif
+
+	return new_env;
+}

Modified: branches/soc-2009-yukishiro/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenkernel/intern/node.c	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/blenkernel/intern/node.c	2009-07-14 20:49:45 UTC (rev 21586)
@@ -74,8 +74,6 @@
 #include "TEX_node.h"
 #include "intern/TEX_util.h"
 
-#include "LGT_node.h"
-
 #include "GPU_extensions.h"
 #include "GPU_material.h"
 
@@ -83,7 +81,6 @@
 ListBase node_all_composit = {NULL, NULL};
 ListBase node_all_shaders = {NULL, NULL};
 ListBase node_all_textures = {NULL, NULL};
-ListBase node_all_light = {NULL, NULL};
 
 /* ************** Type stuff **********  */
 
@@ -115,8 +112,6 @@
 		ntree->alltypes= node_all_composit;
 	else if(ntree->type==NTREE_TEXTURE)
 		ntree->alltypes= node_all_textures;
-	else if(ntree->type==NTREE_LIGHT)
-		ntree->alltypes= node_all_light;
 	else {
 		ntree->alltypes= empty_list;
 		printf("Error: no type definitions for nodes\n");
@@ -1068,8 +1063,6 @@
 	    	BLI_strncpy(ntree->id.name, "NTComposit Nodetree", sizeof(ntree->id.name));
 	else if(ntree->type==NTREE_TEXTURE)
 		BLI_strncpy(ntree->id.name, "NTTexture Nodetree", sizeof(ntree->id.name));
-	else if(ntree->type==NTREE_LIGHT)
-		BLI_strncpy(ntree->id.name, "NTLight Nodetree", sizeof(ntree->id.name));
 	
 	ntreeInitTypes(ntree);
 	return ntree;
@@ -3053,6 +3046,7 @@
 	nodeRegisterType(ntypelist, &tex_node_texture);
 	nodeRegisterType(ntypelist, &tex_node_bricks);
 	nodeRegisterType(ntypelist, &tex_node_image);
+	nodeRegisterType(ntypelist, &tex_node_lightenv);
 	
 	nodeRegisterType(ntypelist, &tex_node_rotate);
 	nodeRegisterType(ntypelist, &tex_node_translate);
@@ -3071,13 +3065,6 @@
 	nodeRegisterType(ntypelist, &tex_node_proc_distnoise);
 }
 
-static void registerLightNodes(ListBase *ntypelist)
-{
-	nodeRegisterType(ntypelist, &lgt_node_output);
-	nodeRegisterType(ntypelist, &lgt_node_lightenv);
-	nodeRegisterType(ntypelist, &lgt_node_image);
-	nodeRegisterType(ntypelist, &lgt_node_output_file);
-}
 
 static void remove_dynamic_typeinfos(ListBase *list)
 {
@@ -3117,7 +3104,6 @@
 	registerCompositNodes(&node_all_composit);
 	registerShaderNodes(&node_all_shaders);
 	registerTextureNodes(&node_all_textures);
-	registerLightNodes(&node_all_light);
 }
 
 void free_nodesystem(void) 
@@ -3127,5 +3113,4 @@
 	remove_dynamic_typeinfos(&node_all_shaders);
 	BLI_freelistN(&node_all_shaders);
 	BLI_freelistN(&node_all_textures);
-	BLI_freelistN(&node_all_light);
 }

Modified: branches/soc-2009-yukishiro/source/blender/editors/preview/previewrender.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/editors/preview/previewrender.c	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/editors/preview/previewrender.c	2009-07-14 20:49:45 UTC (rev 21586)
@@ -915,10 +915,6 @@
 {
 	LightEnv * env = (LightEnv *)id;
 
-	if(env->nodetree && env->use_nodes) {
-		ntreeLightExecTree(env->nodetree, env);
-	}
-
 	// TODO write to env's preview
 	PreviewImage * preview = BKE_previewimg_get(id);
 	if (preview->rectf) MEM_freeN(preview->rectf);

Modified: branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h	2009-07-14 20:38:21 UTC (rev 21585)
+++ branches/soc-2009-yukishiro/source/blender/editors/space_buttons/buttons_intern.h	2009-07-14 20:49:45 UTC (rev 21586)
@@ -70,6 +70,7 @@
 void MATERIAL_OT_new(struct wmOperatorType *ot);
 void TEXTURE_OT_new(struct wmOperatorType *ot);
 void WORLD_OT_new(struct wmOperatorType *ot);
+void LIGHTENV_OT_new(struct wmOperatorType *ot);
 
 void OBJECT_OT_particle_system_add(struct wmOperatorType *ot);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list