1
1

Compare commits

...

565 Commits

Author SHA1 Message Date
bd2967f01a Fixing metaball boundbox creation on render. 2010-12-06 17:02:49 +00:00
e454acd6a1 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r32752:32753 2010-10-28 12:40:25 +00:00
8e1f643c68 change from r31533 (Ton hasn't got the render branch) 2010-08-24 06:43:47 +00:00
8e71132ff9 Missed file in last commit. 2010-08-05 17:19:57 +00:00
3057cea204 Render Branch: quick durian hack for final tweaks, hair particle system can now
copy coordinates from a mesh object (set Source object in Render panel).

The mesh object can be created by using Convert on the particle system modifier,
after which any mesh modifiers can be applied to it. Ensure that the render path
steps is the same as display path steps, otherwise this doesn't work.
2010-08-05 17:19:35 +00:00
64eb8fca45 Render Branch: code tweak, revert splitting up of ShadeInput, didn't work out
well and ended up mostly being confusing.
2010-07-30 17:18:16 +00:00
d32242d719 Render Branch: code tweak to Render struct. 2010-07-30 12:02:46 +00:00
f430f23a90 Fix for #23006: approximate AO/env/indirect used averaged subpixel location
which could give light leaks, this uses same trick as raytracing to fix it.
2010-07-30 11:26:38 +00:00
c4f6161925 Render Branch: remove centmask/centLut lookup optimization for finding
subpixel position from a mask. It's not working correct for OSA != 16,
and can result in light leaks with raytracing in that case.
2010-07-26 15:14:09 +00:00
71ec3e5a15 Render Branch: paths tweak, don't look in local directory for USER scripts. 2010-07-26 09:23:34 +00:00
ab22e9a9f9 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30470:30620 2010-07-22 09:33:49 +00:00
06857809d7 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30448:30470 2010-07-18 15:21:59 +00:00
7c7d4c972d Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30435:30448 2010-07-17 21:11:04 +00:00
54b4ccf0d1 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30429:30435 2010-07-17 13:45:25 +00:00
70379bde73 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30407:r30429 2010-07-17 12:04:51 +00:00
afdf0eaba9 Render Branch: quick fix for path problems, using local scripts as
system rather than user scripts, will discuss doing the same in trunk
later.
2010-07-16 15:46:37 +00:00
19bd44e8f1 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30308:30407 2010-07-16 12:15:28 +00:00
fdd0719da0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30292:30308 2010-07-14 10:02:43 +00:00
d8add082d3 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30286:30292 2010-07-14 07:04:56 +00:00
4f9a400d51 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30274:30286 2010-07-13 22:26:45 +00:00
71484596fa remove temp hack, recent merge fixed this. 2010-07-13 17:45:57 +00:00
76c7678037 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30259:30274 2010-07-13 16:11:16 +00:00
bcee576dff workaround for metaball eternal loop, looking into the bug now but this at least makes metaballs in set scenes usable. 2010-07-13 12:54:25 +00:00
ddef3fb142 Render Branch: restore behavior that when material ambient is zero, the
material is also skipped in the AO pass. Not really correct but avoids
performance bottleneck rendering AO for hair.
2010-07-13 12:27:44 +00:00
9a12369b00 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30257:30259 2010-07-13 10:04:30 +00:00
5d08ba9981 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30231:30257 2010-07-13 09:41:29 +00:00
26fa02ac60 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30229:30231 2010-07-12 16:21:48 +00:00
3077a5e5f4 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30216:30229 2010-07-12 15:18:09 +00:00
da42be6bb0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30116:30216 2010-07-12 10:43:54 +00:00
ea6600c35f Fix #22796: GLEW compile errors on FreeBSD. 2010-07-09 19:10:12 +00:00
5cd2ee1e71 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30108:30116 2010-07-08 15:14:32 +00:00
4835623158 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30081:30108 2010-07-08 10:08:02 +00:00
a2232a3a3c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30079:30081 2010-07-07 15:09:35 +00:00
0d0d957334 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30031:30079 2010-07-07 14:52:55 +00:00
67974d22f8 Render Branch: code to check if ao/env/indirect should be computed
was confusing and wrong in a few cases, with shadeless, ambient,
passes, etc, now added a single function for it.
2010-07-07 11:13:34 +00:00
3708652c95 Fix environment/indirect light not taking shader into account correctly
for approximate AO.
2010-07-06 14:41:21 +00:00
cd15aca0a4 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30025:30031 2010-07-06 11:51:12 +00:00
b2834b213d Render Branch: https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29994:HEAD 2010-07-06 10:33:42 +00:00
18672244b3 Render Branch: disable some lowres/highres raytracing code, isn't working
well and causing some problems.
2010-07-05 18:45:28 +00:00
25bd015086 Render Branch: fix ray shadow samples not being taken into account correctly. 2010-07-05 17:57:30 +00:00
eda9ea5aa1 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29923:29994 2010-07-05 17:35:38 +00:00
12acd69769 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29903:29923 2010-07-04 11:08:49 +00:00
435e26cdbf Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29850:29903 2010-07-03 17:23:47 +00:00
a108d1e751 Render Branch: world lighting method no shader / shader once / full shading
is now just a single "use shader" option. Full shading can't possibly work
well for irradiance caching, and when not doing irradiance caching we might
as well do full shading.
2010-07-02 13:47:23 +00:00
016954d020 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29826:29850 2010-07-01 16:17:57 +00:00
b6b5dd3719 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29819:29826 2010-06-30 15:25:41 +00:00
994f201ce6 Render Branch: render layer material overrides can now be restricted
to all objects that are not part of a specified group. Helpful for
creating masks.
2010-06-30 14:57:20 +00:00
bb8b17109f Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29790:29819 2010-06-30 10:22:37 +00:00
ead82f7b44 Render Branch: local lightgroup option was missing for volume
materials in the UI.
2010-06-29 13:23:07 +00:00
22b3297f2c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29775:29790 2010-06-29 13:22:28 +00:00
16bb9fa6bf Render Branch: fix texture nodes + halo rendering problem. 2010-06-29 12:14:03 +00:00
0c9f444ad5 Render Branch: fixes for shaded halo rendering. 2010-06-29 10:58:10 +00:00
b8c6b190aa Render Branch: quick durian hack, particle settings and material
animation are now evaluated according to particle lifetime. This
is how it worked before by default, but was disabled, maybe to be
replaced by a better system? Probably won't be merged to trunk.
2010-06-29 09:48:11 +00:00
c7dcae1592 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29760:29775 2010-06-28 17:21:42 +00:00
fd0cb17cb5 Render Branch: fix crash with node compositing groups and tile cache,
nodes in groups were not getting a thread id assigned.
2010-06-28 13:57:39 +00:00
7686dc2990 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29687:29760 2010-06-28 10:04:00 +00:00
b112e8f7cf Render Branch: volumes with the camera inside were rendering on all
render layers even if the object was on a different layer.
2010-06-25 13:44:47 +00:00
f5be8c6713 Render Branch: better error message when failing to read displacements. 2010-06-25 13:01:04 +00:00
6b982199b0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29653:29687 2010-06-25 12:35:23 +00:00
d8581c2f78 Render Branch: move tile cache init a bit earlier to fix baking crash. 2010-06-23 16:56:29 +00:00
b9edd036ac Render Branch: baking stability tweak, set G.rendering during bake to
disable drawing in 3d view, etc, same as for regular rendering.
2010-06-23 15:24:44 +00:00
7bea067a9a Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29651:29653 2010-06-23 15:09:37 +00:00
babad75b3a Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29614:29651 2010-06-23 14:39:03 +00:00
11f2aa6e1f Render Branch: attempt to fix crashes with tile cache + baking. 2010-06-23 14:24:58 +00:00
8c34c34654 Render baking bugfix (applies to renderbranch only)
lightgrouphash wasnt initialized
2010-06-23 12:53:27 +00:00
917a62517a Render Branch (only) workaround for
[#22662] Transforming handles in the graph editor is broken.
2010-06-23 10:48:09 +00:00
becb7e24dc svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29614:29626 2010-06-22 18:36:30 +00:00
4e6d1fcdb4 Render Branc: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29608:HEAD 2010-06-22 14:14:46 +00:00
b3058e0470 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29587:29608 2010-06-22 10:52:32 +00:00
9b548ab8ce Render Branch: simplify option for shadow buffer size. 2010-06-21 16:58:35 +00:00
1132052f79 Render Branch: fix bug raytracing instanced objects with use instancing
disabled for the raytracer.
2010-06-21 14:16:05 +00:00
5975ba7f21 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29546:29587 2010-06-21 09:02:56 +00:00
695d59731d Render Branch: trying to fix windows compile. 2010-06-20 15:38:49 +00:00
68b7a5c19e Render Branch: remove some unused code from irradiance cache. 2010-06-20 15:34:04 +00:00
464c58b04c Render Branch: remove "inline" accidentally left in for testing,
and also remove and outdated comment.
2010-06-20 15:24:37 +00:00
117c9a9d95 Render Branch: another 10% performance tweak, store child pointers and
child bb just as fixed arrays of size 4 in nodes, nearly all nodes have
this many children, so overall it actually reduces memory usage a bit
and avoids a pointer indirection.
2010-06-18 16:07:47 +00:00
623211ac1d Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29540:29545, skipped particle_system.c 2010-06-18 14:45:29 +00:00
a8736649aa Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29468:29540 2010-06-18 09:45:46 +00:00
e993ac302b Render Branch: fix crash with strands & override materials. 2010-06-18 09:44:02 +00:00
ca8f1b43dd Render Branch: some optimization tweaks that need more testing on more
scenes, but seems to give a 15% performance improvement in tests here.

* leave out logf() factor in SAH, makes tree build quicker with no
  noticeable influence on raytracing on performance?
* set max childs to 4, simplifies traversal code a bit, but also seems
  to help slightly in general.
2010-06-17 17:04:42 +00:00
3cd3b385c9 Render Branch: removed a bit too much code along with vertex normal flip,
should work correct again now.
2010-06-17 14:47:03 +00:00
e577910cae Render Branch: optimization in raytree building, was computing bounding
boxes more often than necessary.
2010-06-17 12:37:49 +00:00
4bcfa2adce Render Branch: save a few percentages on simple scenes, doesn't seem to help
on more complex ones, but makes things easier to analyze.

* reorganize svbvh code so all the traversal functions are in one file
* don't do test for root so that push_childs can be inlined
* make shadow a template parameter so it doesn't need to be runtime checked
2010-06-17 10:02:52 +00:00
8d7159a673 meant to remove this before last commit. 2010-06-17 01:13:56 +00:00
673e422f47 Warp Modifier (render branch only)
Use 2 objects to warp verts from one objects space into another, option for curve fallof, vgroup and textures.
Similar to hooks but the verts are not fixed.

made this modifier share code with displace.
2010-06-17 01:06:10 +00:00
784aadc3f2 Render Branch: force inlining of auxiliary functions for ray-triangle/quad
intersection, helps a few percentages.
2010-06-16 19:27:29 +00:00
9b53c0cbaa Render Branch: remove a few options
* Simplify Skip Quads to Triangles: now quads are never split, with the
  render branch changes non-planar quads should no longer cause problems.
* Vertex Normal Flip: this seems to be more harmful than helpful in many
  cases, and also makes little sense once you start raytracing.
* Doubled Sided Lighting: just always do this, not much use in being able
  to turn this off, and it works only in the viewport anyway.
2010-06-16 19:12:55 +00:00
477012bf0c Render Branch: add some defines for "always inline" in addition to "inline". 2010-06-16 19:07:00 +00:00
ba33a76d07 Render Branch: attempt to fix some crashes with image tile cache
when compositing and preview render run at the same time.
2010-06-16 19:05:47 +00:00
59ef683191 Render Branch: some reshuffling of the raytracing code, should have
no effect on results, but makes it easier to do some optimizations.
Seems to help a few percentages in performance, but nothing significant.

* remove RE_raytrace.h, raytracer is now only used by render engine again.
* split non-public parts rayobject.h into rayobject_internal.h, hopefully
  makes it clearer how the API is used.
* added rayintersection.h to contain some of the stuff from RE_raytrace.h

* change Isect.vec/labda to Isect.dir/dist, previously vec was sometimes
  normalized and sometimes not, confusing... now dir is always normalized
  and dist contains the distance.

* change VECCOPY and similar to BLI_math functions.
2010-06-16 18:57:23 +00:00
2b762b4db3 Render Branch: update build systems for automatic weighting changes. 2010-06-16 18:15:59 +00:00
fed02c2546 Render Branch: armature weighting / mesh deform no longer use render
raytracing acceleration structure but BVH instead.
2010-06-16 13:34:54 +00:00
c60bf84257 Render Branch: enabled openmp multithreading for multires/subsurf again,
but only if there are >= 1 million faces estimated in the resulting mesh.
2010-06-15 18:44:47 +00:00
451cf34694 Render Branch: don't evaluate displace modifier with strength 0,
avoids multires subdividing vertex group here in some cases.
2010-06-15 18:22:28 +00:00
4e948478a5 Render Branch: move irradiance cache computation of 4x4 matrix svd and
pseudoinverse into blenlib, slightly faster due to avoiding malloc/free
and some floating point divisions.
2010-06-15 18:19:35 +00:00
20985c3962 Render Branch: fix raycounter not working with new indirect light. 2010-06-15 18:14:04 +00:00
5059a10aa3 Render Branch: small optimization to avoid calling material_in_material
too much in sss preprocessing pass.
2010-06-15 18:12:36 +00:00
b361f0d284 Render Branch: remove unnecessary call to ambient_occlusion(). 2010-06-15 18:11:52 +00:00
d39863ef35 Render branch: tiny optimization in qmc sampler. 2010-06-15 18:11:03 +00:00
30403b83c5 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29449:29468 2010-06-15 17:45:03 +00:00
eaf7baec6e missed this from last merge 2010-06-14 17:31:11 +00:00
7876398475 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29432:29449 2010-06-14 15:12:16 +00:00
b7d2c344d2 Render Branch: sss optimization, to share irradiance cache between materials
in preprocessing pass. This required fairly major changes, so that each tile
renders all sss materials, instead of each material rendering all tiles.

I tried further to do a single rasterization for all materials, but it changed
the results too much, for example eyes would be missing shadow at the sides
because occluded faces were included in the sss pass then and not contributing
any shadow. Unfortunate because it helped performance quite a bit as exactly in
these cases the irradiance caching needs to take more samples.
2010-06-14 10:22:52 +00:00
50867ebaaa Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29404:29432 2010-06-13 17:09:16 +00:00
65b6cf1e79 Material IDs work with nodes now; the id defaults to the
containing material's id, but you can also specify an
id mask output node if you want.
2010-06-11 21:53:10 +00:00
6460458c9d Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29385:29404 2010-06-11 12:40:22 +00:00
c445d72719 change lamp wkey menu for render branch (dont merge this back on its own) 2010-06-10 16:06:54 +00:00
3ce583f5b9 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29381:29385 2010-06-10 16:00:24 +00:00
af00fa1b57 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29361:29381 2010-06-10 08:03:39 +00:00
4492d49312 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29331:29361 2010-06-09 09:08:34 +00:00
cc8aee0c9c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29309:29331 2010-06-08 07:47:03 +00:00
22be1e225c Render Branch: revert last optimization commit, gives problems with
some nested node materials, will fix this properly as part of my
next commit with some deeper changes.
2010-06-07 16:22:18 +00:00
fd56c4e2d6 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29245:29309 2010-06-07 15:44:01 +00:00
864258184a Render Branch: optimization to skip irradiance cache with node sss
materials in some cases, should save about 25% rendertime on the
baby dragon.
2010-06-07 12:11:57 +00:00
437366cab8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29216:29245 2010-06-05 16:09:35 +00:00
a2f9de98b4 Render Branch: temporarily revert commit 29079 from trunk with particle
path changes. This is causing two problems (reported in tracker):

* hair doesn't move when transforming e.g. an armature parent
  of the mesh emitting the hair.
* particle duplis on hair (for feathers) are not rendering.
2010-06-05 16:04:13 +00:00
7217ce7c17 Render Branch: improve least squares reconstruction for irradiance cache,
in cases where it is underdetermined (few samples points). Hopefully solves
flickering in some of the mountains that we have here.
2010-06-05 14:35:07 +00:00
d7e2aef3b5 Render Branch: post-sim correction for hair bendiness, doesn't work
very well in my tests, but perhaps better than nothing.
2010-06-04 15:41:53 +00:00
8fbf1f3459 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29214:29216 2010-06-04 12:25:41 +00:00
6977b4c4f8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29182:29214 2010-06-04 12:10:23 +00:00
b9490265d6 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29150:29182 2010-06-03 14:22:07 +00:00
995d227003 print's in pointcache were slowing down bake (renderbranch only) 2010-06-03 11:20:46 +00:00
91b9dcecd0 Render Branch: Fix #22412: crash rendering with octree for raytracing. 2010-06-02 18:37:16 +00:00
a3b3552803 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29132:29150 2010-06-02 07:41:55 +00:00
c29aca9a63 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/render -r29104:29132 2010-06-01 17:29:56 +00:00
35516d3411 Render Branch: multires external files can now be loaded, previously
it would only save to the new location when changing the path.
2010-06-01 15:09:29 +00:00
ed9c96a613 Render Branch: lamp halo's can now be textured. Had to reorganize the
code to separate cone intersection, integration between intersections,
and shadow/texture lookup.
2010-06-01 13:28:13 +00:00
6bfc653fb7 Render Branch: fix crash cancelling render while building object instance
in raytree, object could still be added after it was already freed.
2010-05-31 16:25:20 +00:00
ceab656ecf Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28984:29104 2010-05-31 12:45:45 +00:00
59460799a9 fixed crash in quadview 2010-05-30 20:21:50 +00:00
1e981721fb fixed object id bug 2010-05-28 14:45:16 +00:00
ba22b72426 Fix indexMat typo and linking problem on Linux with make. 2010-05-28 04:28:11 +00:00
df1dcf1e68 Render Branch: hair collision time stepping test. Not sure this is much
better than before but it helps in some cases. It seems to me that
without this it is taking 1.5 steps each time instead of 1.

The original paper defines vi+1/2 = (xi+1 - xi)/dt, but in our case we
already have vi+1 = (xi+1 - xi)/dt ... so there's a conflict here.
2010-05-26 16:16:45 +00:00
228521d6ae Render Branch: fix missing hardness property for Cook-Torrance in UI. 2010-05-26 16:06:35 +00:00
b49e061e56 Render Branch: make hair particles also support drawing their number next
to them, previously this only worked for regular particles.
2010-05-26 16:04:11 +00:00
e50f5a5f5e Render Branch: for hair collisions, always treat quads as split into
triangles for intersections, solves some issues.
2010-05-26 15:59:45 +00:00
cdb9dc8093 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28978:28984 2010-05-25 18:34:49 +00:00
d9042bdb8e Render Branch: bring cloth solver code a bit more in line with trunk again
* goal code using springs is now enabled again by default for cloth, with
  an option to use the different goal code available.
* hair collisions now update tv instead of tx, just like cloth does.
* extra collision solve step is only done if necessary again.
2010-05-25 14:14:31 +00:00
26c48de3d2 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28971:28978 2010-05-25 13:50:36 +00:00
8806001702 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28959:28971 2010-05-25 06:53:18 +00:00
da8993f355 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28957:28959 2010-05-24 14:42:58 +00:00
9ec099a11e Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28949:28957 2010-05-24 12:58:33 +00:00
7434aee374 own merg from trunk broke tiff loading r28950 2010-05-24 10:04:54 +00:00
5accb729a2 Render Branch: manual merge from commit 28949, merging -r28890:28948
Brecht: please check tiff.c, still has minor change compare to trunk, not sure this is intentional.

also copied netrender repath module.
2010-05-24 08:25:40 +00:00
4bfab50cca Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28890:28948 (missing release/scripts/modules/add_object_utils.py and changes from source/blender/render/intern/source/texture.c source/blender/render/intern/source/rendercore.c source/blender/makesrna/intern/rna_scene.c source/blender/imbuf/intern/tiff.c), will manually merge next. 2010-05-24 08:02:15 +00:00
7188740090 ffmpeg was computing the frame length of avis via doubles,
but was not properly ceiling them, sometimes resulting in truncation errors.
2010-05-21 08:55:56 +00:00
7c65b7f559 durian featurette: ^Cmekey in anim editors now respects scene/preview frame range. merge with trunk will happen if Aligorith approves this. implemented view-all in the NLA editor btw, and fixed a bug where shift-select didn't work 2010-05-20 20:34:20 +00:00
8df382dba2 =New feature: material id renderpass=
Works exactly like the object id pass; to use, 
assign a Pass Index in the material Options panel.
2010-05-20 17:41:34 +00:00
77d6845810 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28888:28890 (sorry about the merge-noise) 2010-05-20 16:12:22 +00:00
0c95c15f88 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28887:28888 2010-05-20 15:34:44 +00:00
9415d0ecb6 same as last commit, in renderbranch. render opengl previews had another case that wasn't checking the view3d local layers. 2010-05-20 15:20:16 +00:00
f1505cf854 fixed bug with layers being left out of frame recalc in ogl render 2010-05-20 15:15:48 +00:00
6a650bea1b Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28876:28883 2010-05-20 15:09:04 +00:00
1937f3047c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28865:28876 2010-05-20 09:38:15 +00:00
b52a6fca12 don't flip zoom direction if continnuous zoom is enabled, which goes opposite from dolly 2010-05-19 16:41:22 +00:00
de895fcb1f Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28850:28865 2010-05-19 16:35:29 +00:00
ca9c265b39 Structural stiffness was missing from the hair dynamics panel. 2010-05-19 16:29:23 +00:00
d7f6b146dd fixed node editor zooming the wrong direction 2010-05-19 16:19:17 +00:00
a86c5a0d7e fix particle trail rendering 2010-05-19 15:53:07 +00:00
d974016885 reversion of dupli commits 2010-05-19 13:26:21 +00:00
61cba1e54f fix for outliner drawing when it should not; code was missing a break 2010-05-19 12:23:29 +00:00
8855de055d yay better less hackish dupli fix 2010-05-19 12:06:48 +00:00
3bc4028150 duplis in groups were not working 2010-05-19 11:32:58 +00:00
7d547c0f07 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28801:28850 ...note: dont merge my previous commit 2010-05-19 08:38:07 +00:00
11b2550c2b Render Branch: implicit solver for hair now calculates forces and does
integration separate per hair. This increase the stability of the hair.

I found that usually the conjugate gradient takes about 4-8 steps, but
it sometimes takes 20 or even does not converge, and returns bogus
velocities. I'm not entirely sure why that is, but it seems logical
that a smaller system would be more numerically stable. What I suspect
is that since there are many hairs, and it tests for the average error
of those hairs, a few hairs may be able to hide their high error in this
average.

I've tried to not make the code too ugly but's there's a few stupid
hacks, maybe eventually it would be better to have a separate hair and
cloth function that calls common functions.

Also for threading, hairs can now be distributed over threads. There
still seems to be too much thread overhead though, should find a way
to keep all threads running for the entire timestep.
2010-05-18 16:40:05 +00:00
81f3fc3564 Render Branch: fix two point cache problems:
* cloth did not get reset correct in some situations, when startframe was
  different than 1
* point cache could sometimes mark the cached frames as inexact, when
  writing an info pointcache file, since that was indicated as cfra == 0.
2010-05-18 16:31:29 +00:00
6a6f3661da Render Branch: some more code shuffling in the implicit solver:
* move force calc + implicit solve into separate function
* do the same for new goal code
* only run the second filtering solve in case it is needed
* only run rigid body damping in case it is enabled
2010-05-18 15:24:04 +00:00
97607e0459 Render Branch: implicit solver now only uses openmp on matrix multiplication
and dot product if num vertices > 25. This may help for cases where there are
few vertices and thread overhead actually slows things down, but mostly it's
to avoid useless threads in threads once I commit the code to solve each hair
individually.
2010-05-18 15:03:45 +00:00
c37fcb42c4 Render Branch: minor code tweaks and warnings fixes in implicit solver, should
have no effect, committing these separately from the actual changes.
2010-05-18 14:57:56 +00:00
edf8a96cbe BLI_init_threads/BLI_end_threads with NULL listbase now raises thread level
and enables mutex protection on MEM_* functions, useful when you want to call
these functions from an OpenMP thread.
2010-05-18 14:38:36 +00:00
a8cede7905 Render Branch: two utility functions:
BLI_linklist_find: find link at an index
BLI_linklist_insert_after: insert link after another one
2010-05-18 14:35:53 +00:00
220bb230e7 particle system can start in negative frames now. also removed BIF_preview_changed, since it's not being used anymore. 2010-05-18 14:30:33 +00:00
f88f711a8d Fix for the eyelid rig type. Vector(#, #, #) to Vector((#, #, #)) 2010-05-18 13:46:56 +00:00
2c4bf966fc made trail settings a seperate panel. bug fixes will follow, after I work on some more urgent ones first. 2010-05-18 12:51:56 +00:00
bc76229439 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28759:28801 ...note: skipping changes from properties_particle.py, will need to be merged manually 2010-05-17 07:43:51 +00:00
974cc93f3d Render Branch: disable threading for vector dot product in implicit solver
for now, due to non-commutative nature of floating point ops the sim would
give different results each time! Sometimes subtle, but sometimes also very
different.
2010-05-14 14:48:57 +00:00
88dbbdd3b5 version patch for 2.49 boids; be warned: this is not really at all correct, but hey at least no more crashing :) 2010-05-14 11:09:35 +00:00
415d25afcf svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28726:28759 2010-05-14 09:44:32 +00:00
4a2c29321b workaound for smoke pointcache not being read, this may not be a correct fix so committing to render-branch for now. 2010-05-13 18:27:56 +00:00
5226fe6355 fix for mistake in commit 28570 2010-05-13 18:26:04 +00:00
c73e9d5645 Render Branch: Fix problem rendering lamp halo's with some materials
using lightgroups.
2010-05-13 16:19:34 +00:00
57e6a32e6e Render Branch: Fix wrong (non-normalized) orco coordinates for particle
system with subdivision surfaces disabled, resulted in strange dark spots
when test rendering sintel at subdiv level 0 due to different textures
coordinates.
2010-05-13 15:30:50 +00:00
948657e38f Render Branch: tweak malloc names to debug memory usage. 2010-05-13 15:28:30 +00:00
24e9008c76 Three optimizations for hair sim effectors:
* Multithread calculating effector forces on vertices.
* Avoid unnecessary where_is_object_time call.
* Avoid perlin noise macro that might expand into slow code.

If only we were actually using effectors more, then this might have
been a significant optimization :).
2010-05-12 19:31:06 +00:00
a88c56ab8f allow negative start frames for point caches 2010-05-11 20:05:21 +00:00
32f7edee88 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28713:28726 2010-05-11 19:57:20 +00:00
c840d24ec0 ui tweak 2010-05-10 17:49:07 +00:00
48f984dd8d improved cloth solver for hair situations. also, made flexibility dampening use a special mode for hair, that applies it to individual hair strands (you can use internal friction, e.g. the velocity smoothing, for global velocity dampening). 2010-05-10 17:16:32 +00:00
584d11030b Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28707:28713 2010-05-10 15:05:27 +00:00
d7545049d0 Fix for memory leak when failing to read displacements file. 2010-05-10 14:07:20 +00:00
7cb69daebe Fix for failures in read tile tiffs wasn't quite correct, this should work. 2010-05-10 14:05:27 +00:00
282f5be597 Fix for slow raytree build with zero bounding boxes, these would get
split into (0..1, 1..size) children which was very slow. Now it just
doesn't add primitives to the tree if they have a zero bounding box.
2010-05-10 14:00:08 +00:00
7d64081964 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28643:28707 2010-05-10 10:32:46 +00:00
e9d42140fb Deep shadow buffers are now created and stored tiled, this helps avoid a
memory peak when creating them, and also can save some memory afterwards
by not storing empty tiles. Threading code here was also changed so that
each tile can be rendered by it's own thread, and memarena is now used
to avoid slowness due to malloc mutex locks. There's no setting at the
moment to configure the tile size, fixed to 256x256 currently to avoid
performance problems.
2010-05-10 10:21:38 +00:00
d2180b16bc Small correction for loading tiled tiff images in case reading pixels fails. 2010-05-10 09:22:29 +00:00
8a6008c819 Fix: always compute dxco/dyco derivatives, previously with shadows disabled
these were not computed but still used in a few places.
2010-05-10 09:20:25 +00:00
1ae4d3d8db Field Buttons:
*Minor spacing problem.
2010-05-08 08:45:16 +00:00
f723b4f986 Field Buttons:
* Own row for "use_all_layers", to prevent jumping around of the button in different situations. Also makes single column layout readable again.
2010-05-08 08:38:04 +00:00
856ef1b9aa Render Branch: small fixes and tweaks:
* better multires error message
* sync blenpluginapi/iff.h with imbuf changes
* remove some unused includes
2010-05-07 15:08:45 +00:00
eed57b40f2 More exception handling for OpenEXR, to fix a crash when reading
back tiles from a cancelled render.
2010-05-07 12:01:32 +00:00
b31051fe0d Render Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender   -r28638:28639
(skipping ghash merge)
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender   -r28640:28643
2010-05-07 09:44:55 +00:00
fa58a65259 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28622:28637 2010-05-07 06:54:07 +00:00
6c2eed3d77 merged over last commit, 28428 2010-05-06 20:10:37 +00:00
1c643060e8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28613:28622 2010-05-06 17:58:13 +00:00
d895b5b382 Fix tile cache crash, IMB_addrectImbuf could free mipmap levels on
convert tiles to rect, but we want to keep them.
2010-05-06 14:43:56 +00:00
6b10225917 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28593:28613 2010-05-06 11:49:26 +00:00
45d046a0b3 Render Branch: https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28593:28610 2010-05-06 08:34:05 +00:00
587e3e6378 write metadata info into OpenEXR images.
can be viewed with the command line utility 'exrheader'
2010-05-06 07:10:56 +00:00
6c4d7f41b3 debug print, left in by accident 2010-05-05 17:52:55 +00:00
939c56365e Fix image tile cache crash when rendering with the max number of
threads (64), it needs max threads + 1 local caches.
2010-05-05 17:07:55 +00:00
41ca7d4dbf Fix memory free errors for CollisionModifierData.xold. 2010-05-05 16:21:38 +00:00
b0ceb8cc2d Fix/workaround for wrong speedvectors in some shots, added an extra
scene_update_for_newframe call to ensure everything is updated to the
correct state before rendering.
2010-05-05 16:14:37 +00:00
55ee2057b2 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28583:28593 2010-05-05 15:49:37 +00:00
8d986c58b8 division by zero fix 2010-05-05 10:20:59 +00:00
ee5dfb889f Fix crash rendering sss + irr cache, mask value could get a too
high value causing centmask lookup to go out of bounds.
2010-05-05 00:28:16 +00:00
80b9777bf3 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28574:28583 2010-05-04 22:02:26 +00:00
60b45c46a8 Fix light group rendering for case with twice-linked sintel groups. 2010-05-04 21:19:32 +00:00
6b415e46cb Fix wrong pixels when reading small mipmap levels from .tx files. 2010-05-04 16:54:00 +00:00
90fb5143ad pass string to new hashes as with guarded alloc and memarena, this way theres no need to use a compile time option 2010-05-04 15:36:11 +00:00
c88d353e10 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28522:28574
note: rna_lamp.c changes didnt make it in.
2010-05-04 15:14:17 +00:00
6aea33dded add cmake option for previous ghash debug commit 2010-05-04 13:42:28 +00:00
639b3552c3 ghash debug mode, compile with GHASH_DEBUG_LEAKS defined and ghash will append the file/line BLI_ghash_new was called from to the tag str it passed to MEM_mallocN 2010-05-04 13:36:32 +00:00
0707619ab7 particle and pointcaches now check if they are recursing; e.g. a particle system instancing itself. 2010-05-04 12:26:00 +00:00
6b0a8c1f6f proxy rigs now properly recall the active bone correctly on file load 2010-05-04 11:54:44 +00:00
a251f83828 vgroup copy (and a few other ops) now works in editmode. 2010-05-04 11:30:21 +00:00
2d29e4d97c added a peak memory statistic 2010-05-04 10:35:36 +00:00
06e7dfb62c fixed drawing of weights in strand particle edit mode, yay 2010-05-04 10:16:32 +00:00
3d03ac9cde adding up/down buttons for moving vgroups in the stack 2010-05-04 08:59:32 +00:00
e1d1fa5fe5 NULL a collision modifier field on load 2010-05-03 16:35:37 +00:00
67b3a47ffa {forgot this file, added a sanity check.} don't allow modifiers (e.g. cloth) after multires if in sculpt mode; should fix 22021. more work is needed, since while it doesn't crash anymore, you also can't sculpt without manually disabling the modifiers. 2010-05-03 15:36:47 +00:00
150e845ba5 don't allow modifiers (e.g. cloth) after multires if in sculpt mode; should fix 22021. more work is needed, since while it doesn't crash anymore, you also can't sculpt without manually disabling the modifiers. 2010-05-03 15:36:17 +00:00
9c61e95c1c quad view modifies global view3d data appropriately, fixes 22111. 2010-05-03 11:27:31 +00:00
9630be706f mask modifier properly works in weightpaint and edit modes now. note that modifiers should not have to provide a applyModifierEM function, there's really no reason to not pull the result from applyModifier if applyModifierEM doesn't exist, it's not like we don't have a dozen *EM functions that do just that, anyway. fixes 22192 2010-05-03 10:04:25 +00:00
47252b3781 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28505:28522 2010-04-30 13:00:03 +00:00
66bf58c394 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28496:28505 2010-04-29 15:38:43 +00:00
1315d82a45 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28488:28496 2010-04-28 18:15:43 +00:00
c3b1ebf607 enforce modifier name uniqueness on file load 2010-04-28 17:41:01 +00:00
6ac9845a4d hair tweak 2010-04-28 16:11:18 +00:00
74b06f0785 Render Branch: Fix crash opening certain files with texture nodes
and displacement modifiers.
2010-04-28 15:50:09 +00:00
a2c5fa7916 Render Branch: Fix image tile cache crash with displacement modifier
and preview render running at the same time, now the main thread and
thread 0 for rendering have a separate cache.
2010-04-28 14:36:36 +00:00
76e7b950b1 hair update 2010-04-28 13:43:49 +00:00
ce4d3e7e59 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28485:28488 2010-04-28 11:06:37 +00:00
846aacd7f8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28473:28485 2010-04-28 08:50:49 +00:00
953bbd33b9 hair collision test is a little better. also fixed a mem leak and hopefully fixed a hang that can happen sometimes. 2010-04-27 22:46:04 +00:00
818807b3f0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28464:28473 2010-04-27 21:04:05 +00:00
2bc0d59a69 hair collisions are much improved. and rewrote goal code to not suck. 2010-04-27 18:21:38 +00:00
4a4ec8eb09 last merge broke 2010-04-27 17:19:09 +00:00
51370216f8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28457:28464 2010-04-27 15:56:06 +00:00
14c494070e moved goal code to be an external force processed by the implicit system, not part of the internal solver itself (the code there doesn't work, is hacked, explodes, etc) 2010-04-27 15:55:35 +00:00
3b4a088b92 Render Branch: Fix for last fix... 2010-04-27 12:24:08 +00:00
d692f1c6bf Render Branch: Fix local light groups not working in some cases. 2010-04-27 12:23:01 +00:00
66b6dcea45 Render Branch: Image tile cache was not thread safe combined with threaded
compositing nodes causing crashes.
2010-04-27 12:07:33 +00:00
fd166e53f0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28425:28457, note: missing changes from properties_particle.py 2010-04-27 10:00:44 +00:00
b9fd67b7f6 =Hair Dampening and Collision=
Some durian features; added a new dampening mode to hair (and cloth, since
they shared the same dynamics code), that blends velocities with what the velocity
would be if the hair or cloth was a stiff rigid body.  It's called "flexibility dampening"
for now.  Note that the code doesn't go through the solver directly, but this *is* an implicit
solver, and integrating this sort of outside stuff is the whole point of implicit systems.

Plus it works better for solving durian issues as quickly as possible (jahka: pin stiffness for hair is totally unusable btw).

Also added collision for hair, extending the existing collision code.  I have more reliable
code then this, but it'd b a bit of work to have it co-exist with the existing collision 
code (the other code replaces all of the collision code, so I'd have to rework it to coexist instead).
2010-04-27 02:30:41 +00:00
Nathan Letwory
f9b9866b7f Sprinkling some winstuff magic dust to make sure blender also links on Windows platforms.
Please remember to put in the BLI_winstuff.h in proper ifdef block whenever using something like snprintf() or seek(). Also good for places where maths defines are used. (the header defines the much-needed _USE_MATH_DEFINES on Windows , gives you nice M_PI and such.).
2010-04-26 20:44:30 +00:00
Nathan Letwory
8dcd8f0645 Fix for compile error where declarations happen *after* statements in a block. (joeedh, next time put those new statements after decs in a block ;) ) 2010-04-26 20:24:51 +00:00
b5f262ca66 fixd hair smoothing crash 2010-04-26 16:53:47 +00:00
2f497caee3 Render Branch: fix for crash with material light groups local option. 2010-04-26 15:55:18 +00:00
2780809160 Render Branch: Fix for FSA update while rendering fix, should set
float rect to NULL.
2010-04-26 11:56:52 +00:00
26325875fd Render Branch: fix for irradiance cache mutex unlock that got lost
in code changes.
2010-04-26 11:28:20 +00:00
c9e25acabd rigify update for modified api 2010-04-26 07:53:44 +00:00
ec19b94634 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28388:28425 2010-04-26 07:26:21 +00:00
eb8044d51d finally! found the evil undo bug(s). hopefully I got 'em all. 2010-04-24 19:36:29 +00:00
12f21a9671 Render Branch: Image Tile Cache
* Loading of tiles from .tx files, so that large images which
  are only partially in view consume less memory.
* Caching of tiles with a memory limit. This is currently disabled
  by default, the memory limit can be set in the user preferences.

More detailed notes here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache

This should basically be functional now for rendering durian, though
some things should be added still for ease of use:

* Auto-generating .tx files.
* Automatic memory limit, how can you find a reasonable value?
* Included non-tiled images in cache (or perhaps just autogen)?
* Image thumbnails don't use this system yet.
2010-04-23 18:04:16 +00:00
a260e48fc0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28381:28388 2010-04-23 18:03:06 +00:00
33a7f6de51 Mesh Deform Modifier: also forgot to commit this file.. 2010-04-23 17:42:33 +00:00
c7b7a407ba Render Branch: Fix Full Sample not drawing render result while rendering. 2010-04-23 15:58:39 +00:00
314f0940d0 Render Branch: Use antialiasing for rendering icon previews, also
avoids loading the full image when using tiled .tx files.
2010-04-23 15:54:55 +00:00
736827d3d9 Render Branch: Take border render into account when drawing grid
before for render result becomes visible.
2010-04-23 15:53:29 +00:00
b42336b6d8 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28377:28381 2010-04-23 12:13:58 +00:00
c155cb7831 more detailed render error messages 2010-04-23 11:57:45 +00:00
297c9776dd Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28373:28377 2010-04-23 11:29:46 +00:00
a4a8455bb5 Render Branch: bring properties_texture.py in sync with trunk. 2010-04-23 10:47:57 +00:00
1586cbdf84 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28368:28373 2010-04-23 10:15:01 +00:00
063d7ab7dd console history is now saved in .blends 2010-04-23 09:13:52 +00:00
20cbb966f0 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28357:28368 2010-04-23 06:36:44 +00:00
83a7ba4ffc RenderBranch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28349:28357 2010-04-22 18:22:04 +00:00
4983c00359 Render Branch: merge over revision 27931 from trunk, missed this somehow. 2010-04-22 17:18:03 +00:00
198d2899e0 Render Branch: tweak to SSS code to avoid division by zero, and remove
some comments.
2010-04-22 16:47:25 +00:00
0794c11ac2 fix all layers effector option, it should work on effectors themselves, not simulator objects 2010-04-22 16:37:13 +00:00
46b2417adc RenderBranch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28328:28349 (Note, skipping changes from properties_texture.py) 2010-04-22 16:33:16 +00:00
758f63f500 added option to not restrict effectors based on layer; note it must be enabld on the simulated *object*, *not* the effector 2010-04-22 15:59:27 +00:00
c3bf2391e4 Render Branch:
* Scons compile fix for windows, missing pthread declaration (imbuf refactor commit)
2010-04-21 18:11:34 +00:00
fb98ce62e1 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28321:28328 2010-04-21 16:35:10 +00:00
8a963b1221 Fix crash with speed vectors / raytraced GI / strands combination. 2010-04-21 14:53:01 +00:00
7141e212f6 partial redraw clipping planes do not work; I disabled until there's time to debug them (note partial redraw still exists, it's just theoretically not quite as fast) 2010-04-21 13:13:52 +00:00
705305d6ee Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28313:28321 2010-04-21 09:45:11 +00:00
b02e6fe918 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28301:28313 2010-04-20 21:58:09 +00:00
6a70d75393 excude the over cautiousness, removing changes unintentionally made -r28309, probably harmless but rather match trunk. 2010-04-20 21:57:32 +00:00
49d1960c17 reverted link fix yet again til tomorrow, need to find a good way to propegate a pointer to the host main through lib filedata's 2010-04-20 21:09:57 +00:00
c7f91cd854 missing null check for lamp groups 2010-04-20 20:52:16 +00:00
4978d5a07a pointdensity->point_data must be NULL'd on file read 2010-04-20 16:30:08 +00:00
c15fc55f50 revert 28299 temporarily while I fix it 2010-04-20 11:24:49 +00:00
139b831a5a own stupid mistake in prev commit 2010-04-20 11:18:03 +00:00
62b8685949 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28283:28301 2010-04-20 10:38:15 +00:00
7d5b147664 Render Branch: Fix particle objects instanced from hair having wrong
transform when rendering.
2010-04-20 10:28:54 +00:00
92d5ecd6a3 allow linked or appended files to themselves link data from the host .blend 2010-04-20 09:49:00 +00:00
bdef6b0905 Render Branch: Fix SSS scale + node material problem. 2010-04-19 19:25:40 +00:00
526f5b80c3 Render Branch: SSS scale can now be textured. 2010-04-19 17:53:01 +00:00
dbcd83bab1 Updated rigify scripts for minor driver api change. 2010-04-19 15:20:33 +00:00
ccee38af38 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28280:28283 2010-04-19 13:30:13 +00:00
44a2a7f78b Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28254:28280 2010-04-19 10:01:17 +00:00
c8d3bac3ed Render Branch: Fix missing AO pass with SSS materials, forgot to check for
this case in optimizations.
2010-04-19 09:50:02 +00:00
15598d2de3 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28211:28254 2010-04-18 10:49:45 +00:00
d9510d3ddd Render Branch: Fix some alpha premul problems with mipmap files by moving
the premul code to imbuf, still a small difference that needs to be fixed,
but no very bright pixels anymore hopefully.
2010-04-16 15:25:43 +00:00
046b3a5692 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28211:28234 2010-04-16 15:24:01 +00:00
8597ca0063 Render Branch: Attemp to fix sss + irr cache render crash with displaying
cache samples.
2010-04-16 15:03:11 +00:00
451e169915 Render Branch:
* Fix crash with NULL image texture.
* Add test for render cancel in deep shadow buffer compression.
2010-04-16 14:27:41 +00:00
717f487ee4 Render Branch: SSS now works together with irradiance caching. 2010-04-16 14:09:25 +00:00
dcabcedb88 Render Branch: Fix mistake in imbuf changes, forgot to replace one free()
by MEM_freeN().
2010-04-16 12:00:56 +00:00
78dc0063b9 Render Branch: Fix merge full sample not working after cancelling render,
proper fix would be to get rid of G.afbreek entirely..
2010-04-16 11:19:17 +00:00
ce32a7eb38 Render Branch: Fix for broken raytracing neighbour intersection test. 2010-04-16 10:47:49 +00:00
71b6055bc4 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blend -r28211:28225 2010-04-16 08:35:50 +00:00
bbd70fc38a fix for missing null pointer check. 2010-04-15 21:33:47 +00:00
7037441e9e Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28202:28211 2010-04-15 17:10:46 +00:00
1f0812fe75 Render Branch:
* Forgot to mention this in last commit. Currently image loading will look
  for an .tx file next to the specified image file, and if it exists, use
  that instead automatically. It compares the dates and always used the newest
  of the two.
* Fix uv y derivative being scaled wrong.
* Fix for possible use of invalid mipmap level -1.
2010-04-15 16:59:23 +00:00
44906cd715 Render Branch:
Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines), it's a bit drastic but can add back if it's still useful. 

