[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [10851] branches/soc-2007-maike/source/ blender/blenkernel/intern/material.c: Defmaterial init

Miguel Torres Lima torreslima at gmail.com
Fri Jun 1 18:55:53 CEST 2007


Revision: 10851
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10851
Author:   maike
Date:     2007-06-01 18:55:53 +0200 (Fri, 01 Jun 2007)

Log Message:
-----------
Defmaterial init
GLSL material creation/deletion for blender material creation/deletion

Modified Paths:
--------------
    branches/soc-2007-maike/source/blender/blenkernel/intern/material.c

Modified: branches/soc-2007-maike/source/blender/blenkernel/intern/material.c
===================================================================
--- branches/soc-2007-maike/source/blender/blenkernel/intern/material.c	2007-06-01 16:54:07 UTC (rev 10850)
+++ branches/soc-2007-maike/source/blender/blenkernel/intern/material.c	2007-06-01 16:55:53 UTC (rev 10851)
@@ -64,13 +64,17 @@
 
 #include "BPY_extern.h"
 
+#include "BIF_glsl_material.h"
+
 /* used in UI and render */
 Material defmaterial;
 
 /* called on startup, creator.c */
 void init_def_material(void)
 {
+        glsl_init_ghash();
 	init_material(&defmaterial);
+	glsl_init_def_material(&defmaterial);
 }
 
 /* not material itself */
@@ -98,6 +102,8 @@
 		ntreeFreeTree(ma->nodetree);
 		MEM_freeN(ma->nodetree);
 	}
+
+	glsl_delete_material(ma);
 }
 
 void init_material(Material *ma)
@@ -159,6 +165,10 @@
 	ma->sss_back= 1.0f;
 
 	ma->mode= MA_TRACEBLE|MA_SHADBUF|MA_SHADOW|MA_RADIO|MA_RAYBIAS|MA_TANGENT_STR;
+
+	if(ma != &defmaterial)
+	  glsl_create_material(ma, GLSL_HASH, NULL);
+
 }
 
 Material *add_material(char *name)
@@ -168,7 +178,6 @@
 	ma= alloc_libblock(&G.main->mat, ID_MA, name);
 	
 	init_material(ma);
-	
 	return ma;	
 }
 
@@ -200,6 +209,8 @@
 		man->nodetree= ntreeCopyTree(ma->nodetree, 0);	/* 0 == full new tree */
 	}
 	
+	glsl_create_material(man, GLSL_HASH, NULL);
+
 	return man;
 }
 





More information about the Bf-blender-cvs mailing list