Commit Graph

51 Commits

Author SHA1 Message Date
29f279e43d Render API: add update_progress() function to update progress bar progress from
external render engines.

Also refactoring to move some render engine registration stuff out of RNA and
into render module.
2011-10-22 17:01:54 +00:00
36f20f162c Fix #28154: linux3-config.py doesn't exist
Change OURPLATFORM from "linux<major_version>" to simple "linux".
Since new policy for linux kernel versions that major version in
platform doesn't make much sense for building rules so the same
rules could be used for both of linux2 and linux3 now/

Tested on both of linux2 and linux3 systems.
2011-08-21 13:31:46 +00:00
1fd33b6e77 cmake option to build without smoke sim: WITH_MOD_SMOKE 2011-07-13 18:40:21 +00:00
Nathan Letwory
3ce233e28d Move mikktspace code to own library, so it is clear that it is also
intended as a standalone library for use in other applications that
want the same tangent space as Blender.

This also keeps blenkernel clean(er) from extra math functions.
2011-02-15 09:24:35 +00:00
ef9357365c Workaround #20324: clouds (and other) textures bump mapping generates black
faces. Only happens with scons/msvc and SSE enabled for raytracing. Why this
happens exactly I don't know, I've tried to look for errors in the code but
couldn't find any, the perlin noise code somehow is generating NaN values,
but it is getting sane inputs. I suspect this is due to the render module
being compiled with /arch:SSE and other parts not. For now I've made only
the render_raytrace module compile with SSE, which seems to solve the problem,
but is mostly a workaround.
2010-07-20 10:22:49 +00:00
f2a8bb3498 this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch. Note that the icons for linux cross might not be committed here, if not i'll add them in another commit 2010-02-01 18:39:41 +00:00
Nathan Letwory
ef8706c4ea wrong code order made linux+scons barf. 2009-12-10 01:11:04 +00:00
Nathan Letwory
11af0ff270 * WITH_BF_RAYOPTIMIZATION cleanup and flag separation by matd.
This adds BF_RAYOPTIMIZATION_SSE_FLAGS through which one can manage
  what SSE flags are best for the platform built for.

  Note that the ray optimizations coded by jaguarandi are SSE-intrinsics only.
2009-12-10 00:51:13 +00:00
Nathan Letwory
f539604094 * proper SSE setting for mingw.
* some cleanup of render module SConscript
2009-12-05 01:07:42 +00:00
Nathan Letwory
c2b71607d2 * provide SCons support to enabling jaguarandi SIMD raytracer optimizations for real :)
Until now only SSE switches were defined, but to really enjoy the SIMD structures, the
  __SSE__ define needs to be given. This can now be done with setting in your user-config.py

          WITH_BF_RAYOPTIMIZATION=True

  (or WITH_BF_RAYOPTIMIZATION=1 on command-line)
2009-12-05 00:26:20 +00:00
2dac330ac0 Remove forced sse compile flags on render for linux. This is very bad.
Use user flags instead.
2009-11-23 17:12:15 +00:00
45c0f70e3e - scons fix for linux build 2009-11-09 18:32:59 +00:00
ff0ba86a9b Mac :
- scons update to build with openCollada

- scons & cmake update for render optimization cflags
2009-11-09 17:52:13 +00:00
16c1a2944c Fix/workaround #19617: new raytracer use of SSE is crashing Mingw builds,
so disable SSE in that case now.
2009-10-19 15:58:09 +00:00
c93127d06f Some more compile fixes for jaguarandi's commit, this time for msvc+scons
* Replaced ... = {}; with ... = {0}; 

* Solved problem with logf(), where msvc couldn't figure out which version of log() to call (solved by casting the int argument to a float, but could also have been to double)...