* Added a ImFileType struct with callbacks to make adding an file format type,
  or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
  a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
  editing the code directly.
* Functions removed that were only used for sequencer plugin API:
  IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
  IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
  IMB_dit0, IMB_dit2, IMB_cspace

Image textures can now lazely load mipmap levels from files, so if an object
is far away only a lower level is loaded. This is supported for the .tx file
format as used by prman, which is basically a tiff image with all the mipmap
levels saved in it. I tested generating them using OpenImageIO maketx utility,
(there is no way to save these from Blender currently).

Added mipmap levels simplify option (couldn't think of a better name). This
makes it possible to force using lower resolution mipmap levels, which helps
reducing memory usage a lot when using .tx files.

Next: tile loading support, then swapping them in and out with a cache.
2010-04-15 15:49:48 +00:00
64a0da7367 Render Branch: three utility functions:
* mul_v4_fl
* BLI_replace_extension: replace extension in a filename
* BLI_file_newer: test if one file is newer than the other
2010-04-15 15:36:51 +00:00
470b86ecdb disable an assert, use a guess assignment instead. 2010-04-15 13:51:02 +00:00
d1b6a820b1 Render Branch: fix for particle duplis not rendering from inside a dupligroup,
not sure why this check was here, will need to find out if something goes wrong.
2010-04-15 11:04:41 +00:00
8824dd6d18 Render Branch: allocate pixel row as part of RenderPart instead of
on the stack, may solve some problems on mac/win.
2010-04-15 10:44:55 +00:00
6092b20cd8 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28181:28201 2010-04-15 10:30:02 +00:00
f3fbcf99d3 Render Branch: Fix irregular shadow buffer + displacement crash. 2010-04-14 16:07:54 +00:00
59c99171a0 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28180:28181 2010-04-13 22:50:09 +00:00
86f41b42e8 cloth init function not being called 2010-04-13 22:20:02 +00:00
e0bb23506c merge from trunk 2010-04-13 20:52:37 +00:00
f7b6f52f7c Render Branch: Fix for incorrect bounds of transformed objects in new
raytracing code.
2010-04-13 17:42:35 +00:00
a19a3bb2ad Render Branch: don't block popup drawing while rendering. 2010-04-13 17:24:29 +00:00
ba2235c5f2 moved over make local fix to render branch 2010-04-13 17:15:33 +00:00
f6e70b94ab dupligroup no_draw option was using layers but not restrict view/render setting.
(not a bugfix exactly but would do display list context switching while drawing for no reason).
2010-04-13 16:24:22 +00:00
04016efc98 Render Branch: https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28156:28164 2010-04-13 16:19:04 +00:00
16d98223ec fix for rare case when icon textures wont load. 2010-04-13 14:46:19 +00:00
c2bfbaa603 Render Branch: forgot to check for NULL here in disabling area drawing
during render.
2010-04-13 14:02:58 +00:00
c18a1a0388 Render Branch: Fix missing type button in texture properties with nodes. 2010-04-13 13:53:24 +00:00
be89f0892b Render Branch: disable drawing of spaces other than the image editor
and info header while rendering. This should be fixed properly, but
for Durian stability is more important now. Also disabled updating
statistic while rendering, the render info also shows it's own stats
anyway.

Added an endjob callback for jobs, which accounts for most of the files
changed.
2010-04-13 11:36:25 +00:00
5ebf98c74e Geometry node uv/color layer now has search list/autocomplete. 2010-04-13 09:23:19 +00:00
2f0ca673d5 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28068:28156 2010-04-13 08:10:23 +00:00
848ec6479a Render Branch: Fix crash drawing dupli lamps with cone visualization. 2010-04-09 15:47:12 +00:00
2f32696b60 Render Branch: Fix stencil + displacement not working; 2010-04-09 15:22:29 +00:00
31b8444778 Render Branch: attempt to fix crashes where scene updates would run while
rendering. G.rendering was set in the job thread, which is too late.
2010-04-09 10:54:19 +00:00
8883671b87 Render Branch: clip displacement values by the displacement bound. Ideally this
should be computed automatic, but this at least helps finding out if it's too low.
2010-04-08 16:19:09 +00:00
6f7486ee6b Render Branch: Fix displacement mapped surfaces not supporting speed vectors yet,
and optimization so displacement does not evaluate e.g. color or bump textures.
2010-04-08 12:21:31 +00:00
2736665558 Render Branch: increase limit on z buffer alpha depth per pixel, far away hair
is hitting this limit. Ideally we should do hair simplification for quicker render
times, or more AA samples per pixel.
2010-04-08 10:54:21 +00:00
a951f7ee4c Fix incorrect object layer for duplifaces. 2010-04-07 20:13:29 +00:00
21a56148f7 Fix for incorrect vector pass with background scenes. 2010-04-07 20:11:12 +00:00
fb1592311e Render Branch: restore surface mode for mesh deform modifier, seems we are
using it in some places still, intentionally only committed in this branch.
2010-04-07 14:01:59 +00:00
310137b550 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28064:28068 2010-04-07 10:26:53 +00:00
5e1c383581 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28045:28064 2010-04-07 09:25:53 +00:00
dfe04f1b84 Fix objects instanced on hair particles not giving consistent results
when the object is transformed.
2010-04-06 15:01:04 +00:00
2b1b1b08a0 Fix texture node image textures not getting correct derivatives for filtering. 2010-04-06 14:41:40 +00:00
84f1df2042 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28042:28045 2010-04-06 10:13:19 +00:00
c7e7df3f58 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27962:28042 2010-04-06 09:29:50 +00:00
8f9c37727b Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27948:27962 2010-04-02 16:04:12 +00:00
f07d389630 Render Branch: should have included this file in last commit. 2010-04-02 14:49:47 +00:00
76f8d5f6f0 Render Branch: Fix a problem with only shadow materials + env light. 2010-04-02 14:40:47 +00:00
19f2d03558 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27929:27948
skipping r27931 and r27944. can be merged later.
2010-04-02 09:23:54 +00:00
1c6e9f61f5 Render Branch: More work on displacement/subdivision.
* Displacement textures are now filtered with derivatives.
* Render subdivision is now a scene level setting, which is automatically
  applied to all objects with displacement.
* Subdivision rate is now a scene level setting with per object relative
  rates for more/less detail.
* The unsubdivided low resolution mesh for raytracing is now displaced as
  well to match the high resolution better.
* Render previews now also do render subdivision.
* All texture coordinates should now work for displacement.

Implementation:
* Change shadeinput uv values to be interpolation weights, simplifies code
  and is easier to understand for me.
* Shadeinput texture coordinates and material setup for displacement now
  uses same code instead of it's own.
* Autosmooth and displacement are now moved from mesh to general postprocess.
* Autosmooth now uses orco's to stay stable under animation, which avoids
  some hacky code to preserve original normals and works for more cases.
* Stress texture coordinates are now supported for nurbs/curves/metaballs too.

Still to do:
* Control over resolution for raytracing/shadows.
* Stitching up grid cracks.
* Smooth derivatives across boundaries.
* Automatic displacement bounds.
2010-04-01 20:03:21 +00:00
4c78027f2c Render Branch: evil "local" option for material light groups. When the material
is linked in, this will use a local group instead of the linked group, so that
some objects in a linked group can be lit by separate lights.

Implementation is just a few lines in material.c, most of the changes do some
clean up for lamp related code.
2010-04-01 17:11:39 +00:00
6e5ba8aef6 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27927:27929 2010-04-01 13:57:24 +00:00
cc2ad1d9a1 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27919:27927 2010-04-01 12:57:44 +00:00
a8ce4600cd svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27889:27919 2010-04-01 08:40:02 +00:00
44fa93f36a support for adding remove action groups, as well as setting an action group from an fcurve (was readonly). 2010-03-31 19:02:39 +00:00
3b7d386e6f Render Branch: Fix ward isotropic slope option not showing in UI. 2010-03-31 13:31:35 +00:00
09eaa531ad Render Branch: Fix unused material node affecting final color. 2010-03-31 11:58:21 +00:00
997d8e0686 FCurve Py/RNA API for adding and removing points fcu.keyframe_points.add()/remove()
mostly rewritten but some parts taken from [#21313] Added API Function to manage F-Curve. By Anthony Hinsinger (atoy40)

Armature NLA baking function, very simple but not in any menu's yet.
- bakes armatures only
- bakes loc/scale/rot
- supports different rotation types
- cleans up unneeded points after.
2010-03-31 10:40:51 +00:00
bf6700849e attempt to fix for dna padding error on some systems 2010-03-31 07:13:54 +00:00
a1fdc4614c fix for own errors in calling ending topology table 2010-03-31 07:09:15 +00:00
2ec1951087 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27866:27889 2010-03-31 06:52:31 +00:00
7320156a53 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27859:27864 2010-03-31 06:49:54 +00:00
1a1465916a appending a data that linked to another blend file would fail to save that link because it didnt tag it as directly linked. 2010-03-30 19:53:30 +00:00
7f9b293f3f Render Branch: Sun lamps now can cast soft shadows again. They look
different however than trunk, because they used to depend on the lamp
location while the light depends only on the rotation. So that has
changed now and only the rotation should have an influence. This also
means the soft size does not define a size in blender units, but rather
a fraction of the hemisphere.
2010-03-30 17:10:24 +00:00
81a61f713b fix for topology mirror table not being freed 2010-03-30 15:49:49 +00:00
24e4a07865 Render Branch:
* Option Use Local Coords for raytracing was enabled when the option
  in the UI was disabled.
* Avoid creating tangents on high res mesh when doing tangents space
  high to low baking.
* Gave memory arena's a name used for allocations for easier memory
  usage debugging.
2010-03-30 15:26:11 +00:00
829076d791 Solidify
- offset option so the surface can be made solid from the middle
- vertex group, so solid distance can be multiplied by a vertex group (invert option also)
2010-03-30 14:58:16 +00:00
bd814d06fd select markers with Ctrl+RMB when sync selection enabled. 2010-03-30 12:31:04 +00:00
2135d519c5 Fix external multires data link getting lost on exiting editmode. 2010-03-30 11:13:23 +00:00
aa00f31dc9 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27742:27859 2010-03-30 10:49:52 +00:00
8b3679faf8 [#21816] bpy.data.add_image has stopped working on Windows
moved to bpy.data.images.load(), missed this call.
2010-03-30 09:54:17 +00:00
c1c669f972 Baking for dupligroup & linked library objects
- library data allows pointcache writing (hard to know how this should work long term so ifdef'd for now)
- changing the frame now updates the dupligroup objects
- BKE_ptcache_ids_from_object(), option to get the id's from duplis

note! scene_update_tagged() is called from the main() loop, and runs BKE_ptcache_quick_cache_all(), this could become a performance issue, especially with duplis, should probably not call BKE_ptcache_quick_cache_all() all the time, even when not playing back animation.
2010-03-30 09:18:37 +00:00
ede49637d0 Render Branch: Fix a problem with particle duplis, due to own bugfix for #20350,
the problem for that seems to be in dupliverts, not particles.
2010-03-29 18:29:54 +00:00
7ead765d93 Render Branch: Tangent space normal map baking should work again now. 2010-03-29 16:13:32 +00:00
712b485957 fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process /usr/bin/blender.bin was killed by signal 6 (SIGABRT)  
 original fix submitted by Jochen Schmitt

made some other changes too
2010-03-29 14:53:19 +00:00
fdefd2cb89 patch by Wahooney, so new template's are internal text and dont get saved over by mistake. 2010-03-29 14:05:21 +00:00
cb3b3924dd on second thaughts this is only useful when shadow option is enabled so only redraw then. 2010-03-29 13:27:31 +00:00
868ad31fe7 update uv window while transforming (useful when used with UVProject modifier) 2010-03-29 13:19:10 +00:00
5efd782a4b Render Branch: Fix missing env/indirect not being properly cleared
with ambient set to zero.
2010-03-29 13:04:26 +00:00
034777fbc5 no-functional changes. new function for id path. 2010-03-29 12:44:44 +00:00
28eb29ae6a ability to pin any object into the context 2010-03-29 12:33:33 +00:00
b771c6e2da error in last commit 2010-03-29 10:37:13 +00:00
4c7d5d4805 copy and initialize uv modifier scale, remove unneeded enum. 2010-03-29 10:15:25 +00:00
6b0b52150e Fix deep shadow not respecting Cast Buffer Shadows option. 2010-03-29 10:09:02 +00:00
8971917e43 spelling: wich --> which 2010-03-29 09:07:03 +00:00
6a92939ae2 some cases of struct name being set where it shouldnt have been. 2010-03-29 07:57:21 +00:00
10f8a1024f Render Branch: Fix cloth pinning not working after rest shape key commit. 2010-03-26 16:38:47 +00:00
aa03d6a882 Render Branch: Add back image pin option in image editor header. 2010-03-26 15:46:57 +00:00
c740757d46 Render Branch: Assign weight from bones in weight paint mode now respects
paint face mask, also avoid making vertex groups if they will not be filled.
2010-03-26 15:28:43 +00:00
1415861365 Render Branch: Forgot to commit the UI for rest shape key. 2010-03-26 15:22:50 +00:00
6341313df0 Render Branch: Rest shape key for cloth option, this makes it possible
to specify different spring lengths.

Implementation is quite ugly because the shape key has to be pulled
through the modifier stack somehow, need a more flexible data mask
system to solve this properly.
2010-03-26 15:06:15 +00:00
5ac1c4f624 Render Branch: Disable group transform stuff temporarily since it still has
some problems, so we can properly render things.
2010-03-25 18:40:06 +00:00
608bc71e37 Render Branch: Avoid doing irradiance/pixel cache on some materials that don't need it. 2010-03-25 16:28:44 +00:00
a3b99b4898 Render Branch: Yet another fix for group transform, it was suffering from
numerical drift, now we backup matrices and restore if they were not modified.
2010-03-25 16:02:00 +00:00
fea78d93f5 Render Branch: Fix vertex paint not getting restored after exiting editmode,
and fix the opposite problem when going to object mode from the menu.
2010-03-25 15:21:31 +00:00
c773d3d5e9 Render Branch: Cloth simulation can now use a group to specify which objects
to collide with, in addition to the effectors group.
2010-03-25 14:58:40 +00:00
2c35d33f6e Render Branch: fix rendering another scene from the compositor not working. 2010-03-25 14:32:29 +00:00
8ac8bb06b3 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27721:27742 2010-03-25 13:23:08 +00:00
c90109a219 Render Branch: SSS now works slightly better with render layers, previously
it would assume the material to be on all layers, now it only assumes it to
be on the layers that have an object with the same SSS material.
2010-03-25 12:02:03 +00:00
ac2b7e91f6 Render Branch: object subdivision/displacement can now be cancelled quicker,
and also fixes compositing not being properly cancelled.
2010-03-25 11:39:21 +00:00
6096c77f5e Render Branch: Optimization for pose channel name lookups using a hash, makes
playback in one particular scene with 3 characters go from 10 to 13 fps.
2010-03-24 18:15:29 +00:00
4dc2e94ec3 Render Branch: Evaluation of objects in a dupli group now also is done
scene_update_tagged instead of only during redraw.
2010-03-24 18:14:57 +00:00
8de1939e5c multiply for panorama cameras 2010-03-24 18:13:08 +00:00
a9b5caf731 Render Branch: more tweaks to group transform, to get dragon tail working. 2010-03-24 17:09:10 +00:00
13d827d344 fix for incorrect args, before pyapi fixes these were ignored. 2010-03-24 16:54:03 +00:00
7b7c07e0ae svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27711:27721 2010-03-24 16:28:13 +00:00
cd5345686b Render Branch: tweak to group transform, now group matrix is applied in
where_is_object_time instead of object_handle_update to ensure it is always
applied. Still a problem with dragon tail, will attempt to fix that next.
2010-03-24 15:59:44 +00:00
37fb6d5f22 Render Branch: forgot a normalize in displacement normal commit. 2010-03-24 15:43:22 +00:00
d91d8b5f12 Render Branch: displacement now preserves smooth normals from the base mesh,
which got lost due to linear subdivision. It now does this:

final normal = displaced normal + (base mesh normal - subdivided normal)
2010-03-24 11:33:39 +00:00
4277f3f424 Render Branch: linked groups object matrix and data evaluation no longer
happens in group space now, but in scene/world space. This ensures e.g.
gravity goes in the right direction if the group is rotated, or collision
with objects outside of the group works. This only works correct if there
is one instance of the group, but that was the case already.

This also fixes collision with objects in groups not working, and removes
some object_handle_update calls that should no longer be needed in 2.5.
2010-03-24 10:14:39 +00:00
b37b60c8e1 missed this in the merge too 2010-03-24 10:07:54 +00:00
4ba6d1d33e fix for merge error 2010-03-24 10:06:49 +00:00
5bcf171bed svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27666:27705 2010-03-24 09:07:13 +00:00
ee6623418b fix for mistake in own recent commit. 2010-03-23 16:12:24 +00:00
3decb02c98 fix for crash on loading some files with composite nodes. 2010-03-23 16:04:33 +00:00
70ba5f0114 workaround for compositor threading copying actions every time. 2010-03-23 15:20:05 +00:00
3e3437deae error when reordering function 2010-03-23 15:18:09 +00:00
73b8067d17 Fix makesrna crash due to missing object_type_curve_items sentinel. 2010-03-23 14:58:25 +00:00
ed288596c5 re-order some args to be more consistant with the previous commit 2010-03-23 13:52:39 +00:00
8af7d689fa rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
2010-03-23 12:42:46 +00:00
8f54bc2a25 Render Branch: lamp distance drawn in 3d view now takes into account
color management so that the cutoff is really at 0.01 of the intensity.
2010-03-23 11:38:47 +00:00
568ca2c61f report an error parsing args, will try fix properly but this involves many changes so do this for now. 2010-03-23 10:44:20 +00:00
dd1ff2745c fix for parsing python args to rna functions, was using allocated size as argument count. 2010-03-23 09:19:46 +00:00
8fd53acd20 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27654:27666 2010-03-22 17:46:49 +00:00
6df5b63ac8 py/rna functions for adding and removing curve data. 2010-03-22 17:25:29 +00:00
c2852409c0 getting an item from a collection wasnt being checked correctly. 2010-03-22 17:24:17 +00:00
500d71f94b bugfix for loading objects saved with the dupli pointer set. 2010-03-22 16:13:17 +00:00
d53f701f8b svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27592:27654 2010-03-22 09:55:58 +00:00
c6f2bebae5 functions for adding curve points
eg.
 curve.splines[0].points.add()
 curve.splines[1].bezier_points.add(10)
2010-03-20 16:25:34 +00:00
f5601b86fb pyrna api
curve.splines.active
 curve.splines.new(type='POLY')
 curve.splines.remove(spline)

- Added BLI_remlink_safe() since in with script input we cant be sure where the data comes from, it may not be apart of the list.
- Added flag defines for flagu and flagv, were using numbers.
2010-03-19 15:10:37 +00:00
d3c53977ba shell script for building and uploading html and pdf reference doc 2010-03-19 11:57:39 +00:00
908e50a866 fix for warning 2010-03-19 09:22:00 +00:00
0eb412a728 option to set the openexr directory for cmake 2010-03-19 09:12:08 +00:00
291a62f2b0 Render Branch: some quick tweaks to make transparent shadow + node materials
performance bareable, new shading system will solve this automatically.
2010-03-18 18:19:49 +00:00
eebc144df3 Render Branch: Fix recursion problem with nodes, indirect light and
transparent shadows.
2010-03-18 17:41:18 +00:00
cb8c105169 operator & menu item in the image editor to edit an image externally. 2010-03-18 17:21:52 +00:00
803e7bfd36 Render Branch: Clamp diffuse/specular to be >= 0 after indirect light,
so that negative lamps also can darken it.
2010-03-18 17:05:17 +00:00
76e118fa03 Render Branch: Fix clipping problem in render subdivide. 2010-03-18 15:29:55 +00:00
f7c6ecc867 Render Branch: Fix render window not redrawing while rendering with FSA. 2010-03-18 11:47:22 +00:00
6ca49f7a15 remove ED_object_apply_obmat(ob) in favor of object_apply_mat4(ob, mat), ED_object_apply_obmat wasnt doing quat/axis-angle or non xyz rotations. 2010-03-18 11:37:43 +00:00
e37c267718 Render Branch: Fix for rendering transparent volume shadows. 2010-03-18 11:34:20 +00:00
ccd5b8e8d4 Render Branch: Fix node material texture slots list not being correct. 2010-03-18 11:18:56 +00:00
c60d558115 revert unintentional files from r27594 2010-03-18 11:14:44 +00:00
a34a9a775f - fcurves with out of range indicies would crash blender (animsys was alredy checking length, just not comparing with the index)
- pythons keyframe_insert/delete(): raise an error when given a keyframe with an invalid index.
2010-03-18 11:12:12 +00:00
9c88a5a062 insertig keyframes from python would crash. 2010-03-18 10:42:13 +00:00
3e6716f0df Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27541:27592 2010-03-18 10:24:40 +00:00
749ede87f2 minor changes to 'Render Only' option.
- display camera border.
- display camera object when in camera view.
2010-03-18 09:30:34 +00:00
3db178aab1 fly mode up/down were inverted. 2010-03-18 09:15:07 +00:00
ae7a22a5f3 [#21649] Display missing scripts in Add-Ons panel
updated patch from Martin Bürbaum (pontiac)

wasnt displaying correctly with filtering
2010-03-17 21:31:34 +00:00
d60b34486d Render Branch: sound fix, in case ffmpeg decode fails, don't use the samples. 2010-03-17 21:11:41 +00:00
f89a5381a4 list missing addons that are enabled in the user prefs 2010-03-17 21:09:25 +00:00
53aa5b4daf RNA/Py API
bpy.data.add_image(filename) --> bpy.data.image.load(filename)
Added bpy.data.images.new(name, width, height, float_buffer)
2010-03-17 19:40:22 +00:00
6a8e79920c Sound bugfixes:
* sound file path was not displayed in sequencer panel.
* sound strip with relative paths would stop working after undo.
2010-03-17 16:13:49 +00:00
123d295e86 option for cyclic time adjustment for nla strips, needed for adjusting the speed of flapping wings 2010-03-17 16:02:29 +00:00
0c28227746 Fix cancelling while computing irradiance cache not responding fast enough. 2010-03-17 11:31:50 +00:00
6ebccc4a40 include library in the tooltip 2010-03-17 10:24:38 +00:00
6b4737c1ea view selected uses display transform bone 2010-03-17 09:31:27 +00:00
bee7113e3b simplify version checking by having addons use same version tuple as bpy.app.version 2010-03-16 19:36:10 +00:00
9362b89de6 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27521:27541 2010-03-16 17:15:21 +00:00
d6874e4022 no need to include the setting names in enum items 2010-03-16 16:11:26 +00:00
254d59ae05 option to lock alpha while projection painting. 2010-03-16 14:39:41 +00:00
982a7f5b19 transform marker sync for extend and grab is back. 2010-03-16 13:46:40 +00:00
4963994fe5 the string 'Environment' is too long for a pass name, was causing crashes in FSA. use Env instead. 2010-03-16 13:22:27 +00:00
25b4eb7832 no need to set flat shading for faces manually 2010-03-16 12:45:13 +00:00
5a1f14805a adding faces was setting the wrong flag, smooth rather then selected. 2010-03-16 12:44:17 +00:00
44be201585 Render Branch: don't do shade once trick for strands now, this does not
work well at the moment. Full shading also leads to blurry color textures
at the moment, will have to think of a way around this.
2010-03-15 22:03:24 +00:00
c919b3ea64 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27511:27521 2010-03-15 20:23:06 +00:00
7006440d41 Render Branch: indirect light shading / bump. The bump method settings
has been removed and replaced with a shading method setting. There are
three options:

* No Shading: no bump mapping and assuming lambert shader.
* Full Shading: execute BSDF for each ray and includes bump mapping. When
  combined with irradiance cache, will generally require many more samples
  for bumped surfaces and execute textures 2x.
* Shade Once: execute BSDF once using averaged ligth direction for each
  RGB channel. Bump mapping is also done after irradiance caching this way.
  Requires fewer samples in irradiance cache and only needs to do textures
  once. This is basically the trick from "An Approximate Global Illumination
  System for Computer Generated Films" used by Dreamworks.

Decided to use averaged light direction instead of spherical harmonics,
uses less memory and these can be used with BSDF's. This trick is not really
accurate but seems believable enough for e.g. Minnaert and Oren-Nayar shaders,
though for example with Toon it fails to give similar results.

This commit also fixes AO falloff strength not being taken into account.
2010-03-15 20:02:47 +00:00
fe6168838e Render Branch: move displacement code into own file, and some code cleaning
for transforming mesh normals.
2010-03-15 14:16:45 +00:00
581a18307d Render Branch: tweak to ambient occlusion multiply mode, now it is also
applied to env/indirect intead of only direct light.
2010-03-15 13:47:35 +00:00
7120dff251 Render Branch: make displacement work with flat shading, previously would not
have properly set normal giving strange result, though in general it's best to
use smooth shading for displacement to avoid discontinuities at the edges.
2010-03-15 12:35:14 +00:00
a314f52a6c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27446:27511 2010-03-15 12:02:10 +00:00
23b4120107 Wkey in uv editor brings up weld/align menu rather then welding. 2010-03-15 11:45:29 +00:00
ddab33906e implify skipping quad->tri was being done even when the main simplify option was disabled. 2010-03-15 11:20:49 +00:00
da050b61c8 draw option to only display what is rendered, used for sequencer, opengl drawing by default. since we use preview renders a lot the empties & armatures can get in the way also. 2010-03-15 11:00:00 +00:00
61b00d0cb5 made re-project UI less confusing 2010-03-12 16:58:22 +00:00
ac5cf2ca4c Render Branch: fix python script error in lamp buttons. 2010-03-12 16:27:04 +00:00
136e58b2e9 Render Branch: fix volumetric render + area lamp crash. 2010-03-12 15:23:24 +00:00
2a3c82f85c Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27415:27444 2010-03-12 13:52:38 +00:00
2cf520c861 minor changes to rna names for consistancy 2010-03-12 13:50:57 +00:00
76ca1fdf5a change the scene opengl sequence rendering to be a global option with rendering and scrubbing settings.
still need to do a do_versions for this to work right without changing settings.
2010-03-12 13:11:23 +00:00
ab6bfdef1b error in recent commit. 2010-03-12 11:33:07 +00:00
232312f9b3 Render Branch: fixes to get result ramps more similar to trunk. 2010-03-12 11:28:17 +00:00
6f93156e14 library data selector, respect hide dot data, unless the user enters a '.' 2010-03-12 11:14:15 +00:00
f9fb3aee90 - menu for selecting add scenes for the sequencer.
- update internal 'btempdir' from userprefs on changing and initializing the temp dir.
- add sequence strip operators nolonger require the sequence view to be active (better for automation).
2010-03-12 10:33:48 +00:00
46d86471bd fix for nasty bug where registering properties would register them in the parent classes SRNA, made for confusing rigify args turning up in add sequencer adding collection. 2010-03-12 09:36:42 +00:00
13d5fc988c made argument conversion for much more verbose, wasnt giving enough info with bad operator args. 2010-03-12 08:21:09 +00:00
f9dd86f090 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27381:27415 2010-03-11 16:40:30 +00:00
ff354ce9fa Render Branch: fix crash in compositing nodes passing on NULL compbuf. 2010-03-11 16:11:25 +00:00
ce84e82983 Render Branch: per tile subdivision now supports uvs and vertex colors. 2010-03-11 14:23:40 +00:00
efc45e7961 error in last commit 2010-03-11 14:07:02 +00:00
b864110eed rna/py api function for removing ID blocks, id.unused_clear() 2010-03-11 13:56:48 +00:00
1fa78eb265 minor changes to work in python 2.6 which is useful in some cases since this runs outside of blender. 2010-03-11 10:46:49 +00:00
735c6731df standalone python module for reading scene, start, end frames from the blendfile (without blender). from blender 2.4x, ported to python3, added gzip support. 2010-03-11 10:39:05 +00:00
be2c534119 Render Branch: some more changes to go with recent commit. 2010-03-10 20:21:09 +00:00
836b590c8a Render Branch: strands rendering now does raytraced ao/env/indirect at the
root of the strand just like approximate.
2010-03-10 19:16:56 +00:00
f7a4fb46cd Render Branch: render subdivide for displacement now works with orco's
(generated coordinates), still not for uvs.
2010-03-10 19:02:50 +00:00
4cbec7f5e0 Render Branch: fix a crash in preview rendering. 2010-03-10 17:52:50 +00:00
ae340993b8 Render Branch: pass on object to get orco cube mapping again. 2010-03-10 16:06:50 +00:00
4948ae3f90 Render Branch: strand coords now use same storage system as others tex coords. 2010-03-10 15:12:56 +00:00
adc922f3c4 re-project paint failed on no-camera when a camera wasnt needed. 2010-03-10 15:11:24 +00:00
684000caff Render Branch: attempt to fix merge problem, addons directory seems to
still be local and using external repository at the same time? Also fix
two differences in python scripts.
2010-03-10 15:00:11 +00:00
b6c0cd7688 Render Branch: orco's now use same storage system as other texture coordinates. 2010-03-10 14:36:49 +00:00
0cb79296d1 Render Branch: move particle conversion into own file. 2010-03-10 14:02:31 +00:00
407b5d7e37 Render Branch: fix SSS being a bit too dark compared to trunk. 2010-03-10 13:35:07 +00:00
625e62bffe Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27366:27381 2010-03-10 11:01:26 +00:00
1d8d450078 Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r27217:27366 2010-03-09 18:48:15 +00:00
4b0ff16387 Render Branch: make approximate AO work with bump mapping. 2010-03-09 18:43:58 +00:00
b6a762fa99 Render Branch:
* add lamp option "indirect" to indicate if the lamp should be used
  as part of indirect lighting
* add shadow buffer option to indicate if strands should be part of
  the shadow buffer
* revert some dupli debugging code that wasn't supposed to be comitted
2010-03-09 13:03:03 +00:00
aa2cde38a2 Render Branch:
* AO/env/indirect now optionally supports bump mapping.
* Irradiance cache code was extended to support storing spherical
  harmonics, for more efficiently dealing with bump maps without
  adding loads of samples. This does not work yet however, and so
  the code is still disabled.
* Move ao/env/indirect computation inside the shading loop.
2010-03-08 18:55:11 +00:00
10509d4022 Render Branch: temporary hack option to allow material traceble to be ignored,
just for easier testing in durian because we currently have this option
disabled on all but a few materials.
2010-03-04 13:42:07 +00:00
5479f23559 Render Branch: implement area lamp form factor usage again like in old material
system, it works better. Though it also completely breaks the material/lamp
separation, and I'm not sure how this could work in a node system. Still, quick
area lamps with no noise seems to be useful..
2010-03-04 11:14:29 +00:00
455822f295 Render Branch:
* Fix inaccurate shading position calculation in non-planar quad, the face
  normal is not accurate in that case, so compute it again now. Not sure
  yet what performance impact is of this, but would actually like to get
  rid of normal entirely to save memory.
* Fix self-intersection problem with non-planar quads, the raytracer was
  splitting quads in a different way than other parts of the render engine,
  now it does the same.
2010-03-03 20:52:13 +00:00
9fa3117841 Render Branch: restored area lamp form factor code, but using the code
from AAO which is faster and matches exactly the simple multi sampled
result for lambert and no shadow.

Also some other tweaks to lamp code, and wrote down some dev notes about
current behavior:
http://wiki.blender.org/index.php/Dev:2.5/Source/ShadingSystem/RandomNotes
2010-03-03 17:12:24 +00:00
f24d1c27fe Render Branch: fix for cmake/windows compile, patch from Guillaume. 2010-03-03 17:04:03 +00:00
a725c0dcef Render Branch: fix game engine compile and remove path tracer from UI
to avoid confusion with rasterizer indirect light (it's still editable
via RNA as a debugging feature).
2010-03-03 12:43:44 +00:00
a5aed840f4 Render Branch: another file that needs the pthreads include for scons. 2010-03-03 12:34:49 +00:00
b38ad1ea71 Render Branch: attempt to fix pthread compile errors on scons/windows. 2010-03-03 12:23:21 +00:00
0934694a2b Render Branch: move hemi-polygon form factor code form approximate AO
into math library.
2010-03-03 10:35:50 +00:00
7635acf71e Render Branch: use math lib spherical harmonics functions in
approximate AO code.
2010-03-03 10:21:04 +00:00
59be099e87 Render Branch: fix problem in lamp shadow cache code, remove debug print. 2010-03-03 10:17:22 +00:00
4708eadbdd Render Branch: another small compatibility tweak. 2010-03-02 20:58:57 +00:00
82f11c0c85 Render Branch: compatibility related fixes for lamp power/energy/fallof,
trying to get conversion to match existing renders better.
2010-03-02 19:21:35 +00:00
ddbcdd13ee Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r26768:27217 2010-03-02 15:05:40 +00:00
8777e9add3 Render Branch: some WIP code before svn merge, saving irradiance cache to
file, and fix for indirect light intensity.
2010-03-02 11:35:57 +00:00
0f4f0557c5 Render Branch: some hacked code to test per tile subdivision, and
how it would interact with GI, it has no catmull-clark, grid cracks,
slow performance, no shadow, sss, raytrace, etc. Example file:

http://users.pandora.be/blendix/snow_subdiv.blend
http://users.pandora.be/blendix/snow_subdiv.png
2010-03-01 20:01:40 +00:00
bf74b10a53 Render Branch: fix for lowres raytracing of instanced objects, and some
cache test code that's still disabled.
2010-02-25 20:21:09 +00:00
109c502d44 Render Branch: increase max number of AO samples from 32*32 to 128*128. 2010-02-25 15:26:49 +00:00
769a1fc8de Render Branch: remove some test code left in accidentially, should fix
compile on windows.
2010-02-24 18:57:21 +00:00
4f579b8be7 Render Cache: irradiance cache:
* increase truncated SVD epsilon to avoid avoid large color changes when
  interpolating between near colinear points.
* added neighbour clamping. it doesn't seem to help much and make things
  a bit slower at the moment, but hopefully can be used to get better
  distribution later.

Main remaining causes of artifacts seem to be:

* even 32x32 (1024) samples can still be noisy leading to low frequency
  noise after interpolation
* borders between tiles can have discontinuities. this is mostly visible
  in combination with the above problem, i.e. if the result is splotchy
  it will have a different splotches in the next tile.
* very small features may be missed still, leading to missing shadows in
  some cases or even stippled patterns instead if they are detected part
  of the time, neighbour clamping helps somewhat here.
2010-02-24 17:27:29 +00:00
6c0ea32d92 Rende Branch: irradiance caching, fix part of the black pixels with
a division by zero check in the TNT SVD code.
2010-02-24 12:42:15 +00:00
069698f4d8 Render Branch: tweak irradiance cache clamping for reconstruction to
avoid corner samples leaking into open areas.
2010-02-24 10:57:13 +00:00
2538d92a31 Render Branch:
Should have mentioned a few more things in my previous commit log:
* Indirect light now also includes lamps.
* Adaptive sampling is currently not working.
* Teaser image (spot the artifacts)

http://users.pandora.be/blendix/indirect_teaser.png
2010-02-23 19:56:36 +00:00
f9de69cfbd Render Branch: Irradiance Cache
Implementation borrows some code from Pixie though has changed quite
a bit. This is work in progress and has artifacts and hardcoded
parameters still.

I tried irradiance gradients and found them problematic, they seem
to reduce part of the artifacts but for others have no effect, and
can even make things worse. There's a clamping trick that helps a
bit here, but I couldn't get that reliable either.

Currently it is using least squares reconstruction to smooth out the
results, it's too smooth now, still trying to find out the best way
to weight samples without introducing problems, but I'm finding this
much more promising than gradients.
2010-02-23 19:48:55 +00:00
35464b55ce Render Branch: quick hack to support 4x4 matrix SVD decomposition
in C, by using the TNT matrix library from the IK solver.
2010-02-23 19:34:12 +00:00
a65758f261 Render Branch: math functions
* add len_squared_v3v3
* add mul_v4_m4v4
* add box_minmax_bounds_m4
* rename disc_to_sh to vec_fac_to_sh
2010-02-23 19:27:36 +00:00
c023733331 Render Branch: redrawing while render would miss a few scanlines each time
with antialiasing enabled.
2010-02-23 19:24:59 +00:00
f081872ab0 Render Branch: disable ray trace epsilon for testing, not using it
gives artifacts with overlapping faces, but it also seems to lead
to self intersections.
2010-02-23 19:23:49 +00:00
34f32f16e3 Render Branch: WIP commit
* Pixel cache now works for raytraced AO/env/indirect.
* Falloff distance value is now only used for custom curve, linear and
  quadratic now have a smooth factor (range 0-1).
* Lamp multisampling code moved from shadow to shading, so that both
  shading and shadow can be multisampled. This should give correct area
  lights at the cost of noise.
* Halo now uses same lamp code as surface instead of duplicating it.
* Fix in volume code, was too bright now with lamp changes.
* Only shadow materials are now computed different, sharing more code
  but not matching old behavior yet.
2010-02-11 19:29:43 +00:00
bf062301c0 Render Branch: copy 2nd order spherical harmonics code from render to math lib. 2010-02-11 19:20:49 +00:00
d1de9ea043 Render Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r26366:26768
2010-02-10 14:54:38 +00:00
48e7f4f92f Render Branch: move pixel & surface cache code to own file for reuse,
not really generic yet but getting there.
2010-02-05 12:45:23 +00:00
a500d3fb92 Render Branch: some lowres geometry raytracing test code, just a test
that is far from usable but might as well commit it.
2010-02-04 21:00:16 +00:00
9e3b526771 Render Branch: stupid path tracer I'm using for consistency testing,
only does environment lighting + diffuse at the moment, don't expect
this to make it into trunk.
2010-02-04 20:48:35 +00:00
bca8e744a3 Render Branch: lamp falloff
* Change lamp falloff formula which was dist/(r^2 + dist) with dist
   a user specified value, whereas the correct value is 1/(r^2). Now
   it is 1/(r^2 + dist) with dist = 0 as the default.
* Deprecated the Lin/Quad weighted mode.
* Still more work needed to make sun/area/hemi work better with this,
  results are too bright now.
* Also this gives quite harsh results when the lamp is near geometry,
  perhaps because we are not using tonemapping by default.
2010-02-04 20:41:49 +00:00
898909e425 Render Branch: fix memory leak when cancelling preview render. 2010-02-04 20:33:04 +00:00
be12dc312a Render Branch: different method to compute only shadow lamps, rather
than subtracting colors it now subtracts in grayscale, helps avoid
ugly discolorations when used with colored lamps.
2010-02-04 17:38:39 +00:00
bbee3ceb94 Render Branch: trying to get units figured out for materials and lamps,
see comments in material.h and lamp.h. Change in UI is that lamp energy
is now called power and is specified in Watts. It's still off by a large
factor due to the lamp falloff code, that will be fixed in a separate
commit.
2010-02-04 17:17:01 +00:00
062410f657 Render Branch: temporary workaround for extern texture access, previously this
was using the global R, with whatever contents it had from last render. For now
just introduce a static local R for this case.
2010-02-04 16:55:20 +00:00
18fb90a1eb Render Branch: make the raycounter code work again, broke it in refactoring. 2010-02-04 16:53:39 +00:00
503f0c85c5 Render Branch: fix for sampler.c, hemisphere sampling code was wrong,
also added back cosine weighted hemisphere.
2010-02-04 16:35:22 +00:00
610fc5653d Render Branch: fixes for crashes in bake and occlusion caching. 2010-01-28 22:23:56 +00:00
75d9256ef7 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r26191:26366 2010-01-28 16:02:26 +00:00
1c39a14d05 Render branch: use lamp_sample in ray_shadow_qmc. 2010-01-23 17:50:38 +00:00
c558625db6 Render branch: fix halo rendering bug in hairball.blend. 2010-01-23 17:26:39 +00:00
9a3282cd39 Render Branch
Some refactoring of blender rendering code, various code changes to clean
up the code and make it easier to extend and fit in the new shading system.
This also deprecates a number of features, so breaks backwards compatibility
already. No new shading system or new features in this commit.

Also, don't report bugs or problems for this branch yet.

Deprecated features:
* World exposure/range.
* Backbuf image.
* Specular transparency.
* Energy Ramps.
* Jittered sampling for AO and Area lamps.
* Warping and stencils in the texture stack.
* Sticky texture coordinates. 

Code changes:
* Many file and function renames, splitting, keeping the working of the
  code intact but making the existing structure more clear.
* Render global R replaced by local variables.
* Shading and pass combining for solid and z-transp is now unified. 
* Render and ShadeInput structs have been split up into nested structs.
* Threaded render no longer uses sleep().
* Lamp shading loop has been reorganized. This will make some renders
  look different, some due to bugs being fixed, and some due to new bugs.
* Texture nodes are now a texture type rather using the "use nodes"
  button.

More details on second part of this page:
http://wiki.blender.org/index.php/BlenderDev/ShadingSystem/Notes
2010-01-22 16:17:24 +00:00
2eb2b8c2ff svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r26172:26191 2010-01-22 13:57:35 +00:00
b510128ec7 Create branch for experimental 2.5 rendering work. 2010-01-21 21:48:30 +00:00
2023 changed files with 193894 additions and 117121 deletions

View File

@@ -66,9 +66,10 @@ GET_BLENDER_VERSION()
# Blender internal features
OPTION(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
OPTION(WITH_LCMS "Enable color correction with lcms" OFF)
OPTION(WITH_PYTHON "Enable Embedded Python API" ON)
OPTION(WITH_BUILDINFO "Include extra build details" ON)
OPTION(WITH_IK_ITASC "Enable ITASC IK solver" ON)
OPTION(WITH_ELBEEM "Enable Elbeem (Fluid Simulation)" ON)
OPTION(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effects)" OFF)
OPTION(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
OPTION(WITH_GAMEENGINE "Enable Game Engine" ON)
@@ -80,18 +81,11 @@ ELSE()
OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF)
ENDIF()
# Modifiers
OPTION(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON)
OPTION(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON)
OPTION(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON)
# Image format support
OPTION(WITH_IMAGE_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" ON)
OPTION(WITH_IMAGE_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
OPTION(WITH_IMAGE_TIFF "Enable LibTIFF Support" ON)
OPTION(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
OPTION(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
OPTION(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
OPTION(WITH_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" ON)
OPTION(WITH_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF)
OPTION(WITH_TIFF "Enable LibTIFF Support" ON)
OPTION(WITH_DDS "Enable DDS Support" ON)
# Audio format support
OPTION(WITH_FFMPEG "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu/)" OFF)
@@ -121,7 +115,6 @@ OPTION(WITH_LZMA "Enable best LZMA compression, (used for pointcache)"
OPTION(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
OPTION(WITH_CXX_GUARDEDALLOC "Enable GuardedAlloc for C++ memory allocation tracking" OFF)
OPTION(WITH_INSTALL "Install accompanying scripts and language files needed to run blender" ON)
OPTION(WITH_PYTHON_INSTALL "Copy system python into the blender install folder" ON)
IF(APPLE)
OPTION(WITH_COCOA "Use Cocoa framework instead of deprecated Carbon" ON)
@@ -129,17 +122,14 @@ IF(APPLE)
OPTION(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF)
ENDIF(APPLE)
# only for developers who want to make this functional
# OPTION(WITH_LCMS "Enable color correction with lcms" OFF)
IF(NOT WITH_BULLET AND WITH_GAMEENGINE)
MESSAGE("WARNING: WITH_GAMEENGINE needs WITH_BULLET")
ENDIF(NOT WITH_BULLET AND WITH_GAMEENGINE)
IF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
MESSAGE(FATAL_ERROR "WITH_PLAYER needs WITH_GAMEENGINE")
MESSAGE("WARNING: WITH_PLAYER needs WITH_GAMEENGINE")
ENDIF(NOT WITH_GAMEENGINE AND WITH_PLAYER)
IF(NOT WITH_INSTALL AND WITH_PYTHON_INSTALL)
MESSAGE("WARNING: WITH_PYTHON_INSTALL needs WITH_INSTALL")
ENDIF(NOT WITH_INSTALL AND WITH_PYTHON_INSTALL)
TEST_SSE_SUPPORT()
# disabled for now, not supported
@@ -151,7 +141,7 @@ TEST_SSE_SUPPORT()
# On Macs:
# cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/config -G Xcode ../blender
#
# When changing any of this remember to update the notes in doc/build_systems/cmake.txt
# When changing any of this remember to update the notes in doc/blender-cmake.txt
#-----------------------------------------------------------------------------
#Platform specifics
@@ -225,7 +215,7 @@ IF(UNIX AND NOT APPLE)
ENDIF(NOT SDL_FOUND)
ENDIF(WITH_SDL)
IF(WITH_IMAGE_OPENEXR)
IF(WITH_OPENEXR)
SET(OPENEXR /usr CACHE FILEPATH "OPENEXR Directory")
FIND_PATH(OPENEXR_INC
ImfXdr.h
@@ -240,16 +230,16 @@ IF(UNIX AND NOT APPLE)
SET(OPENEXR_LIB Half IlmImf Iex Imath)
IF(NOT OPENEXR_INC)
SET(WITH_IMAGE_OPENEXR OFF)
SET(WITH_OPENEXR OFF)
ENDIF(NOT OPENEXR_INC)
ENDIF(WITH_IMAGE_OPENEXR)
ENDIF(WITH_OPENEXR)
IF(WITH_IMAGE_TIFF)
IF(WITH_TIFF)
FIND_PACKAGE(TIFF)
IF(NOT TIFF_FOUND)
SET(WITH_IMAGE_TIFF OFF)
SET(WITH_TIFF OFF)
ENDIF(NOT TIFF_FOUND)
ENDIF(WITH_IMAGE_TIFF)
ENDIF(WITH_TIFF)
FIND_PACKAGE(JPEG REQUIRED)
@@ -297,14 +287,13 @@ IF(UNIX AND NOT APPLE)
SET(EXPAT_LIB expat)
ENDIF (WITH_OPENCOLLADA)
FIND_PACKAGE(X11 REQUIRED)
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
SET(LLIBS "-lutil -lc -lm -lpthread -lstdc++ ${X11_X11_LIB} ${X11_Xinput_LIB}")
# Could use ${X11_Xinput_LIB} ${X11_X11_LIB} too
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11")
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
# BSD's dont use libdl.so
LIST(APPEND LLIBS -ldl)
SET(LLIBS "${LLIBS} -ldl")
# binreloc is linux only
SET(BINRELOC ${CMAKE_SOURCE_DIR}/extern/binreloc)
@@ -312,17 +301,23 @@ IF(UNIX AND NOT APPLE)
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
IF(WITH_OPENMP)
LIST(APPEND LLIBS -lgomp)
SET(LLIBS "${LLIBS} -lgomp")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
ENDIF(WITH_OPENMP)
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
SET(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing -Wno-char-subscripts")
IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
SET(PLATFORM_CFLAGS " -msse -msse2 ${PLATFORM_CFLAGS}")
ADD_DEFINITIONS(-D__SSE__)
ADD_DEFINITIONS(-D__MMX__)
ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
SET(PLATFORM_LINKFLAGS "-pthread")
# Better warnings
# note: -Wunused-parameter is added below for all GCC compilers
SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wdeclaration-after-statement -Wno-unknown-pragmas")
SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
@@ -334,12 +329,12 @@ IF(WIN32)
# this file is included anyway when building under Windows with cl.exe
# INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows)
# Setup 64bit and 64bit windows systems
IF(CMAKE_CL_64)
MESSAGE("64 bit compiler detected.")
message("64 bit compiler detected.")
SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/win64)
ENDIF(CMAKE_CL_64)
@@ -367,6 +362,15 @@ IF(WIN32)
SET(WINTAB_INC ${LIBDIR}/wintab/include)
IF(WITH_PYTHON)
SET(PYTHON ${LIBDIR}/python)
SET(PYTHON_VERSION 3.1)
SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
# SET(PYTHON_BINARY python) # not used yet
SET(PYTHON_LIB python31)
SET(PYTHON_LIBPATH ${PYTHON}/lib)
ENDIF(WITH_PYTHON)
IF(WITH_OPENAL)
SET(OPENAL ${LIBDIR}/openal)
SET(OPENAL_INCLUDE_DIR ${OPENAL}/include)
@@ -396,7 +400,8 @@ IF(WIN32)
ENDIF(WITH_QUICKTIME)
IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
ADD_DEFINITIONS(-D__SSE__ -D__MMX__)
ADD_DEFINITIONS(-D__SSE__)
ADD_DEFINITIONS(-D__MMX__)
ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
IF(MSVC)
@@ -406,22 +411,14 @@ IF(WIN32)
SET(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm)
ENDIF(CMAKE_CL_64)
SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE)
SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE)
IF(CMAKE_CL_64)
SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
ELSE(CMAKE_CL_64)
SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
ENDIF(CMAKE_CL_64)
SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_CXX_FLAGS_RELEASE "/O2 /Ob2 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_CXX_FLAGS_MINSIZEREL "/O1 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/O2 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
IF(CMAKE_CL_64)
SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
ELSE(CMAKE_CL_64)
SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
ENDIF(CMAKE_CL_64)
SET(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /ZI /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_C_FLAGS_RELEASE "/O2 /Ob2 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_C_FLAGS_MINSIZEREL "/O1 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /J" CACHE STRING "MSVC MT flags " FORCE)
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/O2 /Ob1 /DNDEBUG /EHsc /MT /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
@@ -480,16 +477,14 @@ IF(WIN32)
SET(OPENCOLLADA_INC ${OPENCOLLADA}/include)
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
SET(OPENCOLLADA_LIB OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser xml2 buffer ftoa)
#pcre is bundled with openCollada
#SET(PCRE ${LIBDIR}/pcre)
#SET(PCRE_LIBPATH ${PCRE}/lib)
SET(PCRE_LIB pcre)
ENDIF(WITH_OPENCOLLADA)
IF(WITH_LCMS)
SET(LCMS ${LIBDIR}/lcms)
SET(LCMS_INCLUDE_DIR ${LCMS}/include)
SET(LCMS_LIBPATH ${LCMS}/lib)
SET(LCMS_LIB lcms)
ENDIF(WITH_LCMS)
# TODO: IF(WITH_LCMS)
IF(WITH_FFMPEG)
SET(FFMPEG ${LIBDIR}/ffmpeg)
SET(FFMPEG_INC ${FFMPEG}/include ${FFMPEG}/include/msvc)
@@ -497,7 +492,7 @@ IF(WIN32)
SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
ENDIF(WITH_FFMPEG)
IF(WITH_IMAGE_OPENEXR)
IF(WITH_OPENEXR)
SET(OPENEXR ${LIBDIR}/openexr)
SET(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/IlmImf ${OPENEXR}/include/Iex ${OPENEXR}/include/Imath)
SET(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
@@ -509,14 +504,14 @@ IF(WIN32)
IF (MSVC90)
SET(OPENEXR_LIBPATH ${OPENEXR}/lib_vs2008)
ENDIF(MSVC90)
ENDIF(WITH_IMAGE_OPENEXR)
ENDIF(WITH_OPENEXR)
IF(WITH_IMAGE_TIFF)
IF(WITH_TIFF)
SET(TIFF ${LIBDIR}/tiff)
SET(TIFF_LIBRARY libtiff)
SET(TIFF_INCLUDE_DIR ${TIFF}/include)
SET(TIFF_LIBPATH ${TIFF}/lib)
ENDIF(WITH_IMAGE_TIFF)
ENDIF(WITH_TIFF)
IF(WITH_JACK)
SET(JACK ${LIBDIR}/jack)
@@ -525,37 +520,32 @@ IF(WIN32)
SET(JACK_LIBPATH ${JACK}/lib)
ENDIF(WITH_JACK)
IF(WITH_PYTHON)
SET(PYTHON ${LIBDIR}/python)
SET(PYTHON_VERSION 3.1)
SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
# SET(PYTHON_BINARY python) # not used yet
SET(PYTHON_LIB python31)
SET(PYTHON_LIBPATH ${PYTHON}/lib)
ENDIF(WITH_PYTHON)
# MSVC only, Mingw doesnt need
IF(CMAKE_CL_64)
SET(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib;MSVCRT.lib ")
ELSE(CMAKE_CL_64)
SET(PLATFORM_LINKFLAGS "/NODEFAULTLIB:libc.lib ")
ENDIF(CMAKE_CL_64)
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libcmt.lib;libc.lib ")
ELSE(MSVC) # MINGW
SET(LLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid")
SET(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
# Better warnings
SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wdeclaration-after-statement -Wno-unknown-pragmas")
SET(CXX_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-sign-compare")
SET(CMAKE_CXX_FLAGS "-pipe -funsigned-char -fno-strict-aliasing" CACHE STRING "Mingw C++ flags ")
SET(CMAKE_C_FLAGS "-pipe -funsigned-char -fno-strict-aliasing" CACHE STRING "Mingw C flags ")
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "Mingw debug C++ flags ")
SET(CMAKE_CXX_FLAGS_RELEASE " -O2" CACHE STRING "Mingw release C++ flags ")
SET(CMAKE_CXX_FLAGS_MINSIZEREL " -Os" CACHE STRING "Mingw minsize release C++ flags ")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" CACHE STRING "Mingw release, debug C++ flags ")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g" CACHE STRING "Mingw debug C flags ")
SET(CMAKE_C_FLAGS_RELEASE "-O2" CACHE STRING "Mingw release C flags ")
SET(CMAKE_C_FLAGS_MINSIZEREL "-Os" CACHE STRING "Mingw minsize release C flags ")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" CACHE STRING "Mingw release, debug C++ flags ")
ADD_DEFINITIONS(-DFREE_WINDOWS)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
IF(WITH_OPENMP)
SET(LLIBS "${LLIBS} -lgomp")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
@@ -599,6 +589,9 @@ IF(WIN32)
SET(OPENCOLLADA_INC ${OPENCOLLADA}/include)
SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib ${OPENCOLLADA}/lib)
SET(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
#pcre is bundled with openCollada
#SET(PCRE ${LIBDIR}/pcre)
#SET(PCRE_LIBPATH ${PCRE}/lib)
SET(PCRE_LIB pcre)
ENDIF(WITH_OPENCOLLADA)
@@ -609,22 +602,19 @@ IF(WIN32)
SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
ENDIF(WITH_FFMPEG)
IF(WITH_IMAGE_OPENEXR)
IF(WITH_OPENEXR)
SET(OPENEXR ${LIBDIR}/gcc/openexr)
SET(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/OpenEXR)
SET(OPENEXR_LIB Half IlmImf Imath IlmThread)
SET(OPENEXR_LIBPATH ${OPENEXR}/lib)
ENDIF(WITH_OPENEXR)
# TODO, gives linking errors, force off
SET(WITH_IMAGE_OPENEXR OFF)
ENDIF(WITH_IMAGE_OPENEXR)
IF(WITH_IMAGE_TIFF)
IF(WITH_TIFF)
SET(TIFF ${LIBDIR}/gcc/tiff)
SET(TIFF_LIBRARY tiff)
SET(TIFF_INCLUDE_DIR ${TIFF}/include)
SET(TIFF_LIBPATH ${TIFF}/lib)
ENDIF(WITH_IMAGE_TIFF)
ENDIF(WITH_TIFF)
IF(WITH_JACK)
SET(JACK ${LIBDIR}/jack)
@@ -636,14 +626,11 @@ IF(WIN32)
SET(WITH_JACK OFF)
ENDIF(WITH_JACK)
IF(WITH_PYTHON)
SET(PYTHON ${LIBDIR}/python)
SET(PYTHON_VERSION 3.1)
SET(PYTHON_INC "${PYTHON}/include/python${PYTHON_VERSION}")
# SET(PYTHON_BINARY python) # not used yet
SET(PYTHON_LIB python31mw)
SET(PYTHON_LIBPATH ${PYTHON}/lib)
ENDIF(WITH_PYTHON)
IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
SET(PLATFORM_CFLAGS " -msse -msse2 ${PLATFORM_CFLAGS}")
ADD_DEFINITIONS(-D__SSE__)
ADD_DEFINITIONS(-D__MMX__)
ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
ENDIF(MSVC)
@@ -735,12 +722,12 @@ IF(APPLE)
SET(FREETYPE_LIBPATH ${FREETYPE}/lib)
SET(FREETYPE_LIBRARY freetype)
IF(WITH_IMAGE_OPENEXR)
IF(WITH_OPENEXR)
SET(OPENEXR ${LIBDIR}/openexr)
SET(OPENEXR_INC ${OPENEXR}/include/OpenEXR ${OPENEXR}/include)
SET(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
SET(OPENEXR_LIBPATH ${OPENEXR}/lib)
ENDIF(WITH_IMAGE_OPENEXR)
ENDIF(WITH_OPENEXR)
IF(WITH_LCMS)
SET(LCMS ${LIBDIR}/lcms)
@@ -818,12 +805,18 @@ IF(APPLE)
SET(JPEG_INC "${JPEG}/include")
SET(JPEG_LIBPATH ${JPEG}/lib)
IF(WITH_IMAGE_TIFF)
IF(WITH_TIFF)
SET(TIFF ${LIBDIR}/tiff)
SET(TIFF_INCLUDE_DIR ${TIFF}/include)
SET(TIFF_LIBRARY tiff)
SET(TIFF_LIBPATH ${TIFF}/lib)
ENDIF(WITH_IMAGE_TIFF)
ENDIF(WITH_TIFF)
IF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
SET(PLATFORM_CFLAGS " -msse -msse2 ${PLATFORM_CFLAGS}")
ADD_DEFINITIONS(-D__SSE__)
ADD_DEFINITIONS(-D__MMX__)
ENDIF(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD)
SET(EXETYPE MACOSX_BUNDLE)
@@ -868,30 +861,14 @@ IF(WITH_BUILDINFO)
ENDIF(BUILD_REV_RETURN)
ENDIF(WIN32)
ENDIF(WITH_BUILDINFO)
#-----------------------------------------------------------------------------
# Common.
IF(WITH_RAYOPTIMIZATION)
IF(CMAKE_COMPILER_IS_GNUCC)
IF(SUPPORT_SSE_BUILD)
SET(PLATFORM_CFLAGS " -msse ${PLATFORM_CFLAGS}")
ADD_DEFINITIONS(-D__SSE__ -D__MMX__)
ENDIF(SUPPORT_SSE_BUILD)
IF(SUPPORT_SSE2_BUILD)
SET(PLATFORM_CFLAGS " -msse2 ${PLATFORM_CFLAGS}")
ADD_DEFINITIONS(-D__SSE2__)
IF(NOT SUPPORT_SSE_BUILD) # dont double up
ADD_DEFINITIONS(-D__MMX__)
ENDIF(NOT SUPPORT_SSE_BUILD)
ENDIF(SUPPORT_SSE2_BUILD)
ENDIF(CMAKE_COMPILER_IS_GNUCC)
ENDIF(WITH_RAYOPTIMIZATION)
IF(WITH_IMAGE_OPENJPEG)
IF(WITH_OPENJPEG)
set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
set(OPENJPEG_INC ${OPENJPEG})
set(OPENJPEG_LIb extern_openjpeg)
ENDIF(WITH_IMAGE_OPENJPEG)
set(OPENJPEG_LIb extern_libopenjpeg)
ENDIF(WITH_OPENJPEG)
#-----------------------------------------------------------------------------
# Blender WebPlugin
@@ -913,26 +890,6 @@ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
#-----------------------------------------------------------------------------
# Extra compile flags
IF((NOT WIN32) AND (NOT MSVC))
# used for internal debug checks
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
# assert() checks for this.
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -DNDEBUG")
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DNDEBUG")
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG")
SET(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -DNDEBUG")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DNDEBUG")
ENDIF((NOT WIN32) AND (NOT MSVC))
IF(CMAKE_COMPILER_IS_GNUCC)
SET(C_WARNINGS "${C_WARNINGS} -Wunused-parameter -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=return-type")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS} ${C_WARNINGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PLATFORM_CFLAGS} ${CXX_WARNINGS}")
@@ -944,9 +901,9 @@ ENDIF(WITH_CXX_GUARDEDALLOC)
#-----------------------------------------------------------------------------
# Libraries
FILE(WRITE ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt "")
ADD_SUBDIRECTORY(source)
ADD_SUBDIRECTORY(intern)
ADD_SUBDIRECTORY(extern)
ADD_SUBDIRECTORY(source)
#-----------------------------------------------------------------------------

View File

@@ -2,7 +2,7 @@ Blender uses the GNU General Public License, which describes the rights
to distribute or change the code.
Please read this file for the full license.
doc/license/GPL-license.txt
doc/GPL-license.txt
Apart from the GNU GPL, Blender is not available under other licenses.

View File

@@ -45,7 +45,7 @@ MAKEFLAGS=-I$(NANBLENDERHOME)/build_files/make --no-print-directory
SOURCEDIR =
ifeq ($(FREE_WINDOWS),true)
DIRS ?= $(NANBLENDERHOME)/build_files/make/dlltool extern intern source po
DIRS ?= dlltool extern intern source po
else
DIRS ?= extern intern source po
endif

View File

@@ -33,9 +33,9 @@ import platform as pltfrm
# Need a better way to do this. Automagical maybe is not the best thing, maybe it is.
if pltfrm.architecture()[0] == '64bit':
bitness = 64
bitness = 64
else:
bitness = 32
bitness = 32
import sys
import os
@@ -79,15 +79,15 @@ B.binarykind = ['blender' , 'blenderplayer']
# XX cheating for BF_FANCY, we check for BF_FANCY before args are validated
use_color = ARGUMENTS.get('BF_FANCY', '1')
if platform=='win32':
use_color = None
use_color = None
if not use_color=='1':
B.bc.disable()
B.bc.disable()
#on defaut white Os X terminal, some colors are totally unlegible
if platform=='darwin':
B.bc.OKGREEN = '\033[34m'
B.bc.WARNING = '\033[36m'
B.bc.OKGREEN = '\033[34m'
B.bc.WARNING = '\033[36m'
# arguments
print B.bc.HEADER+'Command-line arguments'+B.bc.ENDC
@@ -110,259 +110,264 @@ quickie = B.arguments.get('BF_QUICK', None)
quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
if quickdebug:
B.quickdebug=string.split(quickdebug, ',')
B.quickdebug=string.split(quickdebug, ',')
else:
B.quickdebug=[]
B.quickdebug=[]
if quickie:
B.quickie=string.split(quickie,',')
B.quickie=string.split(quickie,',')
else:
B.quickie=[]
B.quickie=[]
toolset = B.arguments.get('BF_TOOLSET', None)
if toolset:
print "Using " + toolset
if toolset=='mstoolkit':
env = BlenderEnvironment(ENV = os.environ)
env.Tool('mstoolkit', [toolpath])
else:
env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
# xxx commented out, as was supressing warnings under mingw..
#if env:
# btools.SetupSpawn(env)
print "Using " + toolset
if toolset=='mstoolkit':
env = BlenderEnvironment(ENV = os.environ)
env.Tool('mstoolkit', [toolpath])
else:
env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
# xxx commented out, as was supressing warnings under mingw..
#if env:
# btools.SetupSpawn(env)
else:
if bitness==64 and platform=='win32':
env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64')
else:
env = BlenderEnvironment(ENV = os.environ)
if bitness==64 and platform=='win32':
env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64')
else:
env = BlenderEnvironment(ENV = os.environ)
if not env:
print "Could not create a build environment"
Exit()
print "Could not create a build environment"
Exit()
cc = B.arguments.get('CC', None)
cxx = B.arguments.get('CXX', None)
if cc:
env['CC'] = cc
env['CC'] = cc
if cxx:
env['CXX'] = cxx
env['CXX'] = cxx
if env['CC'] in ['cl', 'cl.exe'] and sys.platform=='win32':
if bitness == 64:
platform = 'win64-vc'
else:
platform = 'win32-vc'
if bitness == 64:
platform = 'win64-vc'
else:
platform = 'win32-vc'
elif env['CC'] in ['gcc'] and sys.platform=='win32':
platform = 'win32-mingw'
platform = 'win32-mingw'
env.SConscriptChdir(0)
crossbuild = B.arguments.get('BF_CROSS', None)
if crossbuild and platform not in ('win32-vc', 'win64-vc'):
platform = 'linuxcross'
platform = 'linuxcross'
env['OURPLATFORM'] = platform
configfile = os.path.join("build_files", "scons", "config", platform + "-config.py")
if os.path.exists(configfile):
print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile
print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile
else:
print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC
print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC
if crossbuild and env['PLATFORM'] != 'win32':
print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
env.Tool('crossmingw', [toolpath])
# todo: determine proper libs/includes etc.
# Needed for gui programs, console programs should do without it
print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
env.Tool('crossmingw', [toolpath])
# todo: determine proper libs/includes etc.
# Needed for gui programs, console programs should do without it
# Now we don't need this option to have console window
# env.Append(LINKFLAGS=['-mwindows'])
# Now we don't need this option to have console window
# env.Append(LINKFLAGS=['-mwindows'])
userconfig = B.arguments.get('BF_CONFIG', 'user-config.py')
# first read platform config. B.arguments will override
optfiles = [configfile]
if os.path.exists(userconfig):
print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig
optfiles += [userconfig]
print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig
optfiles += [userconfig]
else:
print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC
print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC
opts = btools.read_opts(env, optfiles, B.arguments)
opts.Update(env)
if not env['BF_FANCY']:
B.bc.disable()
B.bc.disable()
# remove install dir so old and new files are not mixed.
# NOTE: only do the scripts directory for now, otherwise is too disruptive for developers
# TODO: perhaps we need an option (off by default) to not do this altogether...
if not env['WITHOUT_BF_INSTALL'] and not env['WITHOUT_BF_OVERWRITE_INSTALL']:
scriptsDir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts')
if os.path.isdir(scriptsDir):
print B.bc.OKGREEN + "Clearing installation directory%s: %s" % (B.bc.ENDC, os.path.abspath(scriptsDir))
shutil.rmtree(scriptsDir)
scriptsDir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts')
if os.path.isdir(scriptsDir):
print B.bc.OKGREEN + "Clearing installation directory%s: %s" % (B.bc.ENDC, os.path.abspath(scriptsDir))
shutil.rmtree(scriptsDir)
SetOption('num_jobs', int(env['BF_NUMJOBS']))
print B.bc.OKGREEN + "Build with parallel jobs%s: %s" % (B.bc.ENDC, GetOption('num_jobs'))
print B.bc.OKGREEN + "Build with debug symbols%s: %s" % (B.bc.ENDC, env['BF_DEBUG'])
if 'blenderlite' in B.targets:
target_env_defs = {}
target_env_defs['WITH_BF_GAMEENGINE'] = False
target_env_defs['WITH_BF_OPENAL'] = False
target_env_defs['WITH_BF_OPENEXR'] = False
target_env_defs['WITH_BF_OPENMP'] = False
target_env_defs['WITH_BF_ICONV'] = False
target_env_defs['WITH_BF_INTERNATIONAL'] = False
target_env_defs['WITH_BF_OPENJPEG'] = False
target_env_defs['WITH_BF_FFMPEG'] = False
target_env_defs['WITH_BF_QUICKTIME'] = False
target_env_defs['WITH_BF_REDCODE'] = False
target_env_defs['WITH_BF_DDS'] = False
target_env_defs['WITH_BF_CINEON'] = False
target_env_defs['WITH_BF_HDR'] = False
target_env_defs['WITH_BF_ZLIB'] = False
target_env_defs['WITH_BF_SDL'] = False
target_env_defs['WITH_BF_JPEG'] = False
target_env_defs['WITH_BF_PNG'] = False
target_env_defs['WITH_BF_BULLET'] = False
target_env_defs['WITH_BF_BINRELOC'] = False
target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True
target_env_defs['WITH_BF_PYTHON'] = False
# Merge blenderlite, let command line to override
for k,v in target_env_defs.iteritems():
if k not in B.arguments:
env[k] = v
# BLENDERPATH is a unix only option to enable typical style paths this is
# spesifically a data-dir, which is used a lot but cant replace BF_INSTALLDIR
# because the blender binary is installed in $BF_INSTALLDIR/bin/blender
if env['WITH_BF_FHS']:
BLENDERPATH = os.path.join(env['BF_INSTALLDIR'], 'share', 'blender', env['BF_VERSION'])
else:
BLENDERPATH = env['BF_INSTALLDIR']
if env['WITH_BF_OPENMP'] == 1:
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp')
env['CPPFLAGS'].append('/openmp')
env['CXXFLAGS'].append('/openmp')
else:
if env['CC'].endswith('icc'): # to be able to handle CC=/opt/bla/icc case
env.Append(LINKFLAGS=['-openmp', '-static-intel'])
env['CCFLAGS'].append('-openmp')
env['CPPFLAGS'].append('-openmp')
env['CXXFLAGS'].append('-openmp')
else:
env.Append(CCFLAGS=['-fopenmp'])
env.Append(CPPFLAGS=['-fopenmp'])
env.Append(CXXFLAGS=['-fopenmp'])
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp')
env['CPPFLAGS'].append('/openmp')
env['CXXFLAGS'].append('/openmp')
else:
if env['CC'].endswith('icc'): # to be able to handle CC=/opt/bla/icc case
env.Append(LINKFLAGS=['-openmp', '-static-intel'])
env['CCFLAGS'].append('-openmp')
env['CPPFLAGS'].append('-openmp')
env['CXXFLAGS'].append('-openmp')
else:
env.Append(CCFLAGS=['-fopenmp'])
env.Append(CPPFLAGS=['-fopenmp'])
env.Append(CXXFLAGS=['-fopenmp'])
if env['WITH_GHOST_COCOA'] == True:
env.Append(CFLAGS=['-DGHOST_COCOA'])
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
env.Append(CFLAGS=['-DGHOST_COCOA'])
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
if env['USE_QTKIT'] == True:
env.Append(CFLAGS=['-DUSE_QTKIT'])
env.Append(CXXFLAGS=['-DUSE_QTKIT'])
env.Append(CPPFLAGS=['-DUSE_QTKIT'])
env.Append(CFLAGS=['-DUSE_QTKIT'])
env.Append(CXXFLAGS=['-DUSE_QTKIT'])
env.Append(CPPFLAGS=['-DUSE_QTKIT'])
#check for additional debug libnames
if env.has_key('BF_DEBUG_LIBS'):
B.quickdebug += env['BF_DEBUG_LIBS']
B.quickdebug += env['BF_DEBUG_LIBS']
printdebug = B.arguments.get('BF_LISTDEBUG', 0)
if len(B.quickdebug) > 0 and printdebug != 0:
print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
for l in B.quickdebug:
print "\t" + l
print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
for l in B.quickdebug:
print "\t" + l
# remove stdc++ from LLIBS if we are building a statc linked CXXFLAGS
if env['WITH_BF_STATICCXX']:
if 'stdc++' in env['LLIBS']:
env['LLIBS'].remove('stdc++')
else:
print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform'
if 'stdc++' in env['LLIBS']:
env['LLIBS'].remove('stdc++')
else:
print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform'
# check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline
if 'blenderplayer' in B.targets:
env['WITH_BF_PLAYER'] = True
env['WITH_BF_PLAYER'] = True
if 'blendernogame' in B.targets:
env['WITH_BF_GAMEENGINE'] = False
env['WITH_BF_GAMEENGINE'] = False
if 'blenderlite' in B.targets:
target_env_defs = {}
target_env_defs['WITH_BF_GAMEENGINE'] = False
target_env_defs['WITH_BF_OPENAL'] = False
target_env_defs['WITH_BF_OPENEXR'] = False
target_env_defs['WITH_BF_OPENMP'] = False
target_env_defs['WITH_BF_ICONV'] = False
target_env_defs['WITH_BF_INTERNATIONAL'] = False
target_env_defs['WITH_BF_OPENJPEG'] = False
target_env_defs['WITH_BF_FFMPEG'] = False
target_env_defs['WITH_BF_QUICKTIME'] = False
target_env_defs['WITH_BF_REDCODE'] = False
target_env_defs['WITH_BF_DDS'] = False
target_env_defs['WITH_BF_ZLIB'] = False
target_env_defs['WITH_BF_SDL'] = False
target_env_defs['WITH_BF_JPEG'] = False
target_env_defs['WITH_BF_PNG'] = False
target_env_defs['WITH_BF_BULLET'] = False
target_env_defs['WITH_BF_BINRELOC'] = False
target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True
target_env_defs['WITH_BF_PYTHON'] = False
# Merge blenderlite, let command line to override
for k,v in target_env_defs.iteritems():
if k not in B.arguments:
env[k] = v
# disable elbeem (fluidsim) compilation?
if env['BF_NO_ELBEEM'] == 1:
env['CPPFLAGS'].append('-DDISABLE_ELBEEM')
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
env['CPPFLAGS'].append('-DDISABLE_ELBEEM')
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
if env['WITH_BF_SDL'] == False and env['OURPLATFORM'] in ('win32-vc', 'win32-ming', 'win64-vc'):
env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
# lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
B.root_build_dir = env['BF_BUILDDIR']
B.doc_build_dir = os.path.join(env['BF_INSTALLDIR'], 'doc')
B.doc_build_dir = os.path.join(BLENDERPATH, 'doc')
if not B.root_build_dir[-1]==os.sep:
B.root_build_dir += os.sep
B.root_build_dir += os.sep
if not B.doc_build_dir[-1]==os.sep:
B.doc_build_dir += os.sep
B.doc_build_dir += os.sep
# We do a shortcut for clean when no quicklist is given: just delete
# builddir without reading in SConscripts
do_clean = None
if 'clean' in B.targets:
do_clean = True
do_clean = True
if not quickie and do_clean:
if os.path.exists(B.doc_build_dir):
print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC
dirs = os.listdir(B.doc_build_dir)
for entry in dirs:
if os.path.isdir(B.doc_build_dir + entry) == 1:
print "clean dir %s"%(B.doc_build_dir+entry)
shutil.rmtree(B.doc_build_dir+entry)
else: # remove file
print "remove file %s"%(B.doc_build_dir+entry)
os.remove(B.root_build_dir+entry)
if os.path.exists(B.root_build_dir):
print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC
dirs = os.listdir(B.root_build_dir)
for entry in dirs:
if os.path.isdir(B.root_build_dir + entry) == 1:
print "clean dir %s"%(B.root_build_dir+entry)
shutil.rmtree(B.root_build_dir+entry)
else: # remove file
print "remove file %s"%(B.root_build_dir+entry)
os.remove(B.root_build_dir+entry)
for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak',
'extern/xvidcore/build/generic/platform.inc', 'extern/ffmpeg/include']:
if os.path.exists(confile):
print "clean file %s"%confile
if os.path.isdir(confile):
for root, dirs, files in os.walk(confile):
for name in files:
os.remove(os.path.join(root, name))
else:
os.remove(confile)
print B.bc.OKGREEN+'...done'+B.bc.ENDC
else:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
if os.path.exists(B.doc_build_dir):
print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC
dirs = os.listdir(B.doc_build_dir)
for entry in dirs:
if os.path.isdir(B.doc_build_dir + entry) == 1:
print "clean dir %s"%(B.doc_build_dir+entry)
shutil.rmtree(B.doc_build_dir+entry)
else: # remove file
print "remove file %s"%(B.doc_build_dir+entry)
os.remove(B.root_build_dir+entry)
if os.path.exists(B.root_build_dir):
print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC
dirs = os.listdir(B.root_build_dir)
for entry in dirs:
if os.path.isdir(B.root_build_dir + entry) == 1:
print "clean dir %s"%(B.root_build_dir+entry)
shutil.rmtree(B.root_build_dir+entry)
else: # remove file
print "remove file %s"%(B.root_build_dir+entry)
os.remove(B.root_build_dir+entry)
for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak',
'extern/xvidcore/build/generic/platform.inc', 'extern/ffmpeg/include']:
if os.path.exists(confile):
print "clean file %s"%confile
if os.path.isdir(confile):
for root, dirs, files in os.walk(confile):
for name in files:
os.remove(os.path.join(root, name))
else:
os.remove(confile)
print B.bc.OKGREEN+'...done'+B.bc.ENDC
else:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
if not os.path.isdir ( B.root_build_dir):
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
os.makedirs ( B.root_build_dir + 'intern' )
os.makedirs ( B.root_build_dir + 'extern' )
os.makedirs ( B.root_build_dir + 'lib' )
os.makedirs ( B.root_build_dir + 'bin' )
# # Docs not working with epy anymore
# if not os.path.isdir(B.doc_build_dir) and env['WITH_BF_DOCS']:
# os.makedirs ( B.doc_build_dir )
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
os.makedirs ( B.root_build_dir + 'intern' )
os.makedirs ( B.root_build_dir + 'extern' )
os.makedirs ( B.root_build_dir + 'lib' )
os.makedirs ( B.root_build_dir + 'bin' )
if not os.path.isdir(B.doc_build_dir) and env['WITH_BF_DOCS']:
os.makedirs ( B.doc_build_dir )
Help(opts.GenerateHelpText(env))
@@ -370,10 +375,10 @@ Help(opts.GenerateHelpText(env))
# commands, do 'scons BF_QUIET=0'
bf_quietoutput = B.arguments.get('BF_QUIET', '1')
if env['BF_QUIET']:
B.set_quiet_output(env)
B.set_quiet_output(env)
else:
if toolset=='msvc':
B.msvc_hack(env)
if toolset=='msvc':
B.msvc_hack(env)
print B.bc.HEADER+'Building in: ' + B.bc.ENDC + os.path.abspath(B.root_build_dir)
env.SConsignFile(B.root_build_dir+'scons-signatures')
@@ -395,23 +400,23 @@ SConscript(B.root_build_dir+'/source/SConscript')
# libraries to give as objects to linking phase
mainlist = []
for tp in B.possible_types:
if not tp == 'player':
mainlist += B.create_blender_liblist(env, tp)
if not tp == 'player':
mainlist += B.create_blender_liblist(env, tp)
if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
B.propose_priorities()
B.propose_priorities()
dobj = B.buildinfo(env, "dynamic") + B.resources
thestatlibs, thelibincs = B.setup_staticlibs(env)
thesyslibs = B.setup_syslibs(env)
if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
env.BlenderProg(B.root_build_dir, "blender", mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist + thestatlibs, [], thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
env.BlenderProg(B.root_build_dir, "blenderplayer", playerlist, thestatlibs + dobj + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
##### Now define some targets
@@ -421,19 +426,20 @@ if env['WITH_BF_PLAYER']:
#-- binaries
blenderinstall = []
if env['OURPLATFORM']=='darwin':
for prg in B.program_list:
bundle = '%s.app' % prg[0]
bundledir = os.path.dirname(bundle)
for dp, dn, df in os.walk(bundle):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
source=[dp+os.sep+f for f in df]
blenderinstall.append(env.Install(dir=dir,source=source))
for prg in B.program_list:
bundle = '%s.app' % prg[0]
bundledir = os.path.dirname(bundle)
for dp, dn, df in os.walk(bundle):
if '.svn' in dn:
dn.remove('.svn')
dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
source=[dp+os.sep+f for f in df]
blenderinstall.append(env.Install(dir=dir,source=source))
else:
blenderinstall = env.Install(dir=env['BF_INSTALLDIR'], source=B.program_list)
if env['WITH_BF_FHS']: dir= os.path.join(env['BF_INSTALLDIR'], 'bin')
else: dir= env['BF_INSTALLDIR']
blenderinstall = env.Install(dir=dir, source=B.program_list)
#-- local path = config files in install dir: installdir\VERSION
#- dont do config and scripts for darwin, it is already in the bundle
@@ -444,197 +450,188 @@ dottargetlist = []
scriptinstall = []
if env['OURPLATFORM']!='darwin':
for dp, dn, df in os.walk('bin/.blender'):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
for f in df:
if not env['WITH_BF_INTERNATIONAL']:
if 'locale' in dp:
continue
if f == '.Blanguages':
continue
if not env['WITH_BF_FREETYPE']:
if f.endswith('.ttf'):
continue
if 'locale' in dp:
datafileslist.append(os.path.join(dp,f))
dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['datafiles'] + dp.split(os.sep)[1:])) # skip bin
datafilestargetlist.append(dir + os.sep + f)
for dp, dn, df in os.walk('bin/.blender'):
if '.svn' in dn:
dn.remove('.svn')
for f in df:
if not env['WITH_BF_INTERNATIONAL']:
if 'locale' in dp:
continue
if f == '.Blanguages':
continue
if not env['WITH_BF_FREETYPE']:
if f.endswith('.ttf'):
continue
if 'locale' in dp:
datafileslist.append(os.path.join(dp,f))
if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + ['datafiles'] + dp.split(os.sep)[2:])) # skip bin/.blender
else: dir= os.path.join(*([BLENDERPATH] + [VERSION] + ['datafiles'] + dp.split(os.sep)[1:])) # skip bin
datafilestargetlist.append(dir + os.sep + f)
else:
dotblendlist.append(os.path.join(dp, f))
dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['config'] + dp.split(os.sep)[1:])) # skip bin
dottargetlist.append(dir + os.sep + f)
dotblenderinstall = []
for targetdir,srcfile in zip(dottargetlist, dotblendlist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
for targetdir,srcfile in zip(datafilestargetlist, datafileslist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
if env['WITH_BF_PYTHON']:
#-- local/VERSION/scripts
scriptpaths=['release/scripts']
for scriptpath in scriptpaths:
for dp, dn, df in os.walk(scriptpath):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):]
source=[os.path.join(dp, f) for f in df if f[-3:]!='pyc']
# To ensure empty dirs are created too
if len(source)==0:
env.Execute(Mkdir(dir))
scriptinstall.append(env.Install(dir=dir,source=source))
else:
dotblendlist.append(os.path.join(dp, f))
if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + ['config'] + dp.split(os.sep)[2:])) # skip bin/.blender
else: dir= os.path.join(*([BLENDERPATH] + [VERSION] + ['config'] + dp.split(os.sep)[1:])) # skip bin
dottargetlist.append(dir + os.sep + f)
dotblenderinstall = []
for targetdir,srcfile in zip(dottargetlist, dotblendlist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
for targetdir,srcfile in zip(datafilestargetlist, datafileslist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
if env['WITH_BF_PYTHON']:
#-- local/VERSION/scripts
scriptpaths=['release/scripts']
for scriptpath in scriptpaths:
for dp, dn, df in os.walk(scriptpath):
if '.svn' in dn:
dn.remove('.svn')
if env['WITH_BF_FHS']: dir = BLENDERPATH
else: dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):]
source=[os.path.join(dp, f) for f in df if f[-3:]!='pyc']
scriptinstall.append(env.Install(dir=dir,source=source))
#-- icons
if env['OURPLATFORM']=='linux2':
iconlist = []
icontargetlist = []
iconlist = []
icontargetlist = []
for tp, tn, tf in os.walk('release/freedesktop/icons'):
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
for f in tf:
iconlist.append(os.path.join(tp, f))
icontargetlist.append( os.path.join(*([env['BF_INSTALLDIR']] + tp.split(os.sep)[2:] + [f])) )
for tp, tn, tf in os.walk('release/freedesktop/icons'):
if '.svn' in tn:
tn.remove('.svn')
for f in tf:
iconlist.append(os.path.join(tp, f))
icontargetlist.append( os.path.join(*([BLENDERPATH] + tp.split(os.sep)[2:] + [f])) )
iconinstall = []
for targetdir,srcfile in zip(icontargetlist, iconlist):
td, tf = os.path.split(targetdir)
iconinstall.append(env.Install(dir=td, source=srcfile))
iconinstall = []
for targetdir,srcfile in zip(icontargetlist, iconlist):
td, tf = os.path.split(targetdir)
iconinstall.append(env.Install(dir=td, source=srcfile))
# dlls for linuxcross
# TODO - add more libs, for now this lets blenderlite run
if env['OURPLATFORM']=='linuxcross':
dir=env['BF_INSTALLDIR']
source = []
dir=env['BF_INSTALLDIR']
source = []
if env['WITH_BF_OPENMP']:
source += ['../lib/windows/pthreads/lib/pthreadGC2.dll']
if env['WITH_BF_OPENMP']:
source += ['../lib/windows/pthreads/lib/pthreadGC2.dll']
scriptinstall.append(env.Install(dir=dir, source=source))
scriptinstall.append(env.Install(dir=dir, source=source))
#-- plugins
pluglist = []
plugtargetlist = []
for tp, tn, tf in os.walk('release/plugins'):
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
df = tp[8:] # remove 'release/'
for f in tf:
pluglist.append(os.path.join(tp, f))
plugtargetlist.append( os.path.join(env['BF_INSTALLDIR'], VERSION, df, f) )
if '.svn' in tn:
tn.remove('.svn')
df = tp[8:] # remove 'release/'
for f in tf:
pluglist.append(os.path.join(tp, f))
plugtargetlist.append( os.path.join(BLENDERPATH, df, f) )
# header files for plugins
pluglist.append('source/blender/blenpluginapi/documentation.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'documentation.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'documentation.h'))
pluglist.append('source/blender/blenpluginapi/externdef.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'externdef.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'externdef.h'))
pluglist.append('source/blender/blenpluginapi/floatpatch.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'floatpatch.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'floatpatch.h'))
pluglist.append('source/blender/blenpluginapi/iff.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'iff.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'iff.h'))
pluglist.append('source/blender/blenpluginapi/plugin.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'plugin.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'plugin.h'))
pluglist.append('source/blender/blenpluginapi/util.h')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'util.h'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'util.h'))
pluglist.append('source/blender/blenpluginapi/plugin.DEF')
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], VERSION, 'plugins', 'include', 'plugin.def'))
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'plugin.def'))
plugininstall = []
for targetdir,srcfile in zip(plugtargetlist, pluglist):
td, tf = os.path.split(targetdir)
plugininstall.append(env.Install(dir=td, source=srcfile))
td, tf = os.path.split(targetdir)
plugininstall.append(env.Install(dir=td, source=srcfile))
textlist = []
texttargetlist = []
for tp, tn, tf in os.walk('release/text'):
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
for f in tf:
textlist.append(tp+os.sep+f)
if '.svn' in tn:
tn.remove('.svn')
for f in tf:
textlist.append(tp+os.sep+f)
textinstall = env.Install(dir=env['BF_INSTALLDIR'], source=textlist)
textinstall = env.Install(dir=BLENDERPATH, source=textlist)
if env['OURPLATFORM']=='darwin':
allinstall = [blenderinstall, plugininstall, textinstall]
allinstall = [blenderinstall, plugininstall, textinstall]
elif env['OURPLATFORM']=='linux2':
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall]
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall]
else:
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
dllsources = []
dllsources = []
if not env['OURPLATFORM'] in ('win32-mingw', 'win64-vc', 'linuxcross'):
# For MinGW and linuxcross static linking will be used
dllsources += ['${LCGDIR}/gettext/lib/gnu_gettext.dll']
if not env['OURPLATFORM'] in ('win32-mingw', 'win64-vc', 'linuxcross'):
# For MinGW and linuxcross static linking will be used
dllsources += ['${LCGDIR}/gettext/lib/gnu_gettext.dll']
#currently win64-vc doesn't appear to have libpng.dll
if env['OURPLATFORM'] != 'win64-vc':
dllsources += ['${BF_PNG_LIBPATH}/libpng.dll']
#currently win64-vc doesn't appear to have libpng.dll
if env['OURPLATFORM'] != 'win64-vc':
dllsources += ['${BF_PNG_LIBPATH}/libpng.dll']
dllsources += ['${BF_ZLIB_LIBPATH}/zlib.dll']
# Used when linking to libtiff was dynamic
# keep it here until compilation on all platform would be ok
# dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
dllsources += ['${BF_ZLIB_LIBPATH}/zlib.dll']
# Used when linking to libtiff was dynamic
# keep it here until compilation on all platform would be ok
# dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
if env['OURPLATFORM'] != 'linuxcross':
# pthreads library is already added
dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
if env['OURPLATFORM'] != 'linuxcross':
# pthreads library is already added
dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
if env['WITH_BF_SDL']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically already to SDL on win64
else:
dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
if env['WITH_BF_SDL']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically already to SDL on win64
else:
dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically to iconv on win64
elif not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
#gettext for MinGW and cross-compilation is compiled staticly
dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically to iconv on win64
elif not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
#gettext for MinGW and cross-compilation is compiled staticly
dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
if env['WITH_BF_FFMPEG']:
dllsources += ['${BF_FFMPEG_LIBPATH}/avcodec-52.dll',
'${BF_FFMPEG_LIBPATH}/avformat-52.dll',
'${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
'${BF_FFMPEG_LIBPATH}/avutil-50.dll',
'${BF_FFMPEG_LIBPATH}/swscale-0.dll']
windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
allinstall += windlls
if env['WITH_BF_FFMPEG']:
dllsources += ['${BF_FFMPEG_LIBPATH}/avcodec-52.dll',
'${BF_FFMPEG_LIBPATH}/avformat-52.dll',
'${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
'${BF_FFMPEG_LIBPATH}/avutil-50.dll',
'${BF_FFMPEG_LIBPATH}/swscale-0.dll']
windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
allinstall += windlls
installtarget = env.Alias('install', allinstall)
bininstalltarget = env.Alias('install-bin', blenderinstall)
@@ -644,24 +641,38 @@ nsiscmd = env.Command('nsisinstaller', None, nsisaction)
nsisalias = env.Alias('nsis', nsiscmd)
if 'blender' in B.targets:
blenderexe= env.Alias('blender', B.program_list)
Depends(blenderexe,installtarget)
blenderexe= env.Alias('blender', B.program_list)
Depends(blenderexe,installtarget)
if env['WITH_BF_PLAYER']:
blenderplayer = env.Alias('blenderplayer', B.program_list)
Depends(blenderplayer,installtarget)
blenderplayer = env.Alias('blenderplayer', B.program_list)
Depends(blenderplayer,installtarget)
if not env['WITH_BF_GAMEENGINE']:
blendernogame = env.Alias('blendernogame', B.program_list)
Depends(blendernogame,installtarget)
blendernogame = env.Alias('blendernogame', B.program_list)
Depends(blendernogame,installtarget)
if 'blenderlite' in B.targets:
blenderlite = env.Alias('blenderlite', B.program_list)
Depends(blenderlite,installtarget)
blenderlite = env.Alias('blenderlite', B.program_list)
Depends(blenderlite,installtarget)
Depends(nsiscmd, allinstall)
Default(B.program_list)
if not env['WITHOUT_BF_INSTALL']:
Default(installtarget)
Default(installtarget)
#------------ EPYDOC
if env['WITH_BF_DOCS']:
try:
import epydoc
except ImportError:
epydoc = None
if epydoc:
SConscript('source/gameengine/PyDoc/SConscript')
else:
print "No epydoc install detected, Python API and Gameengine API Docs will not be generated "

