From BlenderWiki
User:Broken/VolumeRenderingDev
User:Broken/ShadingSystemScratchpad
User:Broken/BreakingRenderCompatibility
User:Broken/SummerOfDocs2006Restructure
http://wiki.blender.org/index.php/BlenderDev/EventsToolApiNotes
[edit] Broken things I've found in 2.5
- file selector should warn on file ops (i.e. file name exists) before closing file manager. if cancelled, should give an opportunity to rectify within the file browser (i.e. choosing a new name). Popping up afterwards is easy to miss and gives a false impression that it succeeded.
- Tweaking hair virtual parents: crash in psys_face_mat() - dm = 0x000000000001
[edit] 2.5 Todo
- Investigate using horizontal motion for dolly zoom, rather than vertical, as a preference for maya/c4d users
- fix blender's camera model
[edit] comp stuff
- manipulators
- leading to roto shapes
- non-awful image sequence handling
- RGBA toggles, extra settings
- procedural, concatenated transformation matrix/deformation
[edit] Fluid Sim
Getting animated fluid settings working in 2.5:
(12:48:48 PM) Aligorith: in that case, you might want to call BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short recalc) for every frame that would be baked (12:49:14 PM) broken: for i=1 to 100, get the value of the curve at timerange/100 * i, or whtaever (12:49:21 PM) Aligorith: then save the value of every relevant property on every frame (12:49:23 PM) broken: ah, great (12:49:25 PM) broken: yep (12:49:37 PM) Aligorith: id should probably by the object (12:49:40 PM) broken: by saving it, it owuld be jsut putting it into an array (fluidsim channel whatever) (12:49:51 PM) Aligorith: adt you can get it by doing BKE_animdata_from_id(ob) (12:49:54 PM) broken: what's AnimData? (12:49:55 PM) broken: ah (12:50:08 PM) broken: so, how about getting a property's value? (12:50:11 PM) Aligorith: ctime is your loop counter (12:50:22 PM) broken: ctime is jsut time in blender frames, yeah? (12:50:32 PM) Aligorith: and recalc needs to be ADT_RECALC_ALL (12:51:06 PM) Aligorith: the problem is that this won't totally work for drivers if your drivers depend on anything that is not animated within the object :/ (12:52:31 PM) Aligorith: BKE_animsys_evaluate_all_animation (Main *main, float ctime) <--- that's the main call that should be used for all animation update things (12:53:55 PM) broken: so running evaluate sort of flushes everything (12:53:59 PM) Aligorith: it just does it once at the start I guess (12:54:01 PM) broken: then jsut take the value straight from DNA ? (12:54:05 PM) Aligorith: yep (12:54:08 PM) broken: ah, that's awesome
[edit] Notes
- Point cache - doing an entire scene update at render time?
render_initialize_from_scene - BKE_ptcache_make_cache -> scene_update
[edit] Compiling libs on Mac Os X
[edit] Intel
[edit] FFMPEG
Currently scons works well to compile FFMPEG as part of the build process - I did this to generate the .a libraries which we can then use as precompiled. When scons is going through the dependencies, it runs the configure scripts for the various parts of FFMPEG. Sometimes we need to modify these a bit
- matroska (libavformat) has a bzlib option for bzip2 compression. The configure script automatically enables this, regardless of whether you have the necessary bzlib libraries or headers installed. If you don't (as you wouldn't usually on Mac), configure ffmpeg manually before build by:
cd extern/ffmpeg ./configure --disable-bzlib
EDIT: Fixed this in the Sconscript
- xvidcore has trouble in the build system if you have assembler enabled (it is enabled by default). To disable it:
cd extern/xvidcore/build/generic ./configure --disable-assembly
EDIT: Fixed this in the darwin-config
- If you don't have yasm (an assembly compiler) you'll also need to disable assembly in other areas (I think x264 for one). This can probably be done a similar way. I opted to install yasm on my system - the most convenient way is to install from source, since the latest .dmg I tried on the yasm download page was made by macports, and installed to /opt/local/ which was not in any executable/include/library paths on my system. Installing from source works much better, though you have to uninstall it manually. To install yasm from source is simple, just:
cd yasm-source-dir ./configure && make && make install
By default, yasm installs to /usr/local/...
- Once this is configured:
python scons/scons.py
to install (with your relevant user-config.py)
[edit] fftw
- fftw in blender needs the single threaded option so:
cd fftw-source-dir ./configure --disable-threads make && make install
[edit] notes
Useful things:
deployment min 10.4 for intel, min 10.3 for ppc?
env var MACOSX_DEPLOYMENT_TARGET
env var? SDKROOT
gcc -mmacosx-version-min=10.4 gcc-4.0 -mmacosx-version-min=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk
-Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk
Comand line utils: otool lipo
http://lists.apple.com/archives/unix-porting/2003/Oct/msg00051.html http://lists.apple.com/archives/xcode-users/2005/Dec/msg00524.html
Building python 3.1:
export MACOSX_DEPLOYMENT_TARGET=10.4 export SDKROOT=/Developer/SDKs/MacOSX10.4u.sdk export C_INCLUDE_PATH=/Developer/SDKs/MacOSX10.4u.sdk/usr/include export CFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk" export LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" ./configure --prefix=/Users/matt/Desktop/py10.4_install/ --enable-universalsdk=/Developer/SDKs/MacOSX10.4u.sdk --with-pydebug make; make install







![[]](/skins/blender/open.png)