* The cflags and cxxflags for scons when compiling the rendering module were only valid for gcc compiles. These will still need to get added for msvc sometime, but for now, there are no more warnings about unknown options...
2009-10-06 10:23:25 +00:00
63a88075b5 svn merge -r 23528:23646 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2009-10-06 01:58:22 +00:00
0f07bea06b remove unused defines, cant check every case but from grepping the souece it should go ok. 2009-10-05 07:08:59 +00:00
8da55763b5 *Updated UI options and added UI options to:
control whether instances are used or not
	control whether vertexs are stored localy or not

*Removed unsused code
2009-10-01 18:30:59 +00:00
15d81b21f6 Fixing scons compile on windows.
Since bli_threads.h now includes pthreads directly, we need to had instructions in SConscripts everywhere for proper include path.

Frankly, I feel like this should be done in a global manner and not in a per lib fashion, but that is for another day.

This commit also fixes more missing properties
2009-10-01 16:32:33 +00:00
f7c686d0ae svn merge -r 22571:22800 https://svn.blender.org/svnroot/bf-blender/trunk/blender
svn merge -r 22800:23207 https://svn.blender.org/svnroot/bf-blender/trunk/blender

Merged volumetric with new raytrace code (it compiles and rendered volume-cube.blend withouth problems)

Part1:
	source/blender
2009-09-15 15:15:43 +00:00
a8872d99a9 * scons fixes for voxel data texture 2009-08-15 07:49:56 +00:00
4ce316ee0f Ability to disable hints at compile time 2009-08-10 21:37:16 +00:00
b7a696e2ad Made -O3 and -msse2 default flags for bf_render_raytrace 2009-08-07 15:57:02 +00:00
c3a4936d9d svn merge -r 21508:22111 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-01 10:21:26 +00:00
c354ea0ef1 2.5: Render
This adds a RenderEngine type to RNA, which can be subclassed
in python (c++ will follow once we support subclassing there).
It's very basic, but plugs into the pipeline nicely. Two example
scripts:

http://www.pasteall.org/6635/python
http://www.pasteall.org/6636/python

Issues:
* Render runs in a separate thread, and there is unrestricted
  access, so it's possible to crash blender with unsafe access.
* Save buffers and full sample are not supported yet.
2009-07-21 20:28:32 +00:00
d6aefa6abd Added module bf_render_raytrace (source/blender/render/intern/raytrace)
to be able to use C++ at raytrace code
	C++ used in here is basicly C with templates and function overloads,
	to make it easier to reuse code between structures.

For now BVH was converted in C++ and moved to this module
2009-07-11 22:13:01 +00:00
7c4fccd684 2.5
Cleanup commit:

- Yafray removed. Also did cmake/scons files, but didn't compile with it,
  so test would be appreciated :)
- Removed old crap from Windows release dir, should be checked on
  further by windows release builder later.
2009-06-01 12:10:30 +00:00
Nathan Letwory
521fe6739a 2.5 / SCons
New priorities for most libs, at least core. This is still for Blender proper, BGE and such still to come.
2008-12-23 21:20:34 +00:00
bdfe7d89e2 Merge of trunk into blender 2.5:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416

Issues:
* GHOST/X11 had conflicting changes. Some code was added in 2.5, which was
  later added in trunk also, but reverted partially, specifically revision
  16683. I have left out this reversion in the 2.5 branch since I think it is
  needed there.
  http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683
* Scons had various conflicting changes, I decided to go with trunk version
  for everything except priorities and some library renaming.
* In creator.c, there were various fixes and fixes for fixes related to the -w
  -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done
  differently. Since this is changed so much, and I don't think those fixes
  would be needed in 2.5, I've left them out.
* Also in creator.c: there was code for a python bugfix where the screen was not
  initialized when running with -P. The code that initializes the screen there
  I had to disable, that can't work in 2.5 anymore but left it commented as a
  reminder.

Further I had to disable some new function calls. using src/ and python/, as
was done already in this branch, disabled function calls:
* bpath.c: error reporting
* BME_conversions.c: editmesh conversion functions.
* SHD_dynamic: disabled almost completely, there is no python/.
* KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled.
* text.c: clipboard copy call.
* object.c: OB_SUPPORT_MATERIAL.
* DerivedMesh.c and subsurf_ccg, stipple_quarttone.

Still to be done:
* Go over files and functions that were moved to a different location but could
  still use changes that were done in trunk.
2008-11-12 21:16:53 +00:00
483136c8e4 Adjusted scons files so disabling quicktime, python and sdl also removes their includes when building.
writefile.c had usless include.
2008-11-11 14:14:22 +00:00
Nathan Letwory
2ecf987dc6 * Minor cleanup of SCons files
- cleanup of boolean usage - use True and False now instead of 'true'/'false' or 0/1
- changed SConscripts accordingly
2008-10-22 11:28:10 +00:00
fd0072e77c Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
Nathan Letwory
15da2232f7 * tweak linking priorities - should help for GCC users
* some lib renaming
2008-01-08 09:47:44 +00:00
Nathan Letwory
c2acbef851 * added SConscript for windowmanager
* tweak other SConscripts for editors/include
* commented BKE_bad_level_calls.h in writeframeserver.c - please check it doesn't break make builds

This compiles until final linking, which still fails.
2007-12-27 22:16:54 +00:00
Nathan Letwory
88446eeca4 Patch 5105 by Joshua Leung (Aligorith), slightly modified by me
* Add WITH_BF_YAFRAY, which per default is 'true', so no visible changes for developers (and users).

Set WITH_BF_YAFRAY to 'false', and you'll save some major compile time :) Also handy if you're strapped for memory and compilation fails on yafray compilation due
 to this.

- this commit also has a few whitespace changes and
- made BF_NO_ELBEEM a proper BoolOption. This will be renamed to WITH_BF_ELBEEM in the near future...
2006-10-18 05:45:47 +00:00
d2f8f51556 Removed leftover SDL include from render module. 2006-07-19 15:39:36 +00:00
Nathan Letwory
0ec3791d2d ==SCons==
* Add check for WITH_BF_OPENEXR to ensure WITH_OPENEXR is specified when
  needed. Now workyworky again
2006-02-23 21:37:29 +00:00
Nathan Letwory
29a5fbc6b7 ==SCons==
* add -pthread compile switch for linux2 platforms to be on the safe side.
2006-02-19 22:21:45 +00:00
8fad9e527a FFMPEG defs was initialized as an array, a string was appended 2006-02-06 00:49:25 +00:00
44e39005f8 * Fixes memory leak in pipeline.c
* Makes the render pipeline work in arbitrary order to support frameserver
  rendering.
2006-02-05 19:16:32 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)

  /Nathan
2006-02-04 14:15:10 +00:00
9eadefee11 Scons changes needed to get it compile, works here! :) 2006-01-23 22:44:44 +00:00
7fa7826da7 The zblur plugin (aka as DoF) integrated in render. Compared to patch
submitted by Alexander, changes/improvements are:

- Moved to new Panel in Scene buttons "Post Effects". Together with other
  postprocessing options, such as Edge render. It is also not called DoF,
  this because that's a bit pretending too much then. It's a zblur still!
- Made it render Alpha as well
- Made it use and deliver float buffers
- Huge cleanup of zblur.c code, was very messy. It was alling things in render
  code without need even (win matrices, transform faces, etc)
- Fixed errors in using Z values (zbuffer is signed int)
- Removed very weird gamma corrections for front/back half
- Tweaked gaussian table, allow variable 'Sigma' to be set for gauss curve
- Didn't copy 'auto focus' yet. Use of this is very limited, and gives
  false expectations, nor works for rendering anims with deamons well.

Main issue remains: it's not a very advanced feature... I still doubt
very much if this deserves to be released. Spent 2 days on trying to get
the key issues solved, with not much results.

- gauss filter code has weird side effects on large blur size
- having unsharp (blurred) in front also blurs what's around in back.
  only blurred in back with sharp in front works a little bit
- severe aliasing errors... also due the code splitting in 2 halves
- doesnt work with unified yet
- won't work for halos, spot halos or transparant faces

Anyhoo... It was promised to be committed, so now artists can play with it.
Who knows it's useful after all, or some fixes can be implemented. :)
2005-04-23 20:49:23 +00:00
b8aa04ed62 Modified the sdl stuff so it is similar to the way the soundsystem does it.
Was causing problems for people.

Kent
2005-02-22 17:15:43 +00:00
610cec55c7 Biiig commit! Thanks to 2-3 weeks of cvs freeze...
Render:
- New; support for dual CPU render (SDL thread)
  Currently only works with alternating scanlines, but gives excellent
  performance. For both normal render as unified implemented.
  Note the "mutex" locks on z-transp buffer render and imbuf loads.
- This has been made possible by major cleanups in render code, especially
  getting rid of globals (example Tin Tr Tg Tb Ta for textures) or struct
  OSA or using Materials or Texture data to write to.
- Made normal render fully 4x32 floats too, and removed all old optimizes
  with chars or shorts.
- Made normal render and unified render use same code for sky and halo
  render, giving equal (and better) results for halo render. Old render
  now also uses PostProcess options (brightness, mul, gamma)
- Added option ("FBuf") in F10 Output Panel, this keeps a 4x32 bits buffer
  after render. Using PostProcess menu you will note an immediate re-
  display of image too (32 bits RGBA)
- Added "Hue" and "Saturation" sliders to PostProcess options

- Render module is still not having a "nice" API, but amount of dependencies
  went down a lot. Next todo: remove abusive "previewrender" code.
  The last main global in Render (struct Render) now can be re-used for fully
  controlling a render, to allow multiple "instances" of render to open.

- Renderwindow now displays a smal bar on top with the stats, and keeps the
  stats after render too. Including "spare" page support.
  Not only easier visible that way, but also to remove the awkward code that
  was drawing stats in the Info header (extreme slow on some ATIs too)

- Cleaned up blendef.h and BKE_utildefines.h, these two had overlapping
  defines.

- I might have forgotten stuff... and will write a nice doc on the architecture!
2004-12-27 19:28:52 +00:00
d5fde6c48b Added #!/usr/bin/python standard script identifier to the start of SConscript files.
Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-05-16 13:07:20 +00:00
7b78a57c03 Adapted sconscript for removed file 2004-05-15 18:14:53 +00:00
70a4ead0ae SCons updates
* Blender static now links. By default this option is disabled on all
  platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
  - HOST_CC.    This is the C compiler for the host platform. This value is the
                same as TARGET_CC when not cross compiling.
  - HOST_CXX.   This is the C++ compiler for the host platform. This value is
                the same as TARGET_CXX when not cross compiling.
  - TARGET_CC.  This is the C compiler for the target platform.
  - TARGET_CXX. This is the C++ compiler for the target platform.
  - TARGET_AR.  This is the linker command for linking libraries.
  - PATH        This is the standard search path
  All SConscript files have been updated to reflect these changes. Now it's
  possible to change only the root SConstruct file, and all compiler specific
  variables are passed automatically to all SConscript files. Of course, this
  does not apply to makesdna because there the host and target platform is
  different from all other libraries.
  To pass a variable that applies to all platforms, all we now have to do is
  set the correct value in library_env


Note: as usual, to get the latest options in the config.opts file, first
      remove your version.
2004-02-29 21:40:48 +00:00
9330e553e8 SCons updates
* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
  This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
  source/gameengine/SConscript.
  All libraries are now sorted alphabetically. This has no impact on the build
  process.
2004-02-15 19:25:32 +00:00
3cf499e044 update scons files to build with yafray support 2004-01-05 15:33:32 +00:00