View File

@@ -1,118 +0,0 @@
#! /usr/bin/env python
# ##### BEGIN GPL 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.
#
# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
def print_help(targets):
print("CMake quicky wrapper, no valid targets given.")
print(" * targets can contain a subset of the full target name.")
print(" * arguments with a '-' prefix are passed onto make.")
print(" * this must run from the cmake build dir")
print(" * alias this with a short command for speedy access, in bash:")
print(" alias mk='../blender/build_files/cmake/example_scripts/make_quicky.py'")
print("")
print(" eg: make_quicky.py -j3 extern python")
print(" ...will execute")
print(" make -j3 extern_binreloc extern_glew bf_python bf_python_ext blender/fast")
print("")
print("Target List:")
for t in targets:
print(" %s" % t)
print("...exiting")
def main():
targets = set()
# collect targets
file = open("Makefile", "r")
for line in file:
line = line.rstrip()
if not line or line[0] in ". \t@$#":
continue
line = line.split("#", 1)[0]
if ":" not in line:
continue
line = line.split(":", 1)[0]
if "/" in line: # cmake terget options, dont need these
continue
targets.add(line)
file.close()
# remove cmake targets
bad = set([
"help",
"clean",
"all",
"preinstall",
"install",
"default_target",
"edit_cache",
"cmake_force",
"rebuild_cache",
"depend",
"cmake_check_build_system",
])
targets -= set(bad)
# parse args
targets = list(targets)
targets.sort()
import sys
if len(sys.argv) == 1:
print_help(targets)
return
targets_new = []
args = []
for arg in sys.argv[1:]:
if arg[0] in "/-":
args.append(arg)
else:
found = False
for t in targets:
if arg in t and t not in targets_new:
targets_new.append(t)
found = True
if not found:
print("Error '%s' not found in...")
for t in targets:
print(" %s" % t)
print("...aborting.")
return
# execute
cmd = "make %s %s blender/fast" % (" ".join(args), " ".join(targets_new))
print("cmake building with targets: %s" % " ".join(targets_new))
print("executing: %s" % cmd)
import os
os.system(cmd)
if __name__ == "__main__":
main()

View File

@@ -1,45 +1,30 @@
MACRO(BLENDERLIB_NOLIST
name
sources
includes)
IF(MSVC)
# only MSVC uses SOURCE_GROUP
MACRO(BLENDERLIB_NOLIST
name
sources
includes)
# Gather all headers
FILE(GLOB_RECURSE INC_ALL *.h)
INCLUDE_DIRECTORIES(${includes})
ADD_LIBRARY(${name} ${INC_ALL} ${sources})
MESSAGE(STATUS "Configuring library ${name}")
# Group by location on disk
SOURCE_GROUP(Files FILES CMakeLists.txt)
SET(ALL_FILES ${sources} ${INC_ALL})
FOREACH(SRC ${ALL_FILES})
STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
IF(REL_DIR)
SOURCE_GROUP(${REL_DIR} FILES ${SRC})
ELSE(REL_DIR)
SOURCE_GROUP(Files FILES ${SRC})
ENDIF(REL_DIR)
ENDFOREACH(SRC)
# Gather all headers
FILE(GLOB_RECURSE INC_ALL *.h)
INCLUDE_DIRECTORIES(${includes})
ADD_LIBRARY(${name} ${INC_ALL} ${sources})
# Group by location on disk
SOURCE_GROUP(Files FILES CMakeLists.txt)
SET(ALL_FILES ${sources} ${INC_ALL})
FOREACH(SRC ${ALL_FILES})
STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
IF(REL_DIR)
SOURCE_GROUP(${REL_DIR} FILES ${SRC})
ELSE(REL_DIR)
SOURCE_GROUP(Files FILES ${SRC})
ENDIF(REL_DIR)
ENDFOREACH(SRC)
ENDMACRO(BLENDERLIB_NOLIST)
ELSE(MSVC)
MACRO(BLENDERLIB_NOLIST
name
sources
includes)
MESSAGE(STATUS "Configuring library ${name}")
INCLUDE_DIRECTORIES(${includes})
ADD_LIBRARY(${name} ${sources})
ENDMACRO(BLENDERLIB_NOLIST)
ENDIF(MSVC)
MESSAGE(STATUS "Configuring library ${name}")
ENDMACRO(BLENDERLIB_NOLIST)
MACRO(BLENDERLIB
name
@@ -73,12 +58,12 @@ MACRO(SETUP_LIBDIRS)
IF(WITH_FFMPEG)
LINK_DIRECTORIES(${FFMPEG_LIBPATH})
ENDIF(WITH_FFMPEG)
IF(WITH_IMAGE_OPENEXR)
IF(WITH_OPENEXR)
LINK_DIRECTORIES(${OPENEXR_LIBPATH})
ENDIF(WITH_IMAGE_OPENEXR)
IF(WITH_IMAGE_TIFF)
ENDIF(WITH_OPENEXR)
IF(WITH_TIFF)
LINK_DIRECTORIES(${TIFF_LIBPATH})
ENDIF(WITH_IMAGE_TIFF)
ENDIF(WITH_TIFF)
IF(WITH_LCMS)
LINK_DIRECTORIES(${LCMS_LIBPATH})
ENDIF(WITH_LCMS)
@@ -155,10 +140,10 @@ MACRO(SETUP_LIBLINKS
IF(WITH_QUICKTIME)
TARGET_LINK_LIBRARIES(${target} ${QUICKTIME_LIB})
ENDIF(WITH_QUICKTIME)
IF(WITH_IMAGE_TIFF)
IF(WITH_TIFF)
TARGET_LINK_LIBRARIES(${target} ${TIFF_LIBRARY})
ENDIF(WITH_IMAGE_TIFF)
IF(WITH_IMAGE_OPENEXR)
ENDIF(WITH_TIFF)
IF(WITH_OPENEXR)
IF(WIN32)
FOREACH(loop_var ${OPENEXR_LIB})
TARGET_LINK_LIBRARIES(${target} debug ${loop_var}_d)
@@ -167,7 +152,7 @@ MACRO(SETUP_LIBLINKS
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${OPENEXR_LIB})
ENDIF(WIN32)
ENDIF(WITH_IMAGE_OPENEXR)
ENDIF(WITH_OPENEXR)
IF(WITH_LCMS)
TARGET_LINK_LIBRARIES(${target} ${LCMS_LIBRARY})
ENDIF(WITH_LCMS)
@@ -187,93 +172,32 @@ MACRO(SETUP_LIBLINKS
TARGET_LINK_LIBRARIES(${target} optimized ${EXPAT_LIB})
ENDIF(EXPAT_LIB)
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
TARGET_LINK_LIBRARIES(${target} ${PCRE_LIB})
TARGET_LINK_LIBRARIES(${target} ${EXPAT_LIB})
ENDIF(WIN32)
ENDIF(WITH_OPENCOLLADA)
IF(WITH_LCMS)
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} debug ${LCMS_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${LCMS_LIB})
ENDIF(WIN32)
ENDIF(WITH_LCMS)
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
ENDIF(WIN32)
ENDMACRO(SETUP_LIBLINKS)
MACRO(TEST_SSE_SUPPORT)
INCLUDE(CheckCSourceRuns)
INCLUDE(CheckCXXSourceCompiles)
MESSAGE(STATUS "Detecting SSE support")
IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_REQUIRED_FLAGS "-msse -msse2")
ELSEIF(MSVC)
SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ?
SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2")
ENDIF()
CHECK_C_SOURCE_RUNS("
CHECK_CXX_SOURCE_COMPILES("
#include <xmmintrin.h>
int main() { __m128 v = _mm_setzero_ps(); return 0; }"
SUPPORT_SSE_BUILD)
CHECK_C_SOURCE_RUNS("
#include <emmintrin.h>
int main() { __m128d v = _mm_setzero_pd(); return 0; }"
SUPPORT_SSE2_BUILD)
MESSAGE(STATUS "Detecting SSE support")
IF(SUPPORT_SSE_BUILD)
MESSAGE(STATUS " ...SSE support found.")
ELSE(SUPPORT_SSE_BUILD)
MESSAGE(STATUS " ...SSE support missing.")
ENDIF(SUPPORT_SSE_BUILD)
IF(SUPPORT_SSE2_BUILD)
MESSAGE(STATUS " ...SSE2 support found.")
ELSE(SUPPORT_SSE2_BUILD)
MESSAGE(STATUS " ...SSE2 support missing.")
ENDIF(SUPPORT_SSE2_BUILD)
ENDMACRO(TEST_SSE_SUPPORT)
# when we have warnings as errors applied globally this
# needs to be removed for some external libs which we dont maintain.
# utility macro
MACRO(_REMOVE_STRICT_FLAGS
flag)
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL})
STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
ENDMACRO(_REMOVE_STRICT_FLAGS)
MACRO(REMOVE_STRICT_FLAGS)
IF(CMAKE_COMPILER_IS_GNUCC)
_REMOVE_STRICT_FLAGS("-Wunused-parameter")
_REMOVE_STRICT_FLAGS("-Werror=[^ ]+")
_REMOVE_STRICT_FLAGS("-Werror")
ENDIF(CMAKE_COMPILER_IS_GNUCC)
IF(MSVC)
# TODO
ENDIF(MSVC)
ENDMACRO(REMOVE_STRICT_FLAGS)
MACRO(GET_BLENDER_VERSION)
FILE(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT)
STRING(REGEX REPLACE "\n" ";" CONTENT "${CONTENT}")

View File

@@ -89,6 +89,7 @@ ifeq ($(OS),darwin)
CCFLAGS += -pipe -fPIC -funsigned-char
endif
CFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
CCFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
@@ -176,9 +177,6 @@ ifeq ($(OS),linux)
REL_CFLAGS += -O2
REL_CCFLAGS += -O2
NAN_DEPEND = true
ifeq ($(WITH_BF_RAYOPTIMIZATION), true)
CCFLAGS += -msse
endif
ifeq ($(CPU),alpha)
CFLAGS += -mieee
endif

View File

@@ -159,17 +159,6 @@ ifndef CONFIG_GUESS
endif
export WITH_TIFF ?= true
#enable raytracing optimization (currently only for i386 and x86_64)
ifeq ($(CPU),powerpc)
export WITH_BF_RAYOPTIMIZATION ?= false
else
export WITH_BF_RAYOPTIMIZATION ?= true
endif
export WITH_LCMS ?= false
export WITH_CINEON ?= true
export WITH_HDR ?= true
# Compare recreated .mo files with committed ones
export BF_VERIFY_MO_FILES ?= true
@@ -633,11 +622,6 @@ ifndef CONFIG_GUESS
# default tiff libs
export NAN_TIFF_LIBS ?= $(NAN_TIFF)/lib/libtiff.a
# default path to lcms, may be overidden in platform sections above or in user-def.mk
export BF_LCMS ?= $(LCGDIR)/lcms
export BF_LCMS_INC ?= $(BF_LCMS)/include
export BF_LCMS_LIBS ?= $(BF_LCMS)/lib/liblcms.a
endif # CONFIG_GUESS
# Don't want to build the gameengine?

View File

@@ -195,8 +195,4 @@ ifeq ($(WITH_TIFF),true)
LLIBS += $(NAN_TIFF_LIBS)
endif
ifeq ($(WITH_LCMS),true)
LLIBS += $(BF_LCMS_LIBS)
endif
LLIBS += $(NAN_PYTHON_LIB)

View File

@@ -1,48 +0,0 @@
# Maintainer: Campbell Barton <ideasman42 at gmail dot com>
# custom blender vars
blender_srcdir=$srcdir/../../../..
blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_ver_string=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_subversion
pkgname=blender-beta
pkgver=$blender_ver_string
pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('i686' 'x86_64')
url="www.blender.org"
license=('GPL')
groups=()
depends=('libjpeg' 'libpng' 'openexr' 'python3>=3.1' 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl' 'libsndfile' 'libsamplerate' 'ffmpeg')
makedepends=('cmake' 'svn')
optdepends=()
provides=('blender')
conflicts=('blender')
replaces=()
backup=()
options=()
install=blender.install
# use current svn to make the package.
# source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
# md5sums=('27edb80c82c25252d43d6a01980d953a') #generate with 'makepkg -g'
source=()
md5sums=()
noextract=()
build() {
mkdir -p $srcdir/build
cd $srcdir/build
cmake $blender_srcdir \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DWITH_PYTHON_INSTALL:BOOL=OFF \
-DWITH_OPENCOLLADA:BOOL=OFF
make
}
package() {
cd $srcdir/build
make DESTDIR="$pkgdir" install
}

View File

@@ -1,29 +0,0 @@
post_install() {
cat << EOF
NOTE
----
Happy blending!
EOF
echo "update desktop mime database..."
update-desktop-database
}
post_upgrade() {
post_install $1
}
pre_remove() {
/bin/true
}
post_remove() {
echo "update desktop mime database..."
update-desktop-database
}
op=$1
shift
$op $*

View File

@@ -190,7 +190,7 @@ BF_PROFILE_FLAGS = ['-pg','-g']
BF_PROFILE = 'false'
BF_DEBUG = 'false'
BF_DEBUG_CCFLAGS = ['-g']
BF_DEBUG_FLAGS = '-g'
BF_BUILDDIR = '../build/aix4'
BF_INSTALLDIR='../install/aix4'

View File

@@ -340,7 +340,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_DEBUG_CCFLAGS = ['-g']
#############################################################################
################### Output directories ##################

View File

@@ -1,213 +0,0 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd7'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd7'
BF_INSTALLDIR='../install/freebsd7'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -1,213 +0,0 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd8'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd8'
BF_INSTALLDIR='../install/freebsd8'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -1,213 +0,0 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd9'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd9'
BF_INSTALLDIR='../install/freebsd9'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -171,9 +171,9 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-no_prelink', '-ptused']
C_WARN = '-no_prelink -ptused'
CC_WARN = ['-no_prelink', '-ptused']
CC_WARN = '-no_prelink -ptused'
##FIX_STUBS_WARNINGS = -Wno-unused
@@ -185,7 +185,7 @@ BF_PROFILE_FLAGS = ['-pg','-g']
BF_PROFILE = 'false'
BF_DEBUG = 'false'
BF_DEBUG_CCFLAGS = ['-g']
BF_DEBUG_FLAGS = '-g'
BF_BUILDDIR = '../build/irix6'
BF_INSTALLDIR='../install/irix6'

View File

@@ -23,11 +23,9 @@ WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr'
WITH_BF_STATICLIBSAMPLERATE = False
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
BF_LIBSAMPLERATE_LIB_STATIC = '${BF_LIBSAMPLERATE}/lib/libsamplerate.a'
WITH_BF_JACK = False
BF_JACK = '/usr'
@@ -36,12 +34,10 @@ BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = False
WITH_BF_STATICSNDFILE = False
BF_SNDFILE = '/usr'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
BF_SNDFILE_LIB_STATIC = '${BF_SNDFILE}/lib/libsndfile.a ${BF_OGG}/lib/libvorbis.a ${BF_OGG}/lib/libFLAC.a ${BF_OGG}/lib/libvorbisenc.a ${BF_OGG}/lib/libogg.a'
WITH_BF_SDL = True
BF_SDL = '/usr' #$(shell sdl-config --prefix)
@@ -88,8 +84,6 @@ BF_GETTEXT = '/usr'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
#WITH_BF_GETTEXT_STATIC = True
#BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'
WITH_BF_GAMEENGINE = True
WITH_BF_PLAYER = False
@@ -103,8 +97,6 @@ BF_BULLET_LIB = 'extern_bullet'
BF_FREETYPE = '/usr'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
#WITH_BF_FREETYPE_STATIC = True
#BF_FREETYPE_LIB_STATIC = '${BF_FREETYPE}/lib/libfreetype.a'
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
@@ -124,8 +116,6 @@ BF_FFMPEG = '/usr'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
#WITH_BF_STATICFFMPEG = True
#BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH/libavcodec.a ${BF_FFMPEG_LIBPATH}/libswscale.a ${BF_FFMPEG_LIBPATH}/libavutil.a ${BF_FFMPEG_LIBPATH}/libavdevice.a'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = False # -DWITH_OGG
@@ -140,12 +130,10 @@ BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
WITH_BF_STATICFFTW3 = False
BF_FFTW3 = '/usr'
BF_FFTW3 = LIBDIR + '/usr'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
BF_FFTW3_LIB_STATIC = '${BF_FFTW3_LIBPATH}/libfftw3.a'
WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
@@ -204,7 +192,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wunused-parameter', '-Werror=declaration-after-statement', '-Werror=implicit-function-declaration', '-Werror=return-type']
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -220,7 +208,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_DEBUG_CCFLAGS = ['-g']
BF_BUILDDIR = '../build/linux2'
BF_INSTALLDIR='../install/linux2'

View File

@@ -185,7 +185,7 @@ CC_WARN = [ '-Wall' ]
LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++', '-luuid', '-lole32'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_DEBUG_CCFLAGS = ['-g']
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']

View File

@@ -147,7 +147,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_DEBUG_CCFLAGS = ['-g']
BF_BUILDDIR='../build/openbsd3'
BF_INSTALLDIR='../install/openbsd3'

View File

@@ -161,7 +161,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-DDEBUG']
BF_DEBUG_CCFLAGS = []
BF_BUILDDIR = '../build/sunos5'
BF_INSTALLDIR='../install/sunos5'

View File

@@ -176,7 +176,7 @@ CC_WARN = [ '-Wall' ]
LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid']
BF_DEBUG = False
BF_DEBUG_CCFLAGS= ['-g', '-DDEBUG']
BF_DEBUG_CCFLAGS= ['-g']
BF_PROFILE_CCFLAGS = ['-pg', '-g']
BF_PROFILE_LINKFLAGS = ['-pg']

View File

@@ -130,7 +130,7 @@ BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
WITH_BF_FFTW3 = False
BF_FFTW3 = LIBDIR + '/fftw3'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'libfftw'
@@ -149,12 +149,6 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
WITH_BF_LCMS = False
BF_LCMS = LIBDIR + '/lcms'
BF_LCMS_INC = '${BF_LCMS}/include'
BF_LCMS_LIB = 'lcms'
BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
@@ -170,7 +164,7 @@ BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a'
CC = 'cl.exe'
CXX = 'cl.exe'
CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267', '/we4013']
CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE']
@@ -194,6 +188,7 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/INCREMENTAL:NO','/N
# BF_PROFILE_LINKFLAGS = ['-pg']
# BF_PROFILE = False
#turn off makebsc by default ( as 64 bit version does ) .. takes ages to build .. for nothing ( well some M$ addicts may disagree )
BF_BSC=False
BF_BUILDDIR = '..\\build\\win32-vc'

View File

@@ -107,6 +107,23 @@ BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_BINRELOC = False
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
#BF_NSPR_LIB =
# Uncomment the following line to use Mozilla inplace of netscape
#CPPFLAGS += -DMOZ_NOT_NET
# Location of MOZILLA/Netscape header files...
#BF_MOZILLA = $(LIBDIR)/mozilla
#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
#BF_MOZILLA_LIB =
# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
# if this is not set.
#
# Be paranoid regarding library creation (do not update archives)
#BF_PARANOID = True
# enable freetype2 support for text objects
BF_WITH_FREETYPE = True
BF_FREETYPE = LIBDIR + '/freetype'
@@ -145,12 +162,6 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
WITH_BF_LCMS = False
BF_LCMS = LIBDIR + '/lcms'
BF_LCMS_INC = '${BF_LCMS}/include'
BF_LCMS_LIB = 'lcms'
BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
@@ -166,13 +177,13 @@ CC = 'cl.exe'
CXX = 'cl.exe'
CFLAGS = []
CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/we4013', '/wd4018', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267']
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -183,6 +194,11 @@ CXX_WARN = []
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
WITH_BF_DOCS=False
BF_DEBUG=False
BF_BSC=False
if BF_DEBUG:
BF_NUMJOBS=1
else:
@@ -193,3 +209,10 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/INCREMENTAL:NO','/NO
BF_BUILDDIR = '..\\build\\blender25-win64-vc'
BF_INSTALLDIR='..\\install\\blender25-win64-vc'
######################### MERGE WITH ABOVE ################################

File diff suppressed because it is too large Load Diff

View File

@@ -15,15 +15,7 @@ import sys
Variables = SCons.Variables
BoolVariable = SCons.Variables.BoolVariable
def get_version():
fname = os.path.join(os.path.dirname(__file__), "..", "..", "..", "source", "blender", "blenkernel", "BKE_blender.h")
for l in open(fname, "r"):
if "BLENDER_VERSION" in l:
ver = int(l.split()[-1])
return "%d.%d" % (ver / 100, ver % 100)
raise Exception("%s: missing version string" % fname)
VERSION = get_version() # This is used in creating the local config directories
VERSION = '2.53' # This is used in creating the local config directories
def print_arguments(args, bc):
if len(args):
@@ -39,29 +31,28 @@ def validate_arguments(args, bc):
'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL',
'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC',
'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH',
'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', 'WITH_BF_STATICLIBSAMPLERATE', 'BF_LIBSAMPLERATE_LIB_STATIC',
'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH',
'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH',
'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', 'WITH_BF_STATICSNDFILE', 'BF_SNDFILE_LIB_STATIC',
'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH',
'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC',
'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR',
'WITH_BF_DDS',
'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC',
'WITH_BF_STATICFFMPEG', 'BF_FFMPEG_LIB_STATIC',
'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB',
'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH',
'WITH_BF_OPENJPEG', 'BF_OPENJPEG', 'BF_OPENJPEG_INC', 'BF_OPENJPEG_LIB', 'BF_OPENJPEG_LIBPATH',
'WITH_BF_REDCODE', 'BF_REDCODE', 'BF_REDCODE_INC', 'BF_REDCODE_LIB', 'BF_REDCODE_LIBPATH',
'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH',
'WITH_BF_TIFF', 'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH', 'WITH_BF_STATICTIFF', 'BF_TIFF_LIB_STATIC',
'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH', 'WITH_BF_STATICZLIB', 'BF_ZLIB_LIB_STATIC',
'WITH_BF_TIFF', 'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH',
'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH',
'WITH_BF_INTERNATIONAL',
'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'WITH_BF_GETTEXT_STATIC', 'BF_GETTEXT_LIB_STATIC', 'BF_GETTEXT_LIBPATH',
'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'BF_GETTEXT_LIBPATH',
'WITH_BF_ICONV', 'BF_ICONV', 'BF_ICONV_INC', 'BF_ICONV_LIB', 'BF_ICONV_LIBPATH',
'WITH_BF_GAMEENGINE', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB',
'BF_WINTAB', 'BF_WINTAB_INC',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'BF_FREETYPE_LIB_STATIC', 'WITH_BF_FREETYPE_STATIC',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH',
'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICFFTW3', 'BF_FFTW3_LIB_STATIC',
'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH',
'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH',
'WITH_BF_PLAYER',
@@ -87,12 +78,12 @@ def validate_arguments(args, bc):
'WITH_BF_DOCS',
'BF_NUMJOBS',
'BF_MSVS',
'WITH_BF_FHS',
'BF_VERSION',
'BF_GHOST_DEBUG',
'WITH_BF_RAYOPTIMIZATION',
'BF_RAYOPTIMIZATION_SSE_FLAGS',
'BF_NO_ELBEEM',
'WITH_BF_CXX_GUARDEDALLOC',
'BF_VCREDIST' # Windows-only, and useful only when creating installer
]
@@ -207,8 +198,6 @@ def read_opts(env, cfg, args):
('BF_LIBSAMPLERATE_INC', 'libsamplerate aka SRC include path', ''),
('BF_LIBSAMPLERATE_LIB', 'libsamplerate aka SRC library', ''),
('BF_LIBSAMPLERATE_LIBPATH', 'libsamplerate aka SRC library path', ''),
('BF_LIBSAMPLERATE_LIB_STATIC', 'Path to libsamplerate static library', ''),
(BoolVariable('WITH_BF_STATICLIBSAMPLERATE', 'Staticly link to libsamplerate', False)),
(BoolVariable('WITH_BF_JACK', 'Enable jack support if true', True)),
('BF_JACK', 'jack base path', ''),
@@ -220,9 +209,7 @@ def read_opts(env, cfg, args):
('BF_SNDFILE', 'sndfile base path', ''),
('BF_SNDFILE_INC', 'sndfile include path', ''),
('BF_SNDFILE_LIB', 'sndfile library', ''),
('BF_SNDFILE_LIB_STATIC', 'Path to sndfile static library', ''),
('BF_SNDFILE_LIBPATH', 'sndfile library path', ''),
(BoolVariable('WITH_BF_STATICSNDFILE', 'Staticly link to sndfile', False)),
('BF_PTHREADS', 'Pthreads base path', ''),
('BF_PTHREADS_INC', 'Pthreads include path', ''),
@@ -237,11 +224,7 @@ def read_opts(env, cfg, args):
('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''),
('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''),
(BoolVariable('WITH_BF_DDS', 'Support DDS image format if true', True)),
(BoolVariable('WITH_BF_CINEON', 'Support CINEON and DPX image formats if true', True)),
(BoolVariable('WITH_BF_HDR', 'Support HDR image formats if true', True)),
(BoolVariable('WITH_BF_DDS', 'Use DDS if true', True)),
(BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)),
('BF_FFMPEG', 'FFMPEG base path', ''),
@@ -250,8 +233,6 @@ def read_opts(env, cfg, args):
('BF_FFMPEG_INC', 'FFMPEG includes', ''),
('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''),
(BoolVariable('WITH_BF_STATICFFMPEG', 'Use static FFMPEG if true', False)),
('BF_FFMPEG_LIB_STATIC', 'Static FFMPEG libraries', ''),
(BoolVariable('WITH_BF_OGG', 'Use OGG, THEORA, VORBIS in FFMPEG if true',
False)),
@@ -283,12 +264,10 @@ def read_opts(env, cfg, args):
('BF_PNG_LIBPATH', 'PNG library path', ''),
(BoolVariable('WITH_BF_TIFF', 'Use TIFF if true', True)),
(BoolVariable('WITH_BF_STATICTIFF', 'Staticly link to TIFF', False)),
('BF_TIFF', 'TIFF base path', ''),
('BF_TIFF_INC', 'TIFF include path', ''),
('BF_TIFF_LIB', 'TIFF library', ''),
('BF_TIFF_LIBPATH', 'TIFF library path', ''),
('BF_TIFF_LIB_STATIC', 'TIFF static library', ''),
(BoolVariable('WITH_BF_LCMS', 'Enable color correction with lcms', False)),
('BF_LCMS', 'LCMS base path', ''),
@@ -297,20 +276,16 @@ def read_opts(env, cfg, args):
('BF_LCMS_LIBPATH', 'LCMS library path', ''),
(BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)),
(BoolVariable('WITH_BF_STATICZLIB', 'Staticly link to ZLib', False)),
('BF_ZLIB', 'ZLib base path', ''),
('BF_ZLIB_INC', 'ZLib include path', ''),
('BF_ZLIB_LIB', 'ZLib library', ''),
('BF_ZLIB_LIBPATH', 'ZLib library path', ''),
('BF_ZLIB_LIB_STATIC', 'ZLib static library', ''),
(BoolVariable('WITH_BF_INTERNATIONAL', 'Use Gettext if true', True)),
('BF_GETTEXT', 'gettext base path', ''),
('BF_GETTEXT_INC', 'gettext include path', ''),
('BF_GETTEXT_LIB', 'gettext library', ''),
(BoolVariable('WITH_BF_GETTEXT_STATIC', 'Use static gettext library if true', False)),
('BF_GETTEXT_LIB_STATIC', 'static gettext library', ''),
('BF_GETTEXT_LIBPATH', 'gettext library path', ''),
(BoolVariable('WITH_BF_ICONV', 'Use iconv if true', True)),
@@ -331,14 +306,29 @@ def read_opts(env, cfg, args):
('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''),
(BoolVariable('WITH_BF_STATICCXX', 'static link to stdc++', False)),
('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''),
##
##WITH_BF_NSPR = True
##BF_NSPR = $(LCGDIR)/nspr
##BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
##BF_NSPR_LIB =
### Uncomment the following line to use Mozilla inplace of netscape
##CPPFLAGS += -DMOZ_NOT_NET
### Location of MOZILLA/Netscape header files...
##BF_MOZILLA = $(LCGDIR)/mozilla
##BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
##BF_MOZILLA_LIB =
### Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
### if this is not set.
##
### Be paranoid regarding library creation (do not update archives)
##BF_PARANOID = True
##
### enable freetype2 support for text objects
(BoolVariable('WITH_BF_FREETYPE', 'Use FreeType2 if true', True)),
('BF_FREETYPE', 'Freetype base path', ''),
('BF_FREETYPE_INC', 'Freetype include path', ''),
('BF_FREETYPE_LIB', 'Freetype library', ''),
('BF_FREETYPE_LIBPATH', 'Freetype library path', ''),
(BoolVariable('WITH_BF_FREETYPE_STATIC', 'Use Static Freetype if true', False)),
('BF_FREETYPE_LIB_STATIC', 'Static Freetype library', ''),
(BoolVariable('WITH_BF_OPENMP', 'Use OpenMP if true', False)),
('BF_OPENMP', 'Base path to OpenMP (used when cross-compiling with older versions of WinGW)', ''),
@@ -357,9 +347,7 @@ def read_opts(env, cfg, args):
('BF_FFTW3', 'FFTW3 base path', ''),
('BF_FFTW3_INC', 'FFTW3 include path', ''),
('BF_FFTW3_LIB', 'FFTW3 library', ''),
('BF_FFTW3_LIB_STATIC', 'FFTW3 static libraries', ''),
('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''),
(BoolVariable('WITH_BF_STATICFFTW3', 'Staticly link to FFTW3', False)),
(BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)),
('BF_OPENGL', 'OpenGL base path', ''),
@@ -387,35 +375,35 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
('CFLAGS', 'C only flags', []),
('CCFLAGS', 'Generic C and C++ flags', []),
('CXXFLAGS', 'C++ only flags', []),
('BGE_CXXFLAGS', 'C++ only flags for BGE', []),
('CPPFLAGS', 'Defines', []),
('REL_CFLAGS', 'C only release flags', []),
('REL_CCFLAGS', 'Generic C and C++ release flags', []),
('REL_CXXFLAGS', 'C++ only release flags', []),
('CFLAGS', 'C only flags', ''),
('CCFLAGS', 'Generic C and C++ flags', ''),
('CXXFLAGS', 'C++ only flags', ''),
('BGE_CXXFLAGS', 'C++ only flags for BGE', ''),
('CPPFLAGS', 'Defines', ''),
('REL_CFLAGS', 'C only release flags', ''),
('REL_CCFLAGS', 'Generic C and C++ release flags', ''),
('REL_CXXFLAGS', 'C++ only release flags', ''),
('C_WARN', 'C warning flags', []),
('CC_WARN', 'Generic C and C++ warning flags', []),
('CXX_WARN', 'C++ only warning flags', []),
('C_WARN', 'C warning flags', ''),
('CC_WARN', 'Generic C and C++ warning flags', ''),
('CXX_WARN', 'C++ only warning flags', ''),
('LLIBS', 'Platform libs', []),
('PLATFORM_LINKFLAGS', 'Platform linkflags', []),
('LLIBS', 'Platform libs', ''),
('PLATFORM_LINKFLAGS', 'Platform linkflags', ''),
('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''),
(BoolVariable('BF_PROFILE', 'Add profiling information if true', False)),
('BF_PROFILE_CFLAGS', 'C only profiling flags', []),
('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', []),
('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', []),
('BF_PROFILE_LINKFLAGS', 'Profile linkflags', []),
('BF_PROFILE_CFLAGS', 'C only profiling flags', ''),
('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', ''),
('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', ''),
('BF_PROFILE_LINKFLAGS', 'Profile linkflags', ''),
(BoolVariable('BF_DEBUG', 'Add debug flags if true', False)),
('BF_DEBUG_CFLAGS', 'C only debug flags', []),
('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', []),
('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', []),
('BF_DEBUG_CFLAGS', 'C only debug flags', ''),
('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''),
('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''),
(BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', False)),
(BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', True)),
('BF_BUILDDIR', 'Build dir', ''),
('BF_INSTALLDIR', 'Installation dir', ''),
@@ -440,12 +428,13 @@ def read_opts(env, cfg, args):
('BF_X264_CONFIG', 'configuration flags for x264', ''),
('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''),
# (BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)),
(BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)),
('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'),
('BF_NUMJOBS', 'Number of build processes to spawn', '1'),
('BF_MSVS', 'Generate MSVS project files and solution', False),
(BoolVariable('WITH_BF_FHS', 'Use the Unix "Filesystem Hierarchy Standard" rather then a redistributable directory layout', False)),
('BF_VERSION', 'The root path for Unix (non-apple)', '2.5'),
(BoolVariable('BF_UNIT_TEST', 'Build with unit test support.', False)),
@@ -454,7 +443,6 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_RAYOPTIMIZATION', 'Enable raytracer SSE/SIMD optimization.', False)),
('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', ''),
(BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False)),
('BF_VCREDIST', 'Full path to vcredist', '')
) # end of opts.AddOptions()

View File

@@ -32,4 +32,4 @@ license@blender.org for further information.
Ton Roosendaal
Chairman Blender Foundation.
June 2005
June 2005

View File

@@ -1390,4 +1390,4 @@ Radoslav Dejanovic
James H. Cloos, Jr.
Karl Erlandsen (LethalSideParting)
Kari Pulli
Dave Shemano
Dave Shemano

View File

@@ -20,7 +20,7 @@ $Id$
with the patch to get started.
This document describes the usage of the new SCons scripts. The
inner workings are described in scons-dev.txt.
inner workings are described in blender-scons-dev.txt.
Building Blender
----------------

View File

@@ -44,7 +44,7 @@ def man_format(data):
return data
blender_bin = os.path.join(os.path.dirname(__file__), "../../blender")
blender_bin = os.path.join(os.path.dirname(__file__), "../blender")
blender_help = subprocess.Popen([blender_bin, "--help"], stdout=subprocess.PIPE).communicate()[0].decode()
@@ -91,25 +91,25 @@ while lines:
l = lines.pop(0)
if l.startswith("Environment Variables:"):
fw('.SH "ENVIRONMENT VARIABLES"\n')
elif l.endswith(":"): # one line
elif l.endswith(":"): # one line
fw('.SS "%s"\n\n' % l)
elif l.startswith("-") or l.startswith("/"): # can be multi line
elif l.startswith("-") or l.startswith("/"): # can be multi line
fw('.TP\n')
fw('.B %s\n' % man_format(l))
while lines:
# line with no
if lines[0].strip() and len(lines[0].lstrip()) == len(lines[0]): # no white space
if lines[0].strip() and len(lines[0].lstrip()) == len(lines[0]): # no white space
break
if not l: # second blank line
if not l: # second blank line
fw('.IP\n')
else:
fw('.br\n')
l = lines.pop(0)
l = l[1:] # remove first whitespace (tab)
l = l[1:] # remove first whitespace (tab)
fw('%s\n' % man_format(l))

View File

@@ -1,170 +0,0 @@
Simple Blender Python Developer's Guide
---------------------------------------
This is an outline for a future guide yet to be written. It is meant for
programmers wanting to understand and maybe help with the embedding of Python
inside Blender.
I - Introduction
We could praise Python here for its many qualities, but it's probably better
to just give some links:
The main site is at www.python.org , with documentation at www.python.org/doc/
Also worth of mention: it's an interpreted language and is available for
many different systems. The download includes the interpreter, many modules
(think libs), good documentation and some programs / examples. If you use
linux, there's a high chance you already have Python installed, just try
"man python".
The reason for embedding a language environment inside Blender is to give
users the ability to access the program's internal data and functionality.
This can be used to import / export (from / to other 2d / 3d formats) or
change the data (to create new objects procedurally, among many other
interesting possibilities). Script writers (Blender Python programmers) can
also expand Blender in new ways, adding new features on-the-fly, without having
to recompile it. It is usually much easier and faster to write scripts in
Python than to code the equivalent in C.
II - Reference material:
There are two important texts for us in the documentation that comes
with Python ( docs also available online at www.python.org ):
- Extending and Embedding (tutorial for C/C++ programmers)
and specially
- Python/C API.
You can read the first one to get a feel for how things are done
(reference counting is probably the most important part), but the second
doc is a must. Specially useful as a fast reference is its Index, at letter
P, where all commands are.
Specially useful commands are Py_BuildValue and the family of parsing
functions, PyArg_Parse* (PyArg_Parse(), PyArg_ParseTuple(),
PyArg_ParseTupleAndKeywords()). Py_BuildValue is usually the best way to make
Python Objects (the 'variables' that the Python Interpreter understands)
out of C ones. The PyArg_Parse* functions do the opposite, they parse
Python Objects to C variables.
So, understand PyArg_Parse* functions, Py_BuildValue and reference
counting. The first doc has a good discussion about them.
- C knowledge is also necessary, of course, use your favorite resource.
- The Blender 2.25 API documentation ( www.blender.org ) is, along with
the source, our basic API ref.
III - Directories
The previous Blender Python API's are spread in blender/intern/python
and the C part of the current one, bpython, is at
blender/source/blender/bpython/, specially in intern/. The current
solution is a Python wrapper on top of this bpython one, at
blender/intern/python/modules/Blender/
Note: since it's in Python, they needed the freeze Python utility, a
process/program that creates stand-alone executables out of Python
source files -- that is, it packs together an interpreter, the needed
modules and the source of a Python program so that users of this program
don't need to have the Python interpreter already installed in their
machines to run the program -- Blender, in this case.
The new implementation is pure C, so we won't need to "freeze" it.
Another important dir for starters is blender/source/blender/makesdna,
where the headers with Blender structs lie.
IV - Experimental Python
The new implementation, currently referred to as experimental python -
exppython - was started by Michel Selten. He chose to solve the mess in
Blender Python by starting over from scratch, in C, but keeping API
compatibility with the current 2.25 API used by Blender.
It is in blender/source/blender/python , more specifically inside
api2_2x/
To make it clear, exppython is the new implementation being worked on. It
will possibly become the de-facto implementation in Blender 2.28, the next
Blender version. Currently, Blender still comes with the same implementation
found in the 2.25 version of the program. So we call that the 2.25
implementation, or bpython.
BPython had plenty of "macro magic", lot's of complicate #define's, etc.,
since a lot of the embedding work is quite repetitive. But that makes it
much harder for newbies to jump in and learn, so the new files in exppython
avoid that.
This means: Blender, Object, Camera, Lamp, Image, Text, Window modules
(the files have the same names, ending obviously with .c and .h)
To speed things up, some independent parts of bpython are being
integrated directly into exppython. That already happened with Draw and
BGL, both taken from opy_draw.c in the bpython/intern dir. The same is
happening with NMesh (Mesh is written in Python and imports NMesh to
extend / change its functionality).
For a good example of dexterity with macros (cheers to the NaN
programmer(s)!), look at BGL.[ch], the OpenGL API wrapper. The defines
are in the header.
Besides keeping compatibility with the 2.25 API, there are already some
additions to exppython:
- some modules have access to more variables than 2.25 had;
- there are more method functions and the access is safer;
- the file selector (or file browser, if you prefer) is back:
It's now in the Window module, along with an image selector, too.
- there are totally new modules, unavailable in 2.25:
Fellow new developers joining our team are contributing new modules
that have been requested by the community for a long time.
V - Coding
The Camera module is a good reference, since it is like most others, in
terms of programming, but is smaller and simple. It's in Camera.c and
Camera.h . To have it working, it was also necessary to include a line to
the end of Blender.c (registering it as a Blender submodule) and another to
modules.h (declaring its init and CreateObject method)
Currently, one of our conventions is to prepend M_ to module functions,
doc strings, etc. and C_ to the new types we had to create for Python,
like C_Camera, C_Lamp, etc.
If you look at Camera.[ch], you'll find code for creating the Camera
module and the Camera "type", with all its methods and access policies.
It's really a new type defined in Python, like PyInt or PyFloat,
PyString, etc. In practice, it's a "thin" (because it doesn't make
copies of the variables) wrapper for the Blender Camera Data Object.
A note about Blender: objects in Blender share a common base, the
Object, whose attributes are things like the matrix, the location, the
rotation, the size, etc. A Camera is actually an Object of type Camera
(which means that its "data" field points to a Camera Data obj) and a
Camera Data object, which is the specific camera part of the object
(attributes like lens, clip start, etc.). Same for other objects, like
Lamp, Mesh, etc.
That's why C_Camera is a wrapper for the Blender Camera **Data**
object. The full wrapper is Object("Camera") linked with
Camera("camera_name").
How to write a new module for a simple object? Use Camera.[ch] as
templates, check the specifics of your object in the makesdna dir
(for example, the camera one is DNA_camera_types.h) and make the
necessary changes.
If you want to help exppython and in the process possibly learn more about
embedding, the Python/C API and Blender internals, there's this mailing list:
Bf-python mailing list
Bf-python@blender.org
http://www.blender.org/mailman/listinfo/bf-python
There you can ask what hasn't been done yet, get help, make suggestions for
new features we should consider, send bug reports, etc.

View File

@@ -1,201 +0,0 @@
{%- block doctype -%}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{%- endblock %}
{%- set script_files = script_files + [pathto("_static/jquery.sidebar.js", 1)] %}
{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
{%- set reldelim2 = reldelim2 is not defined and ' •' or reldelim2 %}
{%- macro relbar() %}
<div class="subnav boxheader">
<ul class="noprint"><li><a href="http://www.blender.org/development/coding-guides/">Coding Guides</a></li><li></li><li><a href="http://www.blender.org/development/report-a-bug/">Report a Bug</a></li><li></li><li><a href="http://www.blender.org/development/submit-a-patch/">Submit a Patch</a></li><li></li><li><a href="http://www.blender.org/development/release-logs/">Release Logs</a></li><li></li><li><a href="http://www.blender.org/development/current-projects/">Current Projects</a></li><li></li><li><a href="http://www.blender.org/development/architecture/">Architecture</a></li><li></li><li><a href="http://www.blender.org/development/building-blender/">Building Blender</a></li><li></li><li class="subnav-active"><a href="http://www.blender.org/documentation/250PythonDoc/contents.html">PyAPI</a></li><li></li><li><a href="http://wiki.blender.org/index.php/Main_Page">Wiki</a></li></ul>
</div>
<div class="related subnav">
<h3>{{ _('Navigation') }}</h3>
<ul>
{%- for rellink in rellinks %}
<li class="right">
<a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}"
{{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
{%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
{%- endfor %}
{%- block rootrellink %}
<li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
{%- endblock %}
{%- for parent in parents %}
<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
{%- endfor %}
{%- block relbaritems %} {% endblock %}
</ul>
</div>
{%- endmacro %}
{%- macro sidebar() %}
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
{%- block sidebarlogo %}
{%- if logo %}
<p class="logo"><a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
</a></p>
{%- endif %}
{%- endblock %}
{%- block sidebartoc %}
{%- if display_toc %}
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
{{ toc }}
{%- endif %}
{%- endblock %}
{%- block sidebarrel %}
{%- if prev %}
<h4>{{ _('Previous topic') }}</h4>
<p class="topless"><a href="{{ prev.link|e }}"
title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
{%- endif %}
{%- if next %}
<h4>{{ _('Next topic') }}</h4>
<p class="topless"><a href="{{ next.link|e }}"
title="{{ _('next chapter') }}">{{ next.title }}</a></p>
{%- endif %}
{%- endblock %}
{%- block sidebarsourcelink %}
{%- if show_source and has_source and sourcename %}
<h3>{{ _('This Page') }}</h3>
<ul class="this-page-menu">
<li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
rel="nofollow">{{ _('Show Source') }}</a></li>
</ul>
{%- endif %}
{%- endblock %}
{%- if customsidebar %}
{% include customsidebar %}
{%- endif %}
{%- block sidebarsearch %}
{%- if pagename != "search" %}
<div id="searchbox" style="display: none">
<h3>{{ _('Quick search') }}</h3>
<form class="search" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="{{ _('Go') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip">
{{ _('Enter search terms or a module, class or function name.') }}
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
{%- endif %}
{%- endblock %}
</div>
</div>
{%- endif %}{% endif %}
{%- endmacro %}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
{{ metatags }}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
<title>{{ title|striptags }}{{ titlesuffix }}</title>
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '{{ pathto("", 1) }}',
VERSION: '{{ release|e }}',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '{{ file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif %}
{%- endif %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
{%- if parents %}
<link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body>
{%- block header %}
<div class="noprint" id="navcontainer"><a href="http://www.blender.org/"><img width="140" height="50" title="blender.org home page" alt="blender.org home page" src="http://www.blender.org/fileadmin/site/_gfx/nav-home.png"></a><a href="http://www.blender.org/features-gallery/"><img width="140" height="50" title="Features &amp; Gallery" alt="Features &amp; Gallery" src="http://www.blender.org/fileadmin/site/_gfx/nav-features.png"></a><a href="http://www.blender.org/download/get-blender/"><img width="140" height="50" title="Download" alt="Download" src="http://www.blender.org/fileadmin/site/_gfx/nav-download.png"></a><a href="http://www.blender.org/education-help/"><img width="140" height="50" title="Tutorials &amp; Help" alt="Tutorials &amp; Help" src="http://www.blender.org/fileadmin/site/_gfx/nav-help.png"></a><a href="http://www.blender.org/community/user-community/"><img width="140" height="50" title="Community" alt="Community" src="http://www.blender.org/fileadmin/site/_gfx/nav-community.png"></a><a href="http://www.blender.org/development/"><img width="140" height="50" title="Development" alt="Development" src="http://www.blender.org/fileadmin/site/_gfx/nav-development-on.png"></a><a href="http://www.blender.org/e-shop/"><img width="140" height="50" title="e-Shop" alt="e-Shop" src="http://www.blender.org/fileadmin/site/_gfx/nav-eshop.png"></a></div>
{% endblock %}
<div class="document">
<div id="pageheader"></div>
{%- block relbar1 %}{{ relbar() }}{% endblock %}
{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
{%- block document %}
<div class="documentwrapper">
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
<div class="bodywrapper">
{%- endif %}{% endif %}
<div class="body">
{% block body %} {% endblock %}
</div>
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
</div>
{%- endif %}{% endif %}
</div>
{%- endblock %}
{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
<div class="clearer"></div>
{%- block footer %}
<div class="footer">
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
{%- if show_sphinx %}
{% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
{%- endif %}
</div><b class="round"><b id="r1"></b><b id="r2"></b><b id="r3"></b><b id="r4"></b></b>
{%- endblock %}
</div>
</body>
</html>

View File

@@ -1,4 +0,0 @@
{% extends "layout.html" %}
{% block body %}
{{ body }}
{% endblock %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -1,654 +0,0 @@
/**
* Sphinx stylesheet -- default theme
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
@import url("basic.css");
/* -- page layout ----------------------------------------------------------- */
#navcontainer {
height: 50px;
margin: 0 auto;
position: relative;
width: 980px;
}
#navcontainer img {
width: 140px;
height: 50px;
}
#pageheader {
background-image:url("bg.png");
height:80px;
position:relative;
}
body {
font-family: {{ theme_bodyfont }};
font-size: 12px;
line-height: 145%;
background-color: {{ theme_footerbgcolor }};
color: {{ theme_textcolor }};
min-width: 980px;
margin: 0;
padding: 0;
}
div.document {
margin:20px auto 0;
position:relative;
text-align:left;
width:980px;
/* background-color: {{ theme_sidebarbgcolor }};*/
}
div.documentwrapper {
float: left;
width: 100%;
background-color: {{ theme_bgcolor }};
border-color: {{ theme_bordercolor }};
border-style:solid;
border-width:0 1px;
margin:0 auto;
min-height:30em;
padding:35px;
/* position:relative;*/
text-align:left;
width:908px;
}
div.bodywrapper {
margin: 0 0 0 230px;
}
div.body {
background-color: {{ theme_bgcolor }};
color: {{ theme_textcolor }};
padding: 0;
width: 640px;
}
{%- if theme_rightsidebar|tobool %}
div.bodywrapper {
margin: 0 230px 0 0;
}
{%- endif %}
div.footer {
background: #292929;
border-left: 1px solid #363636;
border-right: 1px solid #363636;
color: #ffffff;
/* width: 100%;*/
margin: 0 auto;
padding: 20px 20px 15px 35px;
text-align: center;
font-size: 75%;
}
div.footer+.round b {
display: block;
background: #292929;
width: auto;
}
div.footer+.round #r1 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 2px;
margin: 0 1px;
}
div.footer+.round #r2 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 1px;
margin: 0 2px;
}
div.footer+.round #r3 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 1px;
margin: 0 3px;
}
div.footer+.round #r4 {
border-bottom: 1px solid #363636;
height: 0px;
margin: 0 5px;
}
div.footer a {
color: {{ theme_footertextcolor }};
text-decoration: underline;
}
.boxheader {
background-color:#3E4D5E;
}
.subnav {
height:auto !important;
min-height:15px;
padding:9px 0px 9px 37px;
position:relative;
}
div.related {
width:auto;
font-size:100%;
font-weight:400;
background-color: {{ theme_relbarbgcolor }};
line-height: 145%;
color: {{ theme_relbartextcolor }};
}
div.related li {
font-size:0.9em;
}
div.related li.right {
margin: 0;
word-spacing: 3px;
}
div.subnav li {
display:inline;
list-style-type:none;
margin:0;
padding:0 7px 0 0;
}
div.subnav ul {
display:inline;
margin:0;
padding:0;
}
.subnav a {
font-weight: bold;
color: #fff;
}
.subnav li.subnav-active a {
color:#F39410;
}
div.related a {
color: {{ theme_relbarlinkcolor }};
}
div.related a:active {
color: {{ theme_relbaractlinkcolor }};
}
div.sphinxsidebar {
width: 280px;
font-size: 100%;
{%- if theme_stickysidebar|tobool %}
/* top: 30px;*/
margin: 0;
position: absolute;
overflow: auto;
height: 100%;
{%- endif %}
{%- if theme_rightsidebar|tobool %}
float: right;
{%- if theme_stickysidebar|tobool %}
right: 0;
{%- endif %}
{%- endif %}
}
div.sphinxsidebarwrapper {
width: inherit;
padding: 0;
position: absolute;
margin-top: 35px;
font-size: 8pt;
}
div.sphinxsidebarwrapper.fixed {
position:fixed;
top:10px;
margin-top: 0;
}
{%- if theme_stickysidebar|tobool %}
/* this is nice, but it it leads to hidden headings when jumping
to an anchor */
/*
div.related {
position: fixed;
}
div.documentwrapper {
margin-top: 30px;
}
*/
{%- endif %}
div.sphinxsidebar h3 {
font-family: {{ theme_headfont }};
color: {{ theme_sidebartextcolor }};
font-size: 12px;
font-weight: bold;
background: #3E4D5E url("rnd.png") no-repeat top left;
height: 16px;
margin: 0;
padding: 10px 5px 10px 18px;
}
div.sphinxsidebar h3 a {
color: {{ theme_sidebartextcolor }};
}
div.sphinxsidebar h4 {
font-family: {{ theme_headfont }};
color: {{ theme_sidebartextcolor }};
background: #3E4D5E url("rnd.png") no-repeat top left;
height: 16px;
font-size: 12px;
font-weight: bold;
margin: 0;
padding: 10px 5px 10px 18px;
}
div.sphinxsidebar form {
margin: 0;
padding: 10px;
background-color: #292929;
{%- if theme_rightsidebar|tobool %}
border-right: 1px solid {{ theme_bordercolor }};
{%- endif %}
}
div.sphinxsidebar p {
background-color: #292929;
padding: 5px 10px 10px 10px;
color: {{ theme_sidebartextcolor }};
{%- if theme_rightsidebar|tobool %}
border-right: 1px solid {{ theme_bordercolor }};
{%- endif %}
margin-top: 0;
}
div.sphinxsidebar p.topless {
margin-bottom: 25px;
}
div.sphinxsidebar ul {
background-color: #292929;
margin: 0;
padding: 0;
color: {{ theme_sidebartextcolor }};
}
div.sphinxsidebar > div > ul {
margin-bottom: 25px;
padding:10px;
}
div.sphinxsidebar a {
color: {{ theme_sidebarlinkcolor }};
}
div.sphinxsidebar input {
border: 1px solid {{ theme_sidebarlinkcolor }};
font-family: sans-serif;
font-size: 1em;
}
/* -- body styles ----------------------------------------------------------- */
a {
color: {{ theme_linkcolor }};
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/*div.body h1,*/
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
font-family: {{ theme_headfont }};
background-color: {{ theme_headbgcolor }};
font-weight: bold;
color: {{ theme_headtextcolor }};
/* border-bottom: 1px solid #ccc;*/
margin: 20px -20px 10px -20px;
padding: 3px 0 3px 10px;
}
div.body h1 { margin-top: 0; font-size: 200%;
color:#FFFAE0;
font-family:"Helvetica","Arial",sans-serif;
font-size:34px;
font-weight:normal;
left:32px;
line-height:26px;
margin-top:0;
position:absolute;
top:36px;
}
div.body h2 { font-size: 160%; }
div.body h3 { font-size: 140%; }
div.body h4 { font-size: 120%; }
div.body h5 { font-size: 110%; }
div.body h6 { font-size: 100%; }
a.headerlink {
color: {{ theme_headlinkcolor }};
font-size: 0.8em;
padding: 0 4px 0 4px;
text-decoration: none;
}
h1:hover > a.headerlink {
display:none;
}
a.headerlink:hover {
background-color: {{ theme_headlinkcolor }};
color: white;
}
div.body p, div.body dd, div.body li {
text-align: justify;
line-height: 130%;
}
div.note, div.seealso, div.topic, div.warning {
color:white;
}
div.admonition p.admonition-title + p {
display: inline;
}
div.note {
background-color: #555;
border: 1px solid #ddd;
}
div.seealso {
background-color: #525241;
border: 1px solid #ff6;
}
div.topic {
background-color: #eee;
}
div.warning {
background-color: #B64444;
border: 1px solid #990606;
}
p.admonition-title {
display: inline;
}
p.admonition-title:after {
content: ":";
}
dl div.admonition {
border:medium none;
margin:0;
padding:2px 5px 2px 0;
}
dl.class > dd > div.warning p.admonition-title,
dl.class > dd > div.note p.admonition-title {
display:none;
}
dl.class > dd > div.admonition.warning p,
dl.class > dd > div.admonition.note p {
margin:0;
}
dl.class > dd > div.admonition.warning,
dl.class > dd > div.admonition.note {
margin-bottom:12px;
}
dl div.admonition.note p.admonition-title, dl div.admonition.warning p.admonition-title {
color:inherit;
}
dl div.admonition.warning p {
font-weight:bold;
line-height:150%;
}
dl div.admonition.warning p * {
font-weight:normal;
}
dl div.admonition p.admonition-title {
color:#555555;
display:block;
float:left;
margin:0;
padding-right:12px;
text-align:right;
width:90px;
}
dl div.admonition p.admonition-title+p, dl div.admonition p {
display:block;
margin:0 0 0 102px;
}
dl div.note {
background:none;
color:#E8E481;
}
dl div.warning {
background:none;
color:#FC3030;
}
dl div.seealso {
background:none;
}
dl div.admonition.seealso p+p {
color:#222;
}
dl div.seealso a {
margin-left:-1.3ex;
}
div.admonition.warning pre {
background: #0F0704;
color: #fc3030;
}
div.admonition pre {
margin: 6px 0;
overflow: visible;
white-space: pre-wrap;
}
pre {
padding: 10px;
background-color: #000;
color: #fff;
line-height: normal;
border: 0 solid white;
}
dl.function>dt, dl.method>dt {
text-indent:-118px;
padding-left: 118px;
}
dl.function>dt em, dl.method>dt em {
color: #97b9cf;
}
dl.function>dd em, dl.method>dd em {
color: #97b9cf;
font-weight:bold;
}
dl.function table.field-list tr:first-child td.field-body, dl.method table.field-list tr:first-child td.field-body {
color: #728c96;
}
dl.function>dt em:before, dl.method>dt em:before {
content: " ";
display: block;
}
dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
dl[class]>dd>ol,dl[class]>dd>ul {
color: #999;
}
dl.data>dt {
color:#08C659;
}
dl.data>dd>p {
color:#069643;
}
dl.class>dt {
color: #82a3c7;
}
dl.class>dd>p,dl.class>dd>ol,dl.class>dd>ul {
color: #637b96;
}
dl.function>dt,dl.method>dt,dl.attribute>dt {
color: #fcb100;
}
dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
dl.function>dd>p+ol,dl.method>dd>p+ol,dl.attribute>dd>p+ol,
dl.function>dd>p+ul,dl.method>dd>p+ul,dl.attribute>dd>p+ul {
color: #cb8f00;
}
dl.function>dd>p, dl.method>dd>p, dl.attribute>dd>p {
margin: 0 0 3px 102px;
}
dl.function>dd>p:first-child:before, dl.method>dd>p:first-child:before, dl.attribute>dd>p:first-child:before {
content:"Description:";
color:#555;
font-weight:bold;
font-style:normal;
width:90px;
display:inline-block;
margin-left:-102px;
text-align:right;
padding-right:12px;
}
dt:target, .highlight {
color: #444;
background: #333;
}
.highlight {
background: #E2C788;
}
h1 .highlight {
color:inherit;
background:inherit;
}
dl {
margin-bottom: 25px;
}
dd {
margin: 3px 0 10px 15px;
}
.field-body tt.literal {
font-weight: normal;
}
tt {
background-color: #444;
padding: 0 1px 0 1px;
font-size: 0.95em;
}
.warning tt {
background: #cc6262;
}
.note tt {
background: #444;
}
dl .warning tt {
background:#0F0704;
display:block;
}
dl .note tt {
background:#2C2A1B;
}
table.indextable tr.cap {
background-color: transparent;
}
col.field-name {
width:90px;
}
dd table {
margin-bottom: 0;
}
table.field-list th {
color:#555;
padding:0;
text-align:right;
}
table.field-list td.field-body {
color:#999999;
padding-left:12px;
}
table.field-list td.field-body ul.first {
padding-left:0;
list-style:none;
margin-left:0;
}
dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
dl.function>dd>div[class|="highlight"], dl.method>dd>div[class|="highlight"],
dl.attribute>dd>div[class|="highlight"] {
margin-left:102px;
}
dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
dl.class>dd>ol, dl.class>dd>ul {
padding-left:20px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,26 +0,0 @@
$(document).ready(function () {
var top = $('.sphinxsidebarwrapper').offset().top - parseFloat($('.sphinxsidebarwrapper').css ('marginTop').replace(/auto/, 0));
var colheight = parseFloat($('.sphinxsidebarwrapper').css('height').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
// whether that's below the form
if (y >= top) {
//colheight is checked and according to its vaule the scrolling
//is triggered or not
if (colheight <= window.innerHeight) {
// if so, ad the fixed class
$('.sphinxsidebarwrapper').addClass('fixed');
} else {
// otherwise remove it
$('.sphinxsidebarwrapper').removeClass('fixed');
}
} else {
// otherwise remove it
$('.sphinxsidebarwrapper').removeClass('fixed');
}
});
});

View File

@@ -1,61 +0,0 @@
.hll { background-color: #ffffcc }
.c { color: #7f7f7f; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #0088ff; font-weight: bold } /* Keyword */
.o { color: #993399 } /* Operator */
.cm { color: #7f7f7f; font-style: italic } /* Comment.Multiline */
.cp { color: #007020 } /* Comment.Preproc */
.c1 { color: #408090; font-style: italic } /* Comment.Single */
.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #303030 } /* Generic.Output */
.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0040D0 } /* Generic.Traceback */
.kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.kn { color: #FFFF32; font-weight: bold } /* Keyword.Namespace */
.kp { color: #007020 } /* Keyword.Pseudo */
.kr { color: #FFFF32; font-weight: bold } /* Keyword.Reserved */
.kt { color: #902000 } /* Keyword.Type */
.m { color: #00BAFF } /* Literal.Number */
.s { color: #B7C274 } /* Literal.String */
.na { color: #4070a0 } /* Name.Attribute */
.nb { color: #007020 } /* Name.Builtin */
.nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.no { color: #60add5 } /* Name.Constant */
.nd { color: #555555; font-weight: bold } /* Name.Decorator */
.ni { color: #d55537; font-weight: bold } /* Name.Entity */
.ne { color: #007020 } /* Name.Exception */
.nf { color: #06287e } /* Name.Function */
.nl { color: #002070; font-weight: bold } /* Name.Label */
.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.nt { color: #062873; font-weight: bold } /* Name.Tag */
.nv { color: #bb60d5 } /* Name.Variable */
.ow { color: #007020; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #00BAFF } /* Literal.Number.Float */
.mh { color: #00BAFF } /* Literal.Number.Hex */
.mi { color: #00BAFF } /* Literal.Number.Integer */
.mo { color: #00BAFF } /* Literal.Number.Oct */
.sb { color: #B7C274 } /* Literal.String.Backtick */
.sc { color: #B7C274 } /* Literal.String.Char */
.sd { color: #B7C274; font-style: italic } /* Literal.String.Doc */
.s2 { color: #B7C274 } /* Literal.String.Double */
.se { color: #B7C274; font-weight: bold } /* Literal.String.Escape */
.sh { color: #B7C274 } /* Literal.String.Heredoc */
.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.sx { color: #c65d09 } /* Literal.String.Other */
.sr { color: #235388 } /* Literal.String.Regex */
.s1 { color: #4070a0 } /* Literal.String.Single */
.ss { color: #517918 } /* Literal.String.Symbol */
.bp { color: #007020 } /* Name.Builtin.Pseudo */
.vc { color: #bb60d5 } /* Name.Variable.Class */
.vg { color: #bb60d5 } /* Name.Variable.Global */
.vi { color: #bb60d5 } /* Name.Variable.Instance */
.il { color: #00BAFF } /* Literal.Number.Integer.Long */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

View File

@@ -1,30 +0,0 @@
[theme]
inherit = basic
stylesheet = default.css
pygments_style = sphinx
[options]
rightsidebar = true
stickysidebar = true
footerbgcolor = #000000
footertextcolor = #ffffff
sidebarbgcolor = #1c4e63
sidebartextcolor = #ffffff
sidebarlinkcolor = #97b9cf
relbarbgcolor = #2C3845
relbartextcolor = #D3E0E9
relbarlinkcolor = #D3E0E9
relbaractlinkcolor = #f39410
bgcolor = #232323
bordercolor = #363636
textcolor = #ffffff
headbgcolor = #232323
headtextcolor = #ffffff
headlinkcolor = #97b9cf
linkcolor = #97b9cf
codebgcolor = #eeffcc
codetextcolor = #333333
bodyfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif
headfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif

View File

@@ -1,250 +0,0 @@
Game Engine bge.events module
=============================
*****
Intro
*****
This module holds key constants for the SCA_KeyboardSensor.
.. module:: bge.events
.. code-block:: python
# Set a connected keyboard sensor to accept F1
import bge
co = bge.logic.getCurrentController()
# 'Keyboard' is a keyboard sensor
sensor = co.sensors["Keyboard"]
sensor.key = bge.events.F1KEY
.. code-block:: python
# Do the all keys thing
import bge
co = bge.logic.getCurrentController()
# 'Keyboard' is a keyboard sensor
sensor = co.sensors["Keyboard"]
for key,status in sensor.events:
# key[0] == bge.events.keycode, key[1] = status
if status == bge.logic.KX_INPUT_JUST_ACTIVATED:
if key == bge.events.WKEY:
# Activate Forward!
if key == bge.events.SKEY:
# Activate Backward!
if key == bge.events.AKEY:
# Activate Left!
if key == bge.events.DKEY:
# Activate Right!
.. code-block:: python
# The all keys thing without a keyboard sensor (but you will
# need an always sensor with pulse mode on)
import bge
# Just shortening names here
keyboard = bge.logic.keyboard
JUST_ACTIVATED = bge.logic.KX_INPUT_JUST_ACTIVATED
if keyboard.events[bge.events.WKEY] == JUST_ACTIVATED:
print("Activate Forward!")
if keyboard.events[bge.events.SKEY] == JUST_ACTIVATED:
print("Activate Backward!")
if keyboard.events[bge.events.AKEY] == JUST_ACTIVATED:
print("Activate Left!")
if keyboard.events[bge.events.DKEY] == JUST_ACTIVATED:
print("Activate Right!")
*********
Functions
*********
.. function:: EventToString(event)
Return the string name of a key event. Will raise a ValueError error if its invalid.
:arg event: key event from bge.keys or the keyboard sensor.
:type event: int
:rtype: string
.. function:: EventToCharacter(event, shift)
Return the string name of a key event. Returns an empty string if the event cant be represented as a character.
:type event: int
:arg event: key event from :mod:`bge.keys` or the keyboard sensor.
:type shift: bool
:arg shift: set to true if shift is held.
:rtype: string
****************
Keys (Constants)
****************
.. _mouse-keys:
==========
Mouse Keys
==========
.. data:: LEFTMOUSE
.. data:: MIDDLEMOUSE
.. data:: RIGHTMOUSE
.. data:: WHEELUPMOUSE
.. data:: WHEELDOWNMOUSE
.. data:: MOUSEX
.. data:: MOUSEY
.. _keyboard-keys:
=============
Keyboard Keys
=============
-------------
Alphabet keys
-------------
.. data:: AKEY
.. data:: BKEY
.. data:: CKEY
.. data:: DKEY
.. data:: EKEY
.. data:: FKEY
.. data:: GKEY
.. data:: HKEY
.. data:: IKEY
.. data:: JKEY
.. data:: KKEY
.. data:: LKEY
.. data:: MKEY
.. data:: NKEY
.. data:: OKEY
.. data:: PKEY
.. data:: QKEY
.. data:: RKEY
.. data:: SKEY
.. data:: TKEY
.. data:: UKEY
.. data:: VKEY
.. data:: WKEY
.. data:: XKEY
.. data:: YKEY
.. data:: ZKEY
-----------
Number keys
-----------
.. data:: ZEROKEY
.. data:: ONEKEY
.. data:: TWOKEY
.. data:: THREEKEY
.. data:: FOURKEY
.. data:: FIVEKEY
.. data:: SIXKEY
.. data:: SEVENKEY
.. data:: EIGHTKEY
.. data:: NINEKEY
--------------
Modifiers Keys
--------------
.. data:: CAPSLOCKKEY
.. data:: LEFTCTRLKEY
.. data:: LEFTALTKEY
.. data:: RIGHTALTKEY
.. data:: RIGHTCTRLKEY
.. data:: RIGHTSHIFTKEY
.. data:: LEFTSHIFTKEY
----------
Arrow Keys
----------
.. data:: LEFTARROWKEY
.. data:: DOWNARROWKEY
.. data:: RIGHTARROWKEY
.. data:: UPARROWKEY
--------------
Numberpad Keys
--------------
.. data:: PAD0
.. data:: PAD1
.. data:: PAD2
.. data:: PAD3
.. data:: PAD4
.. data:: PAD5
.. data:: PAD6
.. data:: PAD7
.. data:: PAD8
.. data:: PAD9
.. data:: PADPERIOD
.. data:: PADSLASHKEY
.. data:: PADASTERKEY
.. data:: PADMINUS
.. data:: PADENTER
.. data:: PADPLUSKEY
-------------
Function Keys
-------------
.. data:: F1KEY
.. data:: F2KEY
.. data:: F3KEY
.. data:: F4KEY
.. data:: F5KEY
.. data:: F6KEY
.. data:: F7KEY
.. data:: F8KEY
.. data:: F9KEY
.. data:: F10KEY
.. data:: F11KEY
.. data:: F12KEY
.. data:: F13KEY
.. data:: F14KEY
.. data:: F15KEY
.. data:: F16KEY
.. data:: F17KEY
.. data:: F18KEY
.. data:: F19KEY
----------
Other Keys
----------
.. data:: ACCENTGRAVEKEY
.. data:: BACKSLASHKEY
.. data:: BACKSPACEKEY
.. data:: COMMAKEY
.. data:: DELKEY
.. data:: ENDKEY
.. data:: EQUALKEY
.. data:: ESCKEY
.. data:: HOMEKEY
.. data:: INSERTKEY
.. data:: LEFTBRACKETKEY
.. data:: LINEFEEDKEY
.. data:: MINUSKEY
.. data:: PAGEDOWNKEY
.. data:: PAGEUPKEY
.. data:: PAUSEKEY
.. data:: PERIODKEY
.. data:: QUOTEKEY
.. data:: RIGHTBRACKETKEY
.. data:: RETKEY (Deprecated: use bge.events.ENTERKEY)
.. data:: ENTERKEY
.. data:: SEMICOLONKEY
.. data:: SLASHKEY
.. data:: SPACEKEY
.. data:: TABKEY

View File

@@ -1,36 +0,0 @@
#!/bin/sh
# run from the blender source dir
# bash source/blender/python/doc/sphinx_doc_gen.sh
# ssh upload means you need an account on the server
BLENDER="./blender.bin"
SSH_HOST="ideasman42@emo.blender.org"
SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation" # blender_python_api_VERSION, added after
# sed string from hell, 'Blender 2.53 (sub 1) Build' --> '2_53_1'
# "_".join(str(v) for v in bpy.app.version)
# custom blender vars
blender_srcdir=$(dirname $0)/../../
blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion
SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
SPHINXBASE=doc/python_api/
# dont delete existing docs, now partial updates are used for quick builds.
$BLENDER --background --python $SPHINXBASE/sphinx_doc_gen.py
# html
sphinx-build $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
cp $SPHINXBASE/sphinx-out/contents.html $SPHINXBASE/sphinx-out/index.html
ssh ideasman42@emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*'
rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/
# pdf
sphinx-build -b latex $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
cd $SPHINXBASE/sphinx-out
make
cd -
rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf

View File

@@ -24,9 +24,6 @@
#
# ***** END GPL LICENSE BLOCK *****
# Otherwise we get warnings here that we cant fix in external projects
REMOVE_STRICT_FLAGS()
IF(WITH_BULLET)
ADD_SUBDIRECTORY(bullet2)
ENDIF(WITH_BULLET)
@@ -37,9 +34,9 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
ADD_SUBDIRECTORY(glew)
IF(WITH_IMAGE_OPENJPEG)
IF(WITH_OPENJPEG)
ADD_SUBDIRECTORY(libopenjpeg)
ENDIF(WITH_IMAGE_OPENJPEG)
ENDIF(WITH_OPENJPEG)
IF(WITH_LZO)
ADD_SUBDIRECTORY(lzo)

4
extern/SConscript vendored
View File

@@ -17,7 +17,7 @@ if env['OURPLATFORM'] == 'linux2':
SConscript(['binreloc/SConscript']);
if env['WITH_BF_LZO']:
SConscript(['lzo/SConscript'])
SConscript(['lzo/SConscript'])
if env['WITH_BF_LZMA']:
SConscript(['lzma/SConscript'])
SConscript(['lzma/SConscript'])

View File

@@ -18,15 +18,9 @@
# All rights reserved.
#
SET(SRC
binreloc.c
)
SET(INC
./include
)
SET(INC ./include )
ADD_DEFINITIONS(-DENABLE_BINRELOC)
FILE(GLOB SRC *.c)
BLENDERLIB(extern_binreloc "${SRC}" "${INC}")
#, libtype=['core','player'], priority = [25,15] )

View File

@@ -24,125 +24,20 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC
.
src
)
SET(INC . src)
SET(SRC
src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp
src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp
src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp
src/BulletCollision/BroadphaseCollision/btDbvt.cpp
src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp
src/BulletCollision/BroadphaseCollision/btDispatcher.cpp
src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp
src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp
src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp
src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp
src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp
src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp
src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp
src/BulletCollision/CollisionDispatch/btCollisionObject.cpp
src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp
src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp
src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btGhostObject.cpp
src/BulletCollision/CollisionDispatch/btManifoldResult.cpp
src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp
src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
src/BulletCollision/CollisionDispatch/btUnionFind.cpp
src/BulletCollision/CollisionShapes/btBoxShape.cpp
src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp
src/BulletCollision/CollisionShapes/btCapsuleShape.cpp
src/BulletCollision/CollisionShapes/btCollisionShape.cpp
src/BulletCollision/CollisionShapes/btCompoundShape.cpp
src/BulletCollision/CollisionShapes/btConcaveShape.cpp
src/BulletCollision/CollisionShapes/btConeShape.cpp
src/BulletCollision/CollisionShapes/btConvexHullShape.cpp
src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp
src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp
src/BulletCollision/CollisionShapes/btConvexShape.cpp
src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp
src/BulletCollision/CollisionShapes/btCylinderShape.cpp
src/BulletCollision/CollisionShapes/btEmptyShape.cpp
src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp
src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp
src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp
src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp
src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp
src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp
src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp
src/BulletCollision/CollisionShapes/btShapeHull.cpp
src/BulletCollision/CollisionShapes/btSphereShape.cpp
src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp
src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp
src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp
src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp
src/BulletCollision/CollisionShapes/btTriangleCallback.cpp
src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp
src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp
src/BulletCollision/CollisionShapes/btTriangleMesh.cpp
src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp
src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp
src/BulletCollision/Gimpact/btContactProcessing.cpp
src/BulletCollision/Gimpact/btGImpactBvh.cpp
src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp
src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp
src/BulletCollision/Gimpact/btGImpactShape.cpp
src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp
src/BulletCollision/Gimpact/btTriangleShapeEx.cpp
src/BulletCollision/Gimpact/gim_box_set.cpp
src/BulletCollision/Gimpact/gim_contact.cpp
src/BulletCollision/Gimpact/gim_memory.cpp
src/BulletCollision/Gimpact/gim_tri_collision.cpp
src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp
src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp
src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp
src/BulletCollision/NarrowPhaseCollision/btGjkEpa.cpp
src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp
src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp
src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp
src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp
src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp
src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp
src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp
src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp
src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp
src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp
src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp
src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp
src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp
src/BulletDynamics/Dynamics/Bullet-C-API.cpp
src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp
src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
src/BulletDynamics/Dynamics/btRigidBody.cpp
src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
src/BulletDynamics/Vehicle/btRaycastVehicle.cpp
src/BulletDynamics/Vehicle/btWheelInfo.cpp
src/BulletSoftBody/btSoftBody.cpp
src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp
src/BulletSoftBody/btSoftBodyHelpers.cpp
src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp
src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp
src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp
src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp
src/LinearMath/btAlignedAllocator.cpp
src/LinearMath/btConvexHull.cpp
src/LinearMath/btGeometryUtil.cpp
src/LinearMath/btQuickprof.cpp
FILE(GLOB SRC
src/LinearMath/*.cpp
src/BulletCollision/BroadphaseCollision/*.cpp
src/BulletCollision/CollisionShapes/*.cpp
src/BulletCollision/NarrowPhaseCollision/*.cpp
src/BulletCollision/Gimpact/*.cpp
src/BulletCollision/CollisionDispatch/*.cpp
src/BulletDynamics/ConstraintSolver/*.cpp
src/BulletDynamics/Vehicle/*.cpp
src/BulletDynamics/Dynamics/*.cpp
src/BulletSoftBody/*.cpp
)
BLENDERLIB(extern_bullet "${SRC}" "${INC}")

File diff suppressed because it is too large Load Diff

1525
extern/bullet2/make/msvc_9_0/Bullet.vcproj vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -24,13 +24,12 @@ btConvexHullShape ::btConvexHullShape (const btScalar* points,int numPoints,int
m_shapeType = CONVEX_HULL_SHAPE_PROXYTYPE;
m_unscaledPoints.resize(numPoints);
unsigned char* pointsAddress = (unsigned char*)points;
unsigned char* pointsBaseAddress = (unsigned char*)points;
for (int i=0;i<numPoints;i++)
{
btScalar* point = (btScalar*)pointsAddress;
m_unscaledPoints[i] = btVector3(point[0], point[1], point[2]);
pointsAddress += stride;
btVector3* point = (btVector3*)(pointsBaseAddress + i*stride);
m_unscaledPoints[i] = point[0];
}
recalcLocalAabb();

View File

@@ -1,4 +1,4 @@
/*
/***************************************************************************************************
**

View File

@@ -24,12 +24,10 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC
./include
)
SET(INC include src)
IF(UNIX)
LIST(APPEND INC ${X11_X11_INCLUDE_PATH})
SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
ENDIF(UNIX)
SET(SRC
@@ -39,3 +37,4 @@ SET(SRC
ADD_DEFINITIONS(-DGLEW_STATIC)
BLENDERLIB(extern_glew "${SRC}" "${INC}")

View File

@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="glew"
ProjectGUID="{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\glew\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\glew\debug"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="FALSE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="2"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\glew\debug\glew.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\glew\debug\"
ObjectFile="..\..\..\..\..\build\msvc_7\extern\glew\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\glew\debug\"
WarningLevel="2"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\debug\glew.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
Description="Copying GLEW files library (debug target) to lib tree."
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_7\extern\glew\include\GL
XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_7\extern\glew\include\GL
ECHO Done
"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\glew"
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\glew"
ConfigurationType="4"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
StringPooling="TRUE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="TRUE"
UsePrecompiledHeader="2"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\glew\glew.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\glew\"
ObjectFile="..\..\..\..\..\build\msvc_7\extern\glew\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\glew\"
WarningLevel="2"
Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\glew.lib"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"
Description="Copying GLEW files library to lib tree."
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_7\extern\glew\include\GL
XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_7\extern\glew\include\GL
ECHO Done
"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\..\src\glew.c">
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath="..\..\include\GL\glew.h">
</File>
<File
RelativePath="..\..\include\GL\glxew.h">
</File>
<File
RelativePath="..\..\include\GL\wglew.h">
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

197
extern/glew/make/msvc_9_0/glew.vcproj vendored Normal file
View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="EXT_glew"
ProjectGUID="{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}"
RootNamespace="glew"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\glew\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\glew\debug"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;GLEW_STATIC"
MinimalRebuild="false"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\glew\debug\glew.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\glew\debug\"
WarningLevel="2"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\glew.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Copying GLEW files library (debug target) to lib tree."
CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_9\extern\glew\include\GL&#x0D;&#x0A;XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_9\extern\glew\include\GL&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\glew"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\glew"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;GLEW_STATIC"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\glew\glew.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\glew\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\glew\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\glew\"
WarningLevel="2"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\glew.lib"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
Description="Copying GLEW files library to lib tree."
CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\glew\include\GL MKDIR ..\..\..\..\..\build\msvc_9\extern\glew\include\GL&#x0D;&#x0A;XCOPY /Y ..\..\include\GL\*.h ..\..\..\..\..\build\msvc_9\extern\glew\include\GL&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\src\glew.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\..\include\GL\glew.h"
>
</File>
<File
RelativePath="..\..\include\GL\glxew.h"
>
</File>
<File
RelativePath="..\..\include\GL\wglew.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -24,29 +24,9 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC
.
)
SET(INC . src)
SET(SRC
bio.c
cio.c
dwt.c
event.c
image.c
j2k.c
j2k_lib.c
jp2.c
jpt.c
mct.c
mqc.c
openjpeg.c
pi.c
raw.c
t1.c
t2.c
tcd.c
tgt.c
)
BLENDERLIB(extern_openjpeg "${SRC}" "${INC}")
FILE(GLOB SRC *.c except t1_generate_luts.c)
ADD_DEFINITIONS(-DWITH_OPENJPEG)
BLENDERLIB(extern_libopenjpeg "${SRC}" "${INC}")
#, libtype=['international','player'], priority=[5, 210])

View File

@@ -11,15 +11,15 @@ flags = []
defs = []
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
flags = []
defs.append('OPJ_STATIC')
flags = []
defs.append('OPJ_STATIC')
else:
flags = ['-Wall', '-O3', '-ffast-math', '-std=c99']
flags = ['-Wall', '-O3', '-ffast-math', '-std=c99']
oj_env = env.Clone()
if not env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
oj_env.Replace(CCFLAGS = '')
oj_env.Replace(BF_DEBUG_FLAGS = '')
oj_env.Replace(CCFLAGS = '')
oj_env.Replace(BF_DEBUG_FLAGS = '')
oj_env.BlenderLib ( libname='extern_openjpeg',
sources=sources, includes=Split(incs),

View File

@@ -29,7 +29,7 @@
/* ==========================================================
Utility functions
==========================================================*/
#if 0
#if !defined(_MSC_VER) && !defined(__MINGW32__)
static char*
i2a(unsigned i, char *a, unsigned r) {
@@ -58,7 +58,7 @@ _itoa(int i, char *a, int r) {
}
#endif /* !WIN32 */
#endif /* unused - campbell */
/* ----------------------------------------------------------------------- */
opj_event_mgr_t* OPJ_CALLCONV opj_set_event_mgr(opj_common_ptr cinfo, opj_event_mgr_t *event_mgr, void *context) {

View File

@@ -24,16 +24,11 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC
.
)
SET(INC . )
SET(SRC
Alloc.c
LzFind.c
LzmaDec.c
LzmaEnc.c
LzmaLib.c
)
FILE(GLOB SRC ./*.c)
BLENDERLIB(extern_lzma "${SRC}" "${INC}")
BLENDERLIB(bf_lzma "${SRC}" "${INC}")
#, libtype='blender', priority = 0 )

View File

@@ -6,4 +6,4 @@ sources = env.Glob('./*.c')
defs = ''
incs = ' . '
env.BlenderLib ('extern_lzma', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
env.BlenderLib ('bf_lzma', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )

385
extern/lzma/make/msvc_9_0/lzma.vcproj vendored Normal file
View File

@@ -0,0 +1,385 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="EXT_lzma"
ProjectGUID="{79D0B232-208C-F208-DA71-79B4AC088602}"
RootNamespace="lzma"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\debug"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="_DEBUG;_LIB;WIN32"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzma\debug\lzma.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzma\debug\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzma\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzma\debug\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\lzma.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzma"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzma"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="NDEBUG;_LIB;WIN32"
StringPooling="true"
ExceptionHandling="0"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzma\lzma.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzma\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzma\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzma\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\lzma.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="_DEBUG;_LIB;WIN32"
ExceptionHandling="0"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug\lzma.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\debug\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\lzma.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="NDEBUG;_LIB;WIN32"
StringPooling="true"
ExceptionHandling="0"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\lzma.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzma\mtdll\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\lzma.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
>
<File
RelativePath="..\..\Alloc.c"
>
</File>
<File
RelativePath="..\..\LzFind.c"
>
</File>
<File
RelativePath="..\..\LzmaDec.c"
>
</File>
<File
RelativePath="..\..\LzmaEnc.c"
>
</File>
<File
RelativePath="..\..\LzmaLib.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
>
<File
RelativePath="..\..\Alloc.h"
>
</File>
<File
RelativePath="..\..\LzFind.h"
>
</File>
<File
RelativePath="..\..\LzHash.h"
>
</File>
<File
RelativePath="..\..\LzmaDec.h"
>
</File>
<File
RelativePath="..\..\LzmaEnc.h"
>
</File>
<File
RelativePath="..\..\LzmaLib.h"
>
</File>
<File
RelativePath="..\..\Types.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -24,12 +24,11 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC
include
)
SET(INC include)
SET(SRC
minilzo/minilzo.c
)
FILE(GLOB SRC minilzo/*.c)
BLENDERLIB(extern_minilzo "${SRC}" "${INC}")
BLENDERLIB(bf_minilzo "${SRC}" "${INC}")
#, libtype='blender', priority = 0 )

View File

@@ -6,4 +6,4 @@ sources = env.Glob('minilzo/*.c')
defs = ''
incs = ' include '
env.BlenderLib ('extern_minilzo', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
env.BlenderLib ('bf_minilzo', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )

353
extern/lzo/make/msvc_9_0/lzo.vcproj vendored Normal file
View File

@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="EXT_lzo"
ProjectGUID="{8BFA4082-773B-D100-BC24-659083BA023F}"
RootNamespace="lzo"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\debug"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="_DEBUG;_LIB;WIN32"
ExceptionHandling="1"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzo\debug\lzo.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzo\debug\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzo\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzo\debug\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\lzo.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzo"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzo"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="NDEBUG;_LIB;WIN32"
StringPooling="true"
ExceptionHandling="0"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzo\lzo.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzo\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzo\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzo\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\lzo.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Debug|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="_DEBUG;_LIB;WIN32"
ExceptionHandling="0"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug\lzo.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\debug\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\lzo.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Release|Win32"
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll"
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll"
ConfigurationType="4"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=""
PreprocessorDefinitions="NDEBUG;_LIB;WIN32"
StringPooling="true"
ExceptionHandling="0"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\lzo.pch"
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\"
ObjectFile="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\"
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\lzo\mtdll\"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="1"
CompileAs="0"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\lzo.lib"
SuppressStartupBanner="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
>
<File
RelativePath="..\..\minilzo\minilzo.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
>
<File
RelativePath="..\..\minilzo\lzoconf.h"
>
</File>
<File
RelativePath="..\..\minilzo\lzodefs.h"
>
</File>
<File
RelativePath="..\..\minilzo\minilzo.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="build_install_all"
ProjectGUID="{9C71A793-C177-4CAB-8EC5-923D500B39F8}"
RootNamespace="build_install_all"
Keyword="ManagedCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\build\msvc_7\extern\debug"
IntermediateDirectory="..\..\..\..\build\msvc_7\extern\debug"
ConfigurationType="10"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\build\msvc_7\extern"
IntermediateDirectory="..\..\..\..\build\msvc_7\extern"
ConfigurationType="10"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
</Configuration>
<Configuration
Name="3D Plugin Release|Win32"
OutputDirectory="..\..\..\..\build\msvc_7\extern\mtdll"
IntermediateDirectory="..\..\..\..\build\msvc_7\extern\mtdll"
ConfigurationType="10"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
</Configuration>
<Configuration
Name="3D Plugin Debug|Win32"
OutputDirectory="..\..\..\..\build\msvc_7\extern\mtdll\debug"
IntermediateDirectory="..\..\..\..\build\msvc_7\extern\mtdll\debug"
ConfigurationType="10"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

245
extern/make/msvc_7_0/extern.sln vendored Normal file
View File

@@ -0,0 +1,245 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build_install_all", "build_install_all.vcproj", "{9C71A793-C177-4CAB-8EC5-923D500B39F8}"
ProjectSection(ProjectDependencies) = postProject
{F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8}
{D696C86B-0B53-4471-A50D-5B983A6FA4AD} = {D696C86B-0B53-4471-A50D-5B983A6FA4AD}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "solid", "..\..\solid\make\msvc_7_0\solid.vcproj", "{D696C86B-0B53-4471-A50D-5B983A6FA4AD}"
ProjectSection(ProjectDependencies) = postProject
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B} = {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}
{0112CAD5-3584-412A-A2E5-1315A00437B4} = {0112CAD5-3584-412A-A2E5-1315A00437B4}
{B83C6BED-11EC-46C8-AFFA-121EEDE94373} = {B83C6BED-11EC-46C8-AFFA-121EEDE94373}
{524264F4-DF21-4B79-847F-E7CA643ECD0B} = {524264F4-DF21-4B79-847F-E7CA643ECD0B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qhull", "..\..\qhull\make\msvc_7_0\qhull.vcproj", "{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex", "..\..\solid\make\msvc_7_0\convex\convex.vcproj", "{524264F4-DF21-4B79-847F-E7CA643ECD0B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "complex", "..\..\solid\make\msvc_7_0\complex\complex.vcproj", "{B83C6BED-11EC-46C8-AFFA-121EEDE94373}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broad", "..\..\solid\make\msvc_7_0\broad\broad.vcproj", "{0112CAD5-3584-412A-A2E5-1315A00437B4}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftgl_static_lib", "..\..\bFTGL\make\msvc_7_0\ftgl_static_lib.vcproj", "{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verse", "..\..\verse\make\msvc_7_0\libverse.vcproj", "{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verse_server", "..\..\verse\make\msvc_7_0\verse.vcproj", "{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}"
ProjectSection(ProjectDependencies) = postProject
{F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bullet2", "..\..\bullet2\make\msvc_7_0\Bullet_vc7.vcproj", "{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew", "..\..\glew\make\msvc_7_0\glew_vc7.vcproj", "{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
3D Plugin Debug = 3D Plugin Debug
3D Plugin Release = 3D Plugin Release
Blender Debug = Blender Debug
Blender Release = Blender Release
BlenderPlayer Debug = BlenderPlayer Debug
BlenderPlayer Release = BlenderPlayer Release
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectDependencies) = postSolution
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Debug.ActiveCfg = Blender Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Debug.Build.0 = Blender Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Release.ActiveCfg = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Release.Build.0 = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Debug.Build.0 = 3D Plugin Debug|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Release.ActiveCfg = 3D Plugin Release|Win32
{9C71A793-C177-4CAB-8EC5-923D500B39F8}.Release.Build.0 = 3D Plugin Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug.ActiveCfg = Blender Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug.Build.0 = Blender Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release.ActiveCfg = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release.Build.0 = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Debug.Build.0 = 3D Plugin Debug|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Release.ActiveCfg = 3D Plugin Release|Win32
{D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Release.Build.0 = 3D Plugin Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug.ActiveCfg = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug.Build.0 = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release.ActiveCfg = Blender Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release.Build.0 = Blender Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release.Build.0 = Blender Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Debug.Build.0 = 3D Plugin Debug|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Release.ActiveCfg = 3D Plugin Release|Win32
{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Release.Build.0 = 3D Plugin Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug.ActiveCfg = Blender Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug.Build.0 = Blender Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release.ActiveCfg = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release.Build.0 = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Debug.Build.0 = 3D Plugin Debug|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Release.ActiveCfg = 3D Plugin Release|Win32
{524264F4-DF21-4B79-847F-E7CA643ECD0B}.Release.Build.0 = 3D Plugin Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug.ActiveCfg = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug.Build.0 = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release.ActiveCfg = Blender Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release.Build.0 = Blender Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Release.Build.0 = Blender Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Debug.Build.0 = 3D Plugin Debug|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Release.ActiveCfg = 3D Plugin Release|Win32
{B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Release.Build.0 = 3D Plugin Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug.ActiveCfg = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug.Build.0 = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release.ActiveCfg = Blender Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release.Build.0 = Blender Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Release.Build.0 = Blender Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Debug.Build.0 = 3D Plugin Debug|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Release.ActiveCfg = 3D Plugin Release|Win32
{0112CAD5-3584-412A-A2E5-1315A00437B4}.Release.Build.0 = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.ActiveCfg = Blender Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.Build.0 = Blender Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.Build.0 = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.ActiveCfg = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.Build.0 = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.ActiveCfg = Blender Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.Build.0 = Blender Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.Build.0 = 3D Plugin Debug|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.ActiveCfg = 3D Plugin Release|Win32
{F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.Build.0 = 3D Plugin Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug.ActiveCfg = Blender Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug.Build.0 = Blender Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release.ActiveCfg = Blender Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release.Build.0 = Blender Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Debug.ActiveCfg = BlenderPlayer Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Release.ActiveCfg = BlenderPlayer Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Debug.ActiveCfg = BlenderPlayer Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Debug.Build.0 = BlenderPlayer Debug|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Release.ActiveCfg = BlenderPlayer Release|Win32
{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Release.Build.0 = BlenderPlayer Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug.ActiveCfg = Blender Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug.Build.0 = Blender Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release.ActiveCfg = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release.Build.0 = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug.ActiveCfg = 3D Plugin Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug.Build.0 = 3D Plugin Debug|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release.ActiveCfg = 3D Plugin Release|Win32
{FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release.Build.0 = 3D Plugin Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Debug.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Debug.Build.0 = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Release.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Release.Build.0 = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug.ActiveCfg = Blender Debug|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug.Build.0 = Blender Debug|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release.Build.0 = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug.Build.0 = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release.Build.0 = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Debug.ActiveCfg = Blender Debug|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Debug.Build.0 = Blender Debug|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Release.ActiveCfg = Blender Release|Win32
{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Release.Build.0 = Blender Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="EXT_build_install_all"
ProjectGUID="{9C71A793-C177-4CAB-8EC5-923D500B39F8}"
RootNamespace="build_install_all"
Keyword="ManagedCProj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Blender Debug|Win32"
OutputDirectory="..\..\..\..\build\msvc_9\extern\debug"
IntermediateDirectory="..\..\..\..\build\msvc_9\extern\debug"
ConfigurationType="10"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
ManagedExtensions="0"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Blender Release|Win32"
OutputDirectory="..\..\..\..\build\msvc_9\extern"
IntermediateDirectory="..\..\..\..\build\msvc_9\extern"
ConfigurationType="10"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
ManagedExtensions="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Release|Win32"
OutputDirectory="..\..\..\..\build\msvc_9\extern\mtdll"
IntermediateDirectory="..\..\..\..\build\msvc_9\extern\mtdll"
ConfigurationType="10"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
ManagedExtensions="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="3D Plugin Debug|Win32"
OutputDirectory="..\..\..\..\build\msvc_9\extern\mtdll\debug"
IntermediateDirectory="..\..\..\..\build\msvc_9\extern\mtdll\debug"
ConfigurationType="10"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
ManagedExtensions="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -29,25 +29,17 @@ ADD_SUBDIRECTORY(string)
ADD_SUBDIRECTORY(ghost)
ADD_SUBDIRECTORY(guardedalloc)
ADD_SUBDIRECTORY(moto)
ADD_SUBDIRECTORY(container)
ADD_SUBDIRECTORY(memutil)
ADD_SUBDIRECTORY(decimation)
ADD_SUBDIRECTORY(iksolver)
ADD_SUBDIRECTORY(itasc)
ADD_SUBDIRECTORY(boolop)
ADD_SUBDIRECTORY(opennl)
ADD_SUBDIRECTORY(smoke)
IF(WITH_MOD_FLUID)
IF(WITH_ELBEEM)
ADD_SUBDIRECTORY(elbeem)
ENDIF(WITH_MOD_FLUID)
ENDIF(WITH_ELBEEM)
IF(WITH_MOD_DECIMATE)
ADD_SUBDIRECTORY(container)
ADD_SUBDIRECTORY(decimation)
ENDIF(WITH_MOD_DECIMATE)
IF(WITH_MOD_BOOLEAN)
ADD_SUBDIRECTORY(boolop)
ADD_SUBDIRECTORY(bsp)
ENDIF(WITH_MOD_BOOLEAN)
IF(WITH_IK_ITASC)
ADD_SUBDIRECTORY(itasc)
ENDIF(WITH_IK_ITASC)
ADD_SUBDIRECTORY(bsp)

View File

@@ -20,168 +20,46 @@
#
# ***** END LGPL LICENSE BLOCK *****
SET(INC
.
intern
FX SRC
${PTHREADS_INC}
${LIBSAMPLERATE_INC}
)
SET(INC . intern FX SRC ${PTHREADS_INC} ${LIBSAMPLERATE_INC})
SET(SRC
FX/AUD_AccumulatorFactory.cpp
FX/AUD_BaseIIRFilterReader.cpp
FX/AUD_ButterworthFactory.cpp
FX/AUD_CallbackIIRFilterReader.cpp
FX/AUD_DelayFactory.cpp
FX/AUD_DelayReader.cpp
FX/AUD_DoubleFactory.cpp
FX/AUD_DoubleReader.cpp
FX/AUD_EffectFactory.cpp
FX/AUD_EffectReader.cpp
FX/AUD_EnvelopeFactory.cpp
FX/AUD_FaderFactory.cpp
FX/AUD_FaderReader.cpp
FX/AUD_HighpassFactory.cpp
FX/AUD_IIRFilterFactory.cpp
FX/AUD_IIRFilterReader.cpp
FX/AUD_LimiterFactory.cpp
FX/AUD_LimiterReader.cpp
FX/AUD_LoopFactory.cpp
FX/AUD_LoopReader.cpp
FX/AUD_LowpassFactory.cpp
FX/AUD_PingPongFactory.cpp
FX/AUD_PitchFactory.cpp
FX/AUD_PitchReader.cpp
FX/AUD_RectifyFactory.cpp
FX/AUD_ReverseFactory.cpp
FX/AUD_ReverseReader.cpp
FX/AUD_SquareFactory.cpp
FX/AUD_SumFactory.cpp
FX/AUD_SuperposeFactory.cpp
FX/AUD_SuperposeReader.cpp
FX/AUD_VolumeFactory.cpp
SRC/AUD_SRCResampleFactory.cpp
SRC/AUD_SRCResampleReader.cpp
intern/AUD_3DMath.h
intern/AUD_Buffer.cpp
intern/AUD_Buffer.h
intern/AUD_BufferReader.cpp
intern/AUD_BufferReader.h
intern/AUD_C-API.cpp
intern/AUD_C-API.h
intern/AUD_ChannelMapperFactory.cpp
intern/AUD_ChannelMapperFactory.h
intern/AUD_ChannelMapperReader.cpp
intern/AUD_ChannelMapperReader.h
intern/AUD_ConverterFactory.cpp
intern/AUD_ConverterFactory.h
intern/AUD_ConverterFunctions.cpp
intern/AUD_ConverterFunctions.h
intern/AUD_ConverterReader.cpp
intern/AUD_ConverterReader.h
intern/AUD_DefaultMixer.cpp
intern/AUD_DefaultMixer.h
intern/AUD_FileFactory.cpp
intern/AUD_FileFactory.h
intern/AUD_I3DDevice.h
intern/AUD_IDevice.h
intern/AUD_IFactory.h
intern/AUD_IReader.h
intern/AUD_LinearResampleFactory.cpp
intern/AUD_LinearResampleFactory.h
intern/AUD_LinearResampleReader.cpp
intern/AUD_LinearResampleReader.h
intern/AUD_Mixer.cpp
intern/AUD_Mixer.h
intern/AUD_MixerFactory.cpp
intern/AUD_MixerFactory.h
intern/AUD_NULLDevice.cpp
intern/AUD_NULLDevice.h
intern/AUD_PyInit.h
intern/AUD_ReadDevice.cpp
intern/AUD_ReadDevice.h
intern/AUD_Reference.h
intern/AUD_ResampleFactory.h
intern/AUD_SequencerFactory.cpp
intern/AUD_SequencerFactory.h
intern/AUD_SequencerReader.cpp
intern/AUD_SequencerReader.h
intern/AUD_SilenceFactory.cpp
intern/AUD_SilenceFactory.h
intern/AUD_SilenceReader.cpp
intern/AUD_SilenceReader.h
intern/AUD_SinusFactory.cpp
intern/AUD_SinusFactory.h
intern/AUD_SinusReader.cpp
intern/AUD_SinusReader.h
intern/AUD_SoftwareDevice.cpp
intern/AUD_SoftwareDevice.h
intern/AUD_Space.h
intern/AUD_StreamBufferFactory.cpp
intern/AUD_StreamBufferFactory.h
)
FILE(GLOB SRC intern/*.cpp intern/*.h FX/*.cpp SRC/*.cpp)
IF(WITH_FFMPEG)
SET(INC ${INC} ffmpeg ${FFMPEG_INC})
FILE(GLOB FFMPEGSRC ffmpeg/*.cpp)
ADD_DEFINITIONS(-DWITH_FFMPEG)
LIST(APPEND INC ffmpeg ${FFMPEG_INC})
SET(FFMPEGSRC
ffmpeg/AUD_FFMPEGFactory.cpp
ffmpeg/AUD_FFMPEGReader.cpp
)
ENDIF(WITH_FFMPEG)
IF(WITH_SDL)
SET(INC ${INC} SDL ${SDL_INCLUDE_DIR})
FILE(GLOB SDLSRC SDL/*.cpp)
ADD_DEFINITIONS(-DWITH_SDL)
LIST(APPEND INC SDL ${SDL_INCLUDE_DIR})
SET(SDLSRC
SDL/AUD_SDLDevice.cpp
)
ENDIF(WITH_SDL)
IF(WITH_OPENAL)
SET(INC ${INC} OpenAL ${OPENAL_INCLUDE_DIR})
FILE(GLOB OPENALSRC OpenAL/*.cpp)
ADD_DEFINITIONS(-DWITH_OPENAL)
LIST(APPEND INC OpenAL ${OPENAL_INCLUDE_DIR})
SET(OPENALSRC
OpenAL/AUD_OpenALDevice.cpp
)
ENDIF(WITH_OPENAL)
IF(WITH_JACK)
SET(INC ${INC} jack ${JACK_INC})
FILE(GLOB JACKSRC jack/*.cpp)
ADD_DEFINITIONS(-DWITH_JACK)
LIST(APPEND INC jack ${JACK_INC})
SET(JACKSRC
jack/AUD_JackDevice.cpp
)
ENDIF(WITH_JACK)
IF(WITH_SNDFILE)
SET(INC ${INC} sndfile ${SNDFILE_INC})
FILE(GLOB SNDFILESRC sndfile/*.cpp)
ADD_DEFINITIONS(-DWITH_SNDFILE)
LIST(APPEND INC sndfile ${SNDFILE_INC})
SET(SNDFILESRC
sndfile/AUD_SndFileFactory.cpp
sndfile/AUD_SndFileReader.cpp
)
ENDIF(WITH_SNDFILE)
#IF(WITH_FFTW3)
# ADD_DEFINITIONS(-DWITH_FFTW3)
# LIST(APPEND INC fftw ${FFTW3_INC})
# SET(FFTW3SRC
# fftw/AUD_BandPassFactory.cpp
# fftw/AUD_BandPassReader.cpp
# )
#ENDIF(WITH_FFTW3)
IF(WITH_FFTW3)
SET(INC ${INC} fftw ${FFTW3_INC})
FILE(GLOB FFTW3SRC fftw/*.cpp)
ADD_DEFINITIONS(-DWITH_FFTW3)
ENDIF(WITH_FFTW3)
IF(WITH_PYTHON)
LIST(APPEND INC Python ${PYTHON_INC})
SET(PYTHONSRC
Python/AUD_PyAPI.cpp
)
ELSE(WITH_PYTHON)
ADD_DEFINITIONS(-DDISABLE_PYTHON)
ENDIF(WITH_PYTHON)
SET(SRC ${SRC} ${FFMPEGSRC} ${SNDFILESRC} ${FFTW3SRC} ${SDLSRC} ${OPENALSRC} ${JACKSRC})
SET(SRC ${SRC} ${FFMPEGSRC} ${SNDFILESRC} ${FFTW3SRC} ${SDLSRC} ${OPENALSRC} ${JACKSRC} ${PYTHONSRC})
BLENDERLIB(bf_intern_audaspace "${SRC}" "${INC}")
BLENDERLIB(bf_audaspace "${SRC}" "${INC}")

View File

@@ -24,37 +24,26 @@
*/
#include "AUD_AccumulatorFactory.h"
#include "AUD_CallbackIIRFilterReader.h"
sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless)
{
float in = reader->x(0);
float lastin = reader->x(-1);
float out = reader->y(-1) + in - lastin;
if(in > lastin)
out += in - lastin;
return out;
}
sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
{
float in = reader->x(0);
float lastin = reader->x(-1);
float out = reader->y(-1);
if(in > lastin)
out += in - lastin;
return out;
}
#include "AUD_AccumulatorReader.h"
AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_IFactory* factory,
bool additive) :
AUD_EffectFactory(factory),
m_additive(additive)
{
}
m_additive(additive) {}
AUD_IReader* AUD_AccumulatorFactory::createReader() const
AUD_AccumulatorFactory::AUD_AccumulatorFactory(bool additive) :
AUD_EffectFactory(0),
m_additive(additive) {}
AUD_IReader* AUD_AccumulatorFactory::createReader()
{
return new AUD_CallbackIIRFilterReader(getReader(), 2, 2,
m_additive ? accumulatorFilterAdditive : accumulatorFilter);
AUD_IReader* reader = getReader();
if(reader != 0)
{
reader = new AUD_AccumulatorReader(reader, m_additive);
AUD_NEW("reader")
}
return reader;
}

View File

@@ -37,11 +37,7 @@ private:
/**
* Whether the accumulator is additive.
*/
const bool m_additive;
// hide copy constructor and operator=
AUD_AccumulatorFactory(const AUD_AccumulatorFactory&);
AUD_AccumulatorFactory& operator=(const AUD_AccumulatorFactory&);
bool m_additive;
public:
/**
@@ -51,7 +47,13 @@ public:
*/
AUD_AccumulatorFactory(AUD_IFactory* factory, bool additive = false);
virtual AUD_IReader* createReader() const;
/**
* Creates a new accumulator factory.
* \param additive Whether the accumulator is additive.
*/
AUD_AccumulatorFactory(bool additive = false);
virtual AUD_IReader* createReader();
};
#endif //AUD_ACCUMULATORFACTORY

View File

@@ -0,0 +1,99 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#include "AUD_AccumulatorReader.h"
#include "AUD_Buffer.h"
#include <cstring>
#define CC specs.channels + channel
AUD_AccumulatorReader::AUD_AccumulatorReader(AUD_IReader* reader,
bool additive) :
AUD_EffectReader(reader),
m_additive(additive)
{
AUD_Specs specs = reader->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
m_sums = new AUD_Buffer(samplesize); AUD_NEW("buffer")
memset(m_sums->getBuffer(), 0, samplesize);
m_prevs = new AUD_Buffer(samplesize); AUD_NEW("buffer")
memset(m_prevs->getBuffer(), 0, samplesize);
}
AUD_AccumulatorReader::~AUD_AccumulatorReader()
{
delete m_buffer; AUD_DELETE("buffer")
delete m_sums; AUD_DELETE("buffer")
delete m_prevs; AUD_DELETE("buffer")
}
void AUD_AccumulatorReader::read(int & length, sample_t* & buffer)
{
sample_t* buf;
sample_t* sums;
sample_t* prevs;
sums = m_sums->getBuffer();
prevs = m_prevs->getBuffer();
AUD_Specs specs = m_reader->getSpecs();
m_reader->read(length, buf);
if(m_buffer->getSize() < length * AUD_SAMPLE_SIZE(specs))
m_buffer->resize(length * AUD_SAMPLE_SIZE(specs));
buffer = m_buffer->getBuffer();
if(m_additive)
{
for(int channel = 0; channel < specs.channels; channel++)
{
for(int i = 0; i < length; i++)
{
if(buf[i * CC] > prevs[channel])
sums[channel] += buf[i * CC] - prevs[channel];
buffer[i * CC] = sums[channel] + buf[i * CC];
prevs[channel] = buf[i * CC];
}
}
}
else
{
for(int channel = 0; channel < specs.channels; channel++)
{
for(int i = 0; i < length * specs.channels; i++)
{
if(buf[i * CC] > prevs[channel])
sums[channel] += buf[i * CC] - prevs[channel];
buffer[i * CC] = sums[channel];
prevs[channel] = buf[i * CC];
}
}
}
}

View File

@@ -23,44 +23,53 @@
* ***** END LGPL LICENSE BLOCK *****
*/
#ifndef AUD_IIRFILTERFACTORY
#define AUD_IIRFILTERFACTORY
#ifndef AUD_ACCUMULATORREADER
#define AUD_ACCUMULATORREADER
#include "AUD_EffectFactory.h"
#include <vector>
#include "AUD_EffectReader.h"
class AUD_Buffer;
/**
* This factory creates a IIR filter reader.
* This class represents an accumulator.
*/
class AUD_IIRFilterFactory : public AUD_EffectFactory
class AUD_AccumulatorReader : public AUD_EffectReader
{
private:
/**
* Output filter coefficients.
* The playback buffer.
*/
std::vector<float> m_a;
AUD_Buffer *m_buffer;
/**
* Input filter coefficients.
* The sums of the specific channels.
*/
std::vector<float> m_b;
AUD_Buffer *m_sums;
// hide copy constructor and operator=
AUD_IIRFilterFactory(const AUD_IIRFilterFactory&);
AUD_IIRFilterFactory& operator=(const AUD_IIRFilterFactory&);
/**
* The previous results of the specific channels.
*/
AUD_Buffer *m_prevs;
/**
* Whether the accumulator is additive.
*/
bool m_additive;
public:
/**
* Creates a new IIR filter factory.
* \param factory The input factory.
* \param b The input filter coefficients.
* \param a The output filter coefficients.
* Creates a new accumulator reader.
* \param reader The reader to read from.
* \param additive Whether the accumulator is additive.
* \exception AUD_Exception Thrown if the reader specified is NULL.
*/
AUD_IIRFilterFactory(AUD_IFactory* factory, std::vector<float> b,
std::vector<float> a);
AUD_AccumulatorReader(AUD_IReader* reader, bool additive);
virtual AUD_IReader* createReader() const;
/**
* Destroys the reader.
*/
virtual ~AUD_AccumulatorReader();
virtual void read(int & length, sample_t* & buffer);
};
#endif //AUD_IIRFILTERFACTORY
#endif //AUD_ACCUMULATORREADER

View File

@@ -1,76 +0,0 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#include "AUD_BaseIIRFilterReader.h"
#include <cstring>
#define CC m_channels + m_channel
AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(AUD_IReader* reader, int in,
int out) :
AUD_EffectReader(reader),
m_channels(reader->getSpecs().channels),
m_xlen(in), m_ylen(out),
m_xpos(0), m_ypos(0), m_channel(0)
{
m_x = new sample_t[in * m_channels];
m_y = new sample_t[out * m_channels];
memset(m_x, 0, sizeof(sample_t) * in * m_channels);
memset(m_y, 0, sizeof(sample_t) * out * m_channels);
}
AUD_BaseIIRFilterReader::~AUD_BaseIIRFilterReader()
{
delete[] m_x;
delete[] m_y;
}
void AUD_BaseIIRFilterReader::read(int & length, sample_t* & buffer)
{
sample_t* buf;
int samplesize = AUD_SAMPLE_SIZE(m_reader->getSpecs());
m_reader->read(length, buf);
if(m_buffer.getSize() < length * samplesize)
m_buffer.resize(length * samplesize);
buffer = m_buffer.getBuffer();
for(m_channel = 0; m_channel < m_channels; m_channel++)
{
for(int i = 0; i < length; i++)
{
m_x[m_xpos * CC] = buf[i * CC];
m_y[m_ypos * CC] = buffer[i * CC] = filter();
m_xpos = (m_xpos + 1) % m_xlen;
m_ypos = (m_ypos + 1) % m_ylen;
}
}
}

View File

@@ -1,114 +0,0 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#ifndef AUD_BASEIIRFILTERREADER
#define AUD_BASEIIRFILTERREADER
#include "AUD_EffectReader.h"
#include "AUD_Buffer.h"
/**
* This class is a base class for infinite impulse response filters.
*/
class AUD_BaseIIRFilterReader : public AUD_EffectReader
{
private:
/**
* Channel count.
*/
const int m_channels;
/**
* Length of input samples needed.
*/
const int m_xlen;
/**
* Length of output samples needed.
*/
const int m_ylen;
/**
* The playback buffer.
*/
AUD_Buffer m_buffer;
/**
* The last in samples array.
*/
sample_t* m_x;
/**
* The last out samples array.
*/
sample_t* m_y;
/**
* Position of the current input sample in the input array.
*/
int m_xpos;
/**
* Position of the current output sample in the output array.
*/
int m_ypos;
/**
* Current channel.
*/
int m_channel;
// hide copy constructor and operator=
AUD_BaseIIRFilterReader(const AUD_BaseIIRFilterReader&);
AUD_BaseIIRFilterReader& operator=(const AUD_BaseIIRFilterReader&);
protected:
/**
* Creates a new base IIR filter reader.
* \param reader The reader to read from.
* \param in The count of past input samples needed.
* \param out The count of past output samples needed.
*/
AUD_BaseIIRFilterReader(AUD_IReader* reader, int in, int out);
public:
inline sample_t x(int pos)
{
return m_x[(m_xpos + pos + m_xlen) % m_xlen * m_channels + m_channel];
}
inline sample_t y(int pos)
{
return m_y[(m_ypos + pos + m_ylen) % m_ylen * m_channels + m_channel];
}
virtual ~AUD_BaseIIRFilterReader();
virtual void read(int & length, sample_t* & buffer);
virtual sample_t filter()=0;
};
#endif //AUD_BASEIIRFILTERREADER

View File

@@ -24,49 +24,26 @@
*/
#include "AUD_ButterworthFactory.h"
#include "AUD_IIRFilterReader.h"
#include <cmath>
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#define BWPB41 0.76536686473
#define BWPB42 1.84775906502
#include "AUD_ButterworthReader.h"
AUD_ButterworthFactory::AUD_ButterworthFactory(AUD_IFactory* factory,
float frequency) :
AUD_EffectFactory(factory),
m_frequency(frequency)
{
}
m_frequency(frequency) {}
AUD_IReader* AUD_ButterworthFactory::createReader() const
AUD_ButterworthFactory::AUD_ButterworthFactory(float frequency) :
AUD_EffectFactory(0),
m_frequency(frequency) {}
AUD_IReader* AUD_ButterworthFactory::createReader()
{
AUD_IReader* reader = getReader();
// calculate coefficients
float omega = 2 * tan(m_frequency * M_PI / reader->getSpecs().rate);
float o2 = omega * omega;
float o4 = o2 * o2;
float x1 = o2 + 2 * BWPB41 * omega + 4;
float x2 = o2 + 2 * BWPB42 * omega + 4;
float y1 = o2 - 2 * BWPB41 * omega + 4;
float y2 = o2 - 2 * BWPB42 * omega + 4;
float o228 = 2 * o2 - 8;
float norm = x1 * x2;
std::vector<float> a, b;
a.push_back(1);
a.push_back((x1 + x2) * o228 / norm);
a.push_back((x1 * y2 + x2 * y1 + o228 * o228) / norm);
a.push_back((y1 + y2) * o228 / norm);
a.push_back(y1 * y2 / norm);
b.push_back(o4 / norm);
b.push_back(4 * o4 / norm);
b.push_back(6 * o4 / norm);
b.push_back(b[1]);
b.push_back(b[0]);
if(reader != 0)
{
reader = new AUD_ButterworthReader(reader, m_frequency);
AUD_NEW("reader")
}
return new AUD_IIRFilterReader(reader, b, a);
return reader;
}

View File

@@ -37,11 +37,7 @@ private:
/**
* The attack value in seconds.
*/
const float m_frequency;
// hide copy constructor and operator=
AUD_ButterworthFactory(const AUD_ButterworthFactory&);
AUD_ButterworthFactory& operator=(const AUD_ButterworthFactory&);
float m_frequency;
public:
/**
@@ -51,7 +47,13 @@ public:
*/
AUD_ButterworthFactory(AUD_IFactory* factory, float frequency);
virtual AUD_IReader* createReader() const;
/**
* Creates a new butterworth factory.
* \param frequency The cutoff frequency.
*/
AUD_ButterworthFactory(float frequency);
virtual AUD_IReader* createReader();
};
#endif //AUD_BUTTERWORTHFACTORY

View File

@@ -0,0 +1,124 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#include "AUD_ButterworthReader.h"
#include "AUD_Buffer.h"
#include <cstring>
#include <cmath>
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#define BWPB41 0.76536686473
#define BWPB42 1.84775906502
#define CC channels + channel
AUD_ButterworthReader::AUD_ButterworthReader(AUD_IReader* reader,
float frequency) :
AUD_EffectReader(reader)
{
AUD_Specs specs = reader->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
m_outvalues = new AUD_Buffer(samplesize * 5); AUD_NEW("buffer")
memset(m_outvalues->getBuffer(), 0, samplesize * 5);
m_invalues = new AUD_Buffer(samplesize * 5); AUD_NEW("buffer")
memset(m_invalues->getBuffer(), 0, samplesize * 5);
m_position = 0;
// calculate coefficients
float omega = 2 * tan(frequency * M_PI / specs.rate);
float o2 = omega * omega;
float o4 = o2 * o2;
float x1 = o2 + 2 * BWPB41 * omega + 4;
float x2 = o2 + 2 * BWPB42 * omega + 4;
float y1 = o2 - 2 * BWPB41 * omega + 4;
float y2 = o2 - 2 * BWPB42 * omega + 4;
float o228 = 2 * o2 - 8;
float norm = x1 * x2;
m_coeff[0][0] = 0;
m_coeff[0][1] = (x1 + x2) * o228 / norm;
m_coeff[0][2] = (x1 * y2 + x2 * y1 + o228 * o228) / norm;
m_coeff[0][3] = (y1 + y2) * o228 / norm;
m_coeff[0][4] = y1 * y2 / norm;
m_coeff[1][4] = m_coeff[1][0] = o4 / norm;
m_coeff[1][3] = m_coeff[1][1] = 4 * o4 / norm;
m_coeff[1][2] = 6 * o4 / norm;
}
AUD_ButterworthReader::~AUD_ButterworthReader()
{
delete m_buffer; AUD_DELETE("buffer")
delete m_outvalues; AUD_DELETE("buffer")
delete m_invalues; AUD_DELETE("buffer");
}
void AUD_ButterworthReader::read(int & length, sample_t* & buffer)
{
sample_t* buf;
sample_t* outvalues;
sample_t* invalues;
outvalues = m_outvalues->getBuffer();
invalues = m_invalues->getBuffer();
AUD_Specs specs = m_reader->getSpecs();
m_reader->read(length, buf);
if(m_buffer->getSize() < length * AUD_SAMPLE_SIZE(specs))
m_buffer->resize(length * AUD_SAMPLE_SIZE(specs));
buffer = m_buffer->getBuffer();
int channels = specs.channels;
for(int channel = 0; channel < channels; channel++)
{
for(int i = 0; i < length; i++)
{
invalues[m_position * CC] = buf[i * CC];
outvalues[m_position * CC] = 0;
for(int j = 0; j < 4; j++)
{
outvalues[m_position * CC] += m_coeff[1][j] *
invalues[((m_position + j) % 5) * CC] -
m_coeff[0][j] *
outvalues[((m_position + j) % 5) * CC];
}
buffer[i * CC] = outvalues[m_position * CC];
m_position = (m_position + 4) % 5;
}
}
}

View File

@@ -0,0 +1,83 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#ifndef AUD_BUTTERWORTHREADER
#define AUD_BUTTERWORTHREADER
#include "AUD_EffectReader.h"
class AUD_Buffer;
/**
* This class represents a butterworth filter.
*/
class AUD_ButterworthReader : public AUD_EffectReader
{
private:
/**
* The playback buffer.
*/
AUD_Buffer *m_buffer;
/**
* The last out values buffer.
*/
AUD_Buffer *m_outvalues;
/**
* The last in values buffer.
*/
AUD_Buffer *m_invalues;
/**
* The position for buffer cycling.
*/
int m_position;
/**
* Filter coefficients.
*/
float m_coeff[2][5];
public:
/**
* Creates a new butterworth reader.
* \param reader The reader to read from.
* \param attack The attack value in seconds.
* \param release The release value in seconds.
* \param threshold The threshold value.
* \param arthreshold The attack/release threshold value.
* \exception AUD_Exception Thrown if the reader specified is NULL.
*/
AUD_ButterworthReader(AUD_IReader* reader, float frequency);
/**
* Destroys the reader.
*/
virtual ~AUD_ButterworthReader();
virtual void read(int & length, sample_t* & buffer);
};
#endif //AUD_BUTTERWORTHREADER

View File

@@ -1,83 +0,0 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#ifndef AUD_CALLBACKIIRFILTERREADER
#define AUD_CALLBACKIIRFILTERREADER
#include "AUD_BaseIIRFilterReader.h"
#include "AUD_Buffer.h"
class AUD_CallbackIIRFilterReader;
typedef sample_t (*doFilterIIR)(AUD_CallbackIIRFilterReader*, void*);
typedef void (*endFilterIIR)(void*);
/**
* This class provides an interface for infinite impulse response filters via a
* callback filter function.
*/
class AUD_CallbackIIRFilterReader : public AUD_BaseIIRFilterReader
{
private:
/**
* Filter function.
*/
const doFilterIIR m_filter;
/**
* End filter function.
*/
const endFilterIIR m_endFilter;
/**
* Data pointer.
*/
void* m_data;
// hide copy constructor and operator=
AUD_CallbackIIRFilterReader(const AUD_CallbackIIRFilterReader&);
AUD_CallbackIIRFilterReader& operator=(const AUD_CallbackIIRFilterReader&);
public:
/**
* Creates a new callback IIR filter reader.
* \param reader The reader to read from.
* \param in The count of past input samples needed.
* \param out The count of past output samples needed.
* \param doFilter The filter callback.
* \param endFilter The finishing callback.
* \param data Data pointer for the callbacks.
*/
AUD_CallbackIIRFilterReader(AUD_IReader* reader, int in, int out,
doFilterIIR doFilter,
endFilterIIR endFilter = 0,
void* data = 0);
virtual ~AUD_CallbackIIRFilterReader();
virtual sample_t filter();
};
#endif //AUD_CALLBACKIIRFILTERREADER

View File

@@ -29,16 +29,30 @@
AUD_DelayFactory::AUD_DelayFactory(AUD_IFactory* factory, float delay) :
AUD_EffectFactory(factory),
m_delay(delay)
{
}
m_delay(delay) {}
float AUD_DelayFactory::getDelay() const
AUD_DelayFactory::AUD_DelayFactory(float delay) :
AUD_EffectFactory(0),
m_delay(delay) {}
float AUD_DelayFactory::getDelay()
{
return m_delay;
}
AUD_IReader* AUD_DelayFactory::createReader() const
void AUD_DelayFactory::setDelay(float delay)
{
return new AUD_DelayReader(getReader(), m_delay);
m_delay = delay;
}
AUD_IReader* AUD_DelayFactory::createReader()
{
AUD_IReader* reader = getReader();
if(reader != 0)
{
reader = new AUD_DelayReader(reader, m_delay); AUD_NEW("reader")
}
return reader;
}

View File

@@ -37,11 +37,7 @@ private:
/**
* The delay in samples.
*/
const float m_delay;
// hide copy constructor and operator=
AUD_DelayFactory(const AUD_DelayFactory&);
AUD_DelayFactory& operator=(const AUD_DelayFactory&);
float m_delay;
public:
/**
@@ -49,14 +45,26 @@ public:
* \param factory The input factory.
* \param delay The desired delay in seconds.
*/
AUD_DelayFactory(AUD_IFactory* factory, float delay = 0);
AUD_DelayFactory(AUD_IFactory* factory = 0, float delay = 0);
/**
* Creates a new delay factory.
* \param delay The desired delay in seconds.
*/
AUD_DelayFactory(float delay);
/**
* Returns the delay in seconds.
*/
float getDelay() const;
float getDelay();
virtual AUD_IReader* createReader() const;
/**
* Sets the delay.
* \param delay The new delay value in seconds.
*/
void setDelay(float delay);
virtual AUD_IReader* createReader();
};
#endif //AUD_DELAYFACTORY

View File

@@ -24,19 +24,28 @@
*/
#include "AUD_DelayReader.h"
#include "AUD_Buffer.h"
#include <cstring>
AUD_DelayReader::AUD_DelayReader(AUD_IReader* reader, float delay) :
AUD_EffectReader(reader),
m_delay(int(delay * reader->getSpecs().rate)),
m_remdelay(int(delay * reader->getSpecs().rate)),
m_empty(true)
AUD_EffectReader(reader)
{
m_delay = (int)(delay * reader->getSpecs().rate);
m_remdelay = m_delay;
m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
}
AUD_DelayReader::~AUD_DelayReader()
{
delete m_buffer; AUD_DELETE("buffer")
}
void AUD_DelayReader::seek(int position)
{
if(position < 0)
return;
if(position < m_delay)
{
m_remdelay = m_delay - position;
@@ -49,18 +58,18 @@ void AUD_DelayReader::seek(int position)
}
}
int AUD_DelayReader::getLength() const
int AUD_DelayReader::getLength()
{
int len = m_reader->getLength();
if(len < 0)
return len;
return len + m_delay;
return len+m_delay;
}
int AUD_DelayReader::getPosition() const
int AUD_DelayReader::getPosition()
{
if(m_remdelay > 0)
return m_delay - m_remdelay;
return m_delay-m_remdelay;
return m_reader->getPosition() + m_delay;
}
@@ -71,41 +80,26 @@ void AUD_DelayReader::read(int & length, sample_t* & buffer)
AUD_Specs specs = m_reader->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
if(m_buffer.getSize() < length * samplesize)
{
m_buffer.resize(length * samplesize);
m_empty = false;
}
buffer = m_buffer.getBuffer();
if(m_buffer->getSize() < length * samplesize)
m_buffer->resize(length * samplesize);
if(length > m_remdelay)
{
if(!m_empty)
memset(buffer, 0, m_remdelay * samplesize);
memset(m_buffer->getBuffer(), 0, m_remdelay * samplesize);
int len = length - m_remdelay;
sample_t* buf;
m_reader->read(len, buf);
memcpy(buffer + m_remdelay * specs.channels,
buf, len * samplesize);
m_reader->read(len, buffer);
memcpy(m_buffer->getBuffer() + m_remdelay * specs.channels,
buffer, len * samplesize);
if(len < length-m_remdelay)
length = m_remdelay + len;
m_remdelay = 0;
m_empty = false;
}
else
{
if(!m_empty)
{
memset(buffer, 0, length * samplesize);
m_empty = true;
}
memset(m_buffer->getBuffer(), 0, length * samplesize);
m_remdelay -= length;
}
buffer = m_buffer->getBuffer();
}
else
m_reader->read(length, buffer);

View File

@@ -27,7 +27,7 @@
#define AUD_DELAYREADER
#include "AUD_EffectReader.h"
#include "AUD_Buffer.h"
class AUD_Buffer;
/**
* This class reads another reader and changes it's delay.
@@ -38,38 +38,35 @@ private:
/**
* The playback buffer.
*/
AUD_Buffer m_buffer;
AUD_Buffer *m_buffer;
/**
* The delay level.
*/
const int m_delay;
int m_delay;
/**
* The remaining delay for playback.
*/
int m_remdelay;
/**
* Whether the buffer is currently filled with zeros.
*/
bool m_empty;
// hide copy constructor and operator=
AUD_DelayReader(const AUD_DelayReader&);
AUD_DelayReader& operator=(const AUD_DelayReader&);
public:
/**
* Creates a new delay reader.
* \param reader The reader to read from.
* \param delay The delay in seconds.
* \exception AUD_Exception Thrown if the reader specified is NULL.
*/
AUD_DelayReader(AUD_IReader* reader, float delay);
/**
* Destroys the reader.
*/
virtual ~AUD_DelayReader();
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
virtual int getLength();
virtual int getPosition();
virtual void read(int & length, sample_t* & buffer);
};

View File

@@ -1,50 +0,0 @@
/*
* $Id$
*
* ***** BEGIN LGPL LICENSE BLOCK *****
*
* Copyright 2009 Jörg Hermann Müller
*
* This file is part of AudaSpace.
*
* AudaSpace is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* AudaSpace 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with AudaSpace. If not, see <http://www.gnu.org/licenses/>.
*
* ***** END LGPL LICENSE BLOCK *****
*/
#include "AUD_DoubleFactory.h"
#include "AUD_DoubleReader.h"
AUD_DoubleFactory::AUD_DoubleFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) :
m_factory1(factory1), m_factory2(factory2)
{
}
AUD_IReader* AUD_DoubleFactory::createReader() const
{
AUD_IReader* reader1 = m_factory1->createReader();
AUD_IReader* reader2;
try
{
reader2 = m_factory2->createReader();
}
catch(AUD_Exception&)
{
delete reader1;
throw;
}
return new AUD_DoubleReader(reader1, reader2);
}

View File

@@ -24,51 +24,80 @@
*/
#include "AUD_DoubleReader.h"
#include "AUD_Buffer.h"
#include <cstring>
static const char* specs_error = "AUD_DoubleReader: Both readers have to have "
"the same specs.";
AUD_DoubleReader::AUD_DoubleReader(AUD_IReader* reader1,
AUD_IReader* reader2) :
m_reader1(reader1), m_reader2(reader2), m_finished1(false)
m_reader1(reader1), m_reader2(reader2)
{
AUD_Specs s1, s2;
s1 = reader1->getSpecs();
s2 = reader2->getSpecs();
if(memcmp(&s1, &s2, sizeof(AUD_Specs)) != 0)
try
{
delete reader1;
delete reader2;
AUD_THROW(AUD_ERROR_SPECS, specs_error);
if(!reader1)
AUD_THROW(AUD_ERROR_READER);
if(!reader2)
AUD_THROW(AUD_ERROR_READER);
AUD_Specs s1, s2;
s1 = reader1->getSpecs();
s2 = reader2->getSpecs();
if(memcmp(&s1, &s2, sizeof(AUD_Specs)) != 0)
AUD_THROW(AUD_ERROR_READER);
}
catch(AUD_Exception)
{
if(reader1)
{
delete reader1; AUD_DELETE("reader")
}
if(reader2)
{
delete reader2; AUD_DELETE("reader")
}
throw;
}
m_buffer = new AUD_Buffer(); AUD_NEW("buffer")
m_finished1 = false;
}
AUD_DoubleReader::~AUD_DoubleReader()
{
delete m_reader1;
delete m_reader2;
delete m_reader1; AUD_DELETE("reader")
delete m_reader2; AUD_DELETE("reader")
delete m_buffer; AUD_DELETE("buffer")
}
bool AUD_DoubleReader::isSeekable() const
bool AUD_DoubleReader::isSeekable()
{
return m_reader1->isSeekable() && m_reader2->isSeekable();
return false;
}
void AUD_DoubleReader::seek(int position)
{
m_reader1->seek(position);
int length1 = m_reader1->getLength();
int pos1 = m_reader1->getPosition();
if(position < 0)
position = 0;
if((m_finished1 = (pos1 < position)))
m_reader2->seek(position - pos1);
else
if(position < length1)
{
m_reader1->seek(position);
m_reader2->seek(0);
m_finished1 = false;
}
else
{
m_reader2->seek(position-length1);
m_finished1 = true;
}
}
int AUD_DoubleReader::getLength() const
int AUD_DoubleReader::getLength()
{
int len1 = m_reader1->getLength();
int len2 = m_reader2->getLength();
@@ -77,45 +106,49 @@ int AUD_DoubleReader::getLength() const
return len1 + len2;
}
int AUD_DoubleReader::getPosition() const
int AUD_DoubleReader::getPosition()
{
return m_reader1->getPosition() + m_reader2->getPosition();
}
AUD_Specs AUD_DoubleReader::getSpecs() const
AUD_Specs AUD_DoubleReader::getSpecs()
{
return m_reader1->getSpecs();
}
AUD_ReaderType AUD_DoubleReader::getType()
{
if(m_reader1->getType() == AUD_TYPE_BUFFER &&
m_reader2->getType() == AUD_TYPE_BUFFER)
return AUD_TYPE_BUFFER;
return AUD_TYPE_STREAM;
}
bool AUD_DoubleReader::notify(AUD_Message &message)
{
return m_reader1->notify(message) | m_reader2->notify(message);
}
void AUD_DoubleReader::read(int & length, sample_t* & buffer)
{
if(!m_finished1)
{
int len = length;
m_reader1->read(len, buffer);
if(len < length)
{
AUD_Specs specs = m_reader1->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
if(m_buffer.getSize() < length * samplesize)
m_buffer.resize(length * samplesize);
sample_t* buf = buffer;
buffer = m_buffer.getBuffer();
memcpy(buffer, buf, len * samplesize);
if(m_buffer->getSize() < length * samplesize)
m_buffer->resize(length * samplesize);
memcpy(m_buffer->getBuffer(), buffer, len * samplesize);
len = length - len;
length -= len;
m_reader2->read(len, buf);
memcpy(buffer + length * specs.channels, buf,
m_reader2->read(len, buffer);
memcpy(m_buffer->getBuffer() + length * specs.channels, buffer,
len * samplesize);
length += len;
buffer = m_buffer->getBuffer();
m_finished1 = true;
}
}

View File

@@ -27,7 +27,7 @@
#define AUD_DOUBLEREADER
#include "AUD_IReader.h"
#include "AUD_Buffer.h"
class AUD_Buffer;
/**
* This reader plays two readers with the same specs sequently.
@@ -53,18 +53,15 @@ private:
/**
* The playback buffer for the intersecting part.
*/
AUD_Buffer m_buffer;
// hide copy constructor and operator=
AUD_DoubleReader(const AUD_DoubleReader&);
AUD_DoubleReader& operator=(const AUD_DoubleReader&);
AUD_Buffer* m_buffer;
public:
/**
* Creates a new ping pong reader.
* \param reader1 The first reader to read from.
* \param reader2 The second reader to read from.
* \exception AUD_Exception Thrown if the specs from the readers differ.
* \exception AUD_Exception Thrown if one of the reader specified is NULL
* or the specs from the readers differ.
*/
AUD_DoubleReader(AUD_IReader* reader1, AUD_IReader* reader2);
@@ -73,11 +70,13 @@ public:
*/
virtual ~AUD_DoubleReader();
virtual bool isSeekable() const;
virtual bool isSeekable();
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
virtual int getLength();
virtual int getPosition();
virtual AUD_Specs getSpecs();
virtual AUD_ReaderType getType();
virtual bool notify(AUD_Message &message);
virtual void read(int & length, sample_t* & buffer);
};

View File

@@ -26,16 +26,25 @@
#include "AUD_EffectFactory.h"
#include "AUD_IReader.h"
AUD_IReader* AUD_EffectFactory::getReader()
{
if(m_factory != 0)
return m_factory->createReader();
return 0;
}
AUD_EffectFactory::AUD_EffectFactory(AUD_IFactory* factory)
{
m_factory = factory;
}
AUD_EffectFactory::~AUD_EffectFactory()
void AUD_EffectFactory::setFactory(AUD_IFactory* factory)
{
m_factory = factory;
}
AUD_IFactory* AUD_EffectFactory::getFactory() const
AUD_IFactory* AUD_EffectFactory::getFactory()
{
return m_factory;
}

View File

@@ -34,11 +34,6 @@
*/
class AUD_EffectFactory : public AUD_IFactory
{
private:
// hide copy constructor and operator=
AUD_EffectFactory(const AUD_EffectFactory&);
AUD_EffectFactory& operator=(const AUD_EffectFactory&);
protected:
/**
* If there is no reader it is created out of this factory.
@@ -49,12 +44,9 @@ protected:
* Returns the reader created out of the factory.
* This method can be used for the createReader function of the implementing
* classes.
* \return The reader created out of the factory.
* \return The reader created out of the factory or NULL if there is none.
*/
inline AUD_IReader* getReader() const
{
return m_factory->createReader();
}
AUD_IReader* getReader();
public:
/**
@@ -66,13 +58,19 @@ public:
/**
* Destroys the factory.
*/
virtual ~AUD_EffectFactory();
virtual ~AUD_EffectFactory() {}
/**
* Sets the input factory.
* \param factory The input factory.
*/
void setFactory(AUD_IFactory* factory);
/**
* Returns the saved factory.
* \return The factory or NULL if there has no factory been saved.
*/
AUD_IFactory* getFactory() const;
AUD_IFactory* getFactory();
};
#endif //AUD_EFFECTFACTORY

View File

@@ -27,15 +27,17 @@
AUD_EffectReader::AUD_EffectReader(AUD_IReader* reader)
{
if(!reader)
AUD_THROW(AUD_ERROR_READER);
m_reader = reader;
}
AUD_EffectReader::~AUD_EffectReader()
{
delete m_reader;
delete m_reader; AUD_DELETE("reader")
}
bool AUD_EffectReader::isSeekable() const
bool AUD_EffectReader::isSeekable()
{
return m_reader->isSeekable();
}
@@ -45,21 +47,31 @@ void AUD_EffectReader::seek(int position)
m_reader->seek(position);
}
int AUD_EffectReader::getLength() const
int AUD_EffectReader::getLength()
{
return m_reader->getLength();
}
int AUD_EffectReader::getPosition() const
int AUD_EffectReader::getPosition()
{
return m_reader->getPosition();
}
AUD_Specs AUD_EffectReader::getSpecs() const
AUD_Specs AUD_EffectReader::getSpecs()
{
return m_reader->getSpecs();
}
AUD_ReaderType AUD_EffectReader::getType()
{
return m_reader->getType();
}
bool AUD_EffectReader::notify(AUD_Message &message)
{
return m_reader->notify(message);
}
void AUD_EffectReader::read(int & length, sample_t* & buffer)
{
m_reader->read(length, buffer);

View File

@@ -34,11 +34,6 @@
*/
class AUD_EffectReader : public AUD_IReader
{
private:
// hide copy constructor and operator=
AUD_EffectReader(const AUD_EffectReader&);
AUD_EffectReader& operator=(const AUD_EffectReader&);
protected:
/**
* The reader to read from.
@@ -49,6 +44,7 @@ public:
/**
* Creates a new effect reader.
* \param reader The reader to read from.
* \exception AUD_Exception Thrown if the reader specified is NULL.
*/
AUD_EffectReader(AUD_IReader* reader);
@@ -57,11 +53,13 @@ public:
*/
virtual ~AUD_EffectReader();
virtual bool isSeekable() const;
virtual bool isSeekable();
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
virtual int getLength();
virtual int getPosition();
virtual AUD_Specs getSpecs();
virtual AUD_ReaderType getType();
virtual bool notify(AUD_Message &message);
virtual void read(int & length, sample_t* & buffer);
};

Some files were not shown because too many files have changed in this diff Show More