[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12401] branches/particles: -no more baking :) as a result of the physics sprint the new kid on the block is point caching

Janne Karhu jhkarh at utu.fi
Fri Oct 26 12:19:01 CEST 2007


Revision: 12401
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12401
Author:   jhk
Date:     2007-10-26 12:19:01 +0200 (Fri, 26 Oct 2007)

Log Message:
-----------
-no more baking :) as a result of the physics sprint the new kid on the block is point caching
-initial connection to point cache + a little fix for reading point cache (was using ascii mode before :)
-bake mode -> particle mode
-getting rid of all baking things was quite a bit of work and still there are a lot of things that don't work properly, so for you bug hunters only report "real bugs" that crash or do something really weird. If things just don't work perfectly or even not at all then I probably already know it.

Modified Paths:
--------------
    branches/particles/projectfiles_vc7/blender/blenkernel/BKE_blenkernel.vcproj
    branches/particles/projectfiles_vc7/blender/src/BL_src.vcproj
    branches/particles/source/blender/blenkernel/BKE_bad_level_calls.h
    branches/particles/source/blender/blenkernel/BKE_global.h
    branches/particles/source/blender/blenkernel/BKE_particle.h
    branches/particles/source/blender/blenkernel/intern/DerivedMesh.c
    branches/particles/source/blender/blenkernel/intern/anim.c
    branches/particles/source/blender/blenkernel/intern/blender.c
    branches/particles/source/blender/blenkernel/intern/modifier.c
    branches/particles/source/blender/blenkernel/intern/object.c
    branches/particles/source/blender/blenkernel/intern/particle.c
    branches/particles/source/blender/blenkernel/intern/particle_system.c
    branches/particles/source/blender/blenkernel/intern/pointcache.c
    branches/particles/source/blender/blenkernel/intern/scene.c
    branches/particles/source/blender/blenkernel/intern/softbody.c
    branches/particles/source/blender/blenloader/intern/readfile.c
    branches/particles/source/blender/blenloader/intern/writefile.c
    branches/particles/source/blender/include/BIF_outliner.h
    branches/particles/source/blender/include/butspace.h
    branches/particles/source/blender/makesdna/DNA_bake_types.h
    branches/particles/source/blender/makesdna/DNA_object_force.h
    branches/particles/source/blender/makesdna/DNA_object_types.h
    branches/particles/source/blender/makesdna/DNA_particle_types.h
    branches/particles/source/blender/render/intern/source/convertblender.c
    branches/particles/source/blender/src/buttons_editing.c
    branches/particles/source/blender/src/buttons_object.c
    branches/particles/source/blender/src/buttons_shading.c
    branches/particles/source/blender/src/drawobject.c
    branches/particles/source/blender/src/drawview.c
    branches/particles/source/blender/src/edit.c
    branches/particles/source/blender/src/editmesh.c
    branches/particles/source/blender/src/editmesh_add.c
    branches/particles/source/blender/src/editmesh_tools.c
    branches/particles/source/blender/src/editobject.c
    branches/particles/source/blender/src/editscreen.c
    branches/particles/source/blender/src/editview.c
    branches/particles/source/blender/src/header_oops.c
    branches/particles/source/blender/src/header_view3d.c
    branches/particles/source/blender/src/outliner.c
    branches/particles/source/blender/src/space.c
    branches/particles/source/blender/src/toets.c
    branches/particles/source/blender/src/transform.c
    branches/particles/source/blender/src/transform_conversions.c
    branches/particles/source/blender/src/transform_generics.c
    branches/particles/source/blender/src/transform_manipulator.c

Added Paths:
-----------
    branches/particles/source/blender/include/BIF_editparticle.h
    branches/particles/source/blender/src/editparticle.c

Removed Paths:
-------------
    branches/particles/source/blender/blenkernel/BKE_dynamics_bake.h
    branches/particles/source/blender/blenkernel/intern/dynamics_bake.c
    branches/particles/source/blender/include/BIF_editbake.h
    branches/particles/source/blender/src/editbake.c

Modified: branches/particles/projectfiles_vc7/blender/blenkernel/BKE_blenkernel.vcproj
===================================================================
--- branches/particles/projectfiles_vc7/blender/blenkernel/BKE_blenkernel.vcproj	2007-10-26 09:22:07 UTC (rev 12400)
+++ branches/particles/projectfiles_vc7/blender/blenkernel/BKE_blenkernel.vcproj	2007-10-26 10:19:01 UTC (rev 12401)
@@ -378,9 +378,6 @@
 				RelativePath="..\..\..\source\blender\blenkernel\intern\displist.c">
 			</File>
 			<File
-				RelativePath="..\..\..\source\blender\blenkernel\intern\dynamics_bake.c">
-			</File>
-			<File
 				RelativePath="..\..\..\source\blender\blenkernel\intern\effect.c">
 			</File>
 			<File
@@ -444,6 +441,9 @@
 				RelativePath="..\..\..\source\blender\blenkernel\intern\particle_system.c">
 			</File>
 			<File
+				RelativePath="..\..\..\source\blender\blenkernel\intern\pointcache.c">
+			</File>
+			<File
 				RelativePath="..\..\..\source\blender\blenkernel\intern\property.c">
 			</File>
 			<File
@@ -565,9 +565,6 @@
 				RelativePath="..\..\..\source\blender\blenkernel\BKE_displist.h">
 			</File>
 			<File
-				RelativePath="..\..\..\source\blender\blenkernel\BKE_dynamics_bake.h">
-			</File>
-			<File
 				RelativePath="..\..\..\source\blender\blenkernel\BKE_effect.h">
 			</File>
 			<File
@@ -640,6 +637,9 @@
 				RelativePath="..\..\..\source\blender\blenkernel\BKE_plugin_types.h">
 			</File>
 			<File
+				RelativePath="..\..\..\source\blender\blenkernel\BKE_pointcache.h">
+			</File>
+			<File
 				RelativePath="..\..\..\source\blender\blenkernel\BKE_property.h">
 			</File>
 			<File

Modified: branches/particles/projectfiles_vc7/blender/src/BL_src.vcproj
===================================================================
--- branches/particles/projectfiles_vc7/blender/src/BL_src.vcproj	2007-10-26 09:22:07 UTC (rev 12400)
+++ branches/particles/projectfiles_vc7/blender/src/BL_src.vcproj	2007-10-26 10:19:01 UTC (rev 12401)
@@ -236,9 +236,6 @@
 				RelativePath="..\..\..\source\blender\src\editarmature.c">
 			</File>
 			<File
-				RelativePath="..\..\..\source\blender\src\editbake.c">
-			</File>
-			<File
 				RelativePath="..\..\..\source\blender\src\editconstraint.c">
 			</File>
 			<File
@@ -311,6 +308,9 @@
 				RelativePath="..\..\..\source\blender\src\editoops.c">
 			</File>
 			<File
+				RelativePath="..\..\..\source\blender\src\editparticle.c">
+			</File>
+			<File
 				RelativePath="..\..\..\source\blender\src\editscreen.c">
 			</File>
 			<File
@@ -648,9 +648,6 @@
 				RelativePath="..\..\..\source\blender\include\BIF_editarmature.h">
 			</File>
 			<File
-				RelativePath="..\..\..\source\blender\include\BIF_editbake.h">
-			</File>
-			<File
 				RelativePath="..\..\..\source\blender\include\BIF_editconstraint.h">
 			</File>
 			<File
@@ -681,6 +678,9 @@
 				RelativePath="..\..\..\source\blender\include\BIF_editoops.h">
 			</File>
 			<File
+				RelativePath="..\..\..\source\blender\include\BIF_editparticle.h">
+			</File>
+			<File
 				RelativePath="..\..\..\source\blender\include\BIF_editsca.h">
 			</File>
 			<File

Modified: branches/particles/source/blender/blenkernel/BKE_bad_level_calls.h
===================================================================
--- branches/particles/source/blender/blenkernel/BKE_bad_level_calls.h	2007-10-26 09:22:07 UTC (rev 12400)
+++ branches/particles/source/blender/blenkernel/BKE_bad_level_calls.h	2007-10-26 10:19:01 UTC (rev 12401)
@@ -224,19 +224,23 @@
 /* imagetexture.c */
 void ibuf_sample(struct ImBuf *ibuf, float fx, float fy, float dx, float dy, float *result);
 
-/* editbake.c */
-struct BakeableSystem;
-struct BakeKey;
-void EB_free_BakeEdit(struct BakeableSystem *bsys);
-struct BakeableSystem *EB_get_current(struct Object *ob, short cur_type);
+/* editparticle.c */
+struct ParticleEdit;
+struct ParticleEditKey;
+void PE_free_ParticleEdit(struct ParticleSystem *psys);
+struct ParticleSystem *PE_get_current(struct Object *ob);
 void EB_get_colors(char sel[4], char nosel[4]);
-struct BakeKey *EB_nearest_key(struct BakeableSystem *bsys, int a);
-void EB_create_BakeEdit(struct BakeableSystem *bsys);
-void EB_iterate_lengths(struct BakeableSystem *bsys);
-void EB_deflect_emitter(struct BakeableSystem *bsys);
-void EB_apply_lengths(struct BakeableSystem *bsys);
-void EB_recalc_wcos(struct BakeableSystem *bsys);
-void EB_hide_beks(struct BakeableSystem *bsys, float cfra);
+struct ParticleEditKey *PE_nearest_key(struct ParticleSystem *psys, int element);
+void PE_create_ParticleEdit(struct Object *ob, struct ParticleSystem *psys);
 
+void PE_deflect_emitter(struct Object *ob, struct ParticleSystem *psys);
+void PE_apply_lengths(struct ParticleSystem *psys);
+void PE_iterate_lengths(struct ParticleSystem *psys);
+void PE_recalc_wcos(struct Object *ob, struct ParticleSystem *psys);
+
+void PE_hide_beks(struct ParticleSystem *psys, float cfra);
+
+void PE_get_colors(char sel[4], char nosel[4]);
+
 #endif
 

Deleted: branches/particles/source/blender/blenkernel/BKE_dynamics_bake.h
===================================================================
--- branches/particles/source/blender/blenkernel/BKE_dynamics_bake.h	2007-10-26 09:22:07 UTC (rev 12400)
+++ branches/particles/source/blender/blenkernel/BKE_dynamics_bake.h	2007-10-26 10:19:01 UTC (rev 12401)
@@ -1,209 +0,0 @@
-/* BKE_dynamics_bake.h
- *
- *
- * $Id: BKE_dynamics_bake.h $
- *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- * The Original Code is Copyright (C) 2007 by Janne Karhu.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
- */
-
-#ifndef BKE_DYNAMICS_BAKE_H
-#define BKE_DYNAMICS_BAKE_H
-
-struct BakeableSystem;
-struct BakeKey;
-struct BakeBase;
-struct ListBase;
-struct ModifierData;
-struct ParticleKey;
-
-/* number of floats in the struct*/
-#define PARTICLE_CUSTOM_SIZE	8
-
-typedef struct BakeKeyParticle{
-	float ave[3];
-	float rot[4];
-	float weight;
-} BakeKeyParticle;
-
-typedef struct BakeCacheKey{
-	float co[3];
-	float vel[3];
-	float rot[4];
-	float col[4];
-} BakeCacheKey;
-
-typedef struct BakeableTypeInfo{
-	short custom_size, recalc_flag;
-
-	/* starting frame of baking */
-	float (*start_frame)(struct BakeableSystem *bsys);
-	
-	/* end frame of baking */
-	float (*end_frame)(struct BakeableSystem *bsys);
-	
-	/* timestep needed for next step */
-	float (*get_timestep)(struct BakeableSystem *bsys);
-	
-	int (*needs_autobake)(struct BakeableSystem *bsys);
-
-	void (*set_baking)(struct BakeableSystem *bsys, int *avg_keys);
-	void (*end_baking)(struct BakeableSystem *bsys);
-	int (*can_be_baked)(struct BakeableSystem *bsys);
-	
-	/* prepare system to continue baking from cfra */
-	void (*set_rebaking)(struct BakeableSystem *bsys, float cfra);
-	
-	/* info on the bake, like size in memory, amount of baked keys etc. */
-	char *(*bake_info)(struct BakeableSystem *bsys);
-	/* name for identifying system in menus etc. */
-	char *(*name)(struct BakeableSystem *bsys);
-	
-	/* initializes and sets an editing mode for the baked data */
-	void (*set_bake_edit)(struct BakeableSystem *bsys);
-	/* clear out temporary stuff left by the edit mode etc. */
-	void (*end_bake_edit)(struct BakeableSystem *bsys);
-
-	int (*key_needs_saving)(struct BakeableSystem *bsys, int index, float cfra);
-
-	void (*initialize_save_keys)(struct BakeableSystem *bsys);
-
-	void (*save_key_from_dynamics)(struct BakeableSystem *bsys, int index, float cfra, struct BakeKey *key, float *ckey);
-	void (*convert_dynamic_key)(struct BakeableSystem *bsys, void *dynkey, struct BakeKey *key, float *ckey);
-	void (*convert_bake_key)(struct BakeableSystem *bsys, struct BakeKey *key, float *ckey, void *dynkey);
-	void (*interpolate_customkey)(struct BakeableSystem *bsys, float *ckey1, float *ckey2, float keytime, float *ckey);
-
-	void (*remove_set_elements)(struct BakeableSystem *bsys, int new_totbel);
-} BakeableTypeInfo;
-
-#define EB_TOT_BRUSH		7
-
-typedef struct BakeEditKey{
-	float world_co[3];
-	float length;
-	short flag;
-} BakeEditKey;
-
-typedef struct BakeEdit{
-	struct ListBase undo;
-	struct BakeUndo *curundo;
-	struct KDTreeNode *emitter_field;
-	BakeEditKey **keys;
-	float *emitter_cosnos;
-
-	float keytime, o_keytime;
-	float emitter_dist;
-	
-	int totkeys;
-	
-	short flag, brush, totrekey, totaddkey, draw_timed;
-	short brushsize[EB_TOT_BRUSH];
-	short brushpow[EB_TOT_BRUSH];
-	short average, brushstep;
-} BakeEdit;
-
-int modifier_effects_baked(struct Object *ob, struct ModifierData *mod);
-int dynamicsbake_test();
-struct BakeableSystem *DB_find_bsys(struct ListBase *bakeable, void *system);
-struct BakeBase *DB_find_bbase(struct ListBase *bakeable, void *system);
-int DB_has_hair(struct ListBase *bakeable);
-void DB_free_bake_cb(void *bsys_v, void *arg2);
-void DB_free_bsys(struct BakeableSystem *bsys);
-void DB_free_bbase(struct BakeBase *bbase);
-
-void DB_set_start_cb(void *bsys_v, void *arg2);
-void DB_free_start_cb(void *bsys_v, void *arg2);
-
-void DB_copy_key(struct BakeKey *to, struct BakeKey *from);
-int DB_count_keys(struct BakeableSystem *bsys);
-struct BakeBase *DB_new_BakeBase();
-void DB_copy_BakeableSystem(struct BakeableSystem *to, struct BakeableSystem *from);
-
-void key_from_geometry(struct BakeableSystem *bsys, int v1, int v2, int v3, struct BakeKey *key, float *ckey);
-void key_to_geometry(struct BakeableSystem *bsys, int v1, int v2, int v3, struct BakeKey *key, float *ckey);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list