Commit Graph

1680 Commits

Author SHA1 Message Date
Daniel Genrich
286c2ca80b Smoke:
* cache for low res (deactivating high res for now)
* new way of view3d rendering of smoke (no longer 3 axes) -using 3dtexture now (introduced into gpu/intern)
* introducing LZO and LZMA libs into extern (makefiles missing for now)
* reducing memory usage after simulating for the frame ended (freeing temporary buffers)
* splitting smoke into 2 modifier for the cache-sake (it cannot handle more than 1 cache on the same modifier-index)
* no color on gui anymore
* fixing non-power-of-2 resolutions (hopefully)
* fixing select-deselect of domain drawing bug
* fixing drawobject.c coding style (making Ton happy) ;-)

HINT #1: If scons doesn't work -> cmakefiles are up-to-date, couldn't test scons (but i tried to mantain them, too)

CODERS HINT #1: we really need a way to disable adding all modifiers through "Add Modifiers" dropdown!

WARNING #1: before applying this commit, deactivate your SMOKE DOMAIN in your old files and save them then. You can open them then savely after that.

WARNING #2: File and cache format of smoke can be changed, this is not final!
2009-08-20 00:33:59 +00:00
Brecht Van Lommel
aace6ef551 2.5: Restored statistics in the info header.
Implementation:
* NC_SCENE or NC_OBJECT cause scene->stats to be cleared.
* NC_INFO is sent to tag info headers for redraw.
* In UI scene.statistics() creates scene->stats if it is
  NULLd, and then returns the string.
2009-08-19 12:35:40 +00:00
Brecht Van Lommel
e611c4756f 2.5: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22291:22625 2009-08-19 09:35:22 +00:00
Campbell Barton
680f88017f updated for new transparency RNA names 2009-08-19 01:11:18 +00:00
Brecht Van Lommel
184ac26dd0 2.5: Headers
* Fix header menu spacing bug, and make it consistent for all headers.
* For consistency, always put menus first in the header, then any enums
  to switch the type of data displayed.
* Node editor header ported to python layout. Still quite a few
  operators missing to make the menus complete.
* RNA wrapped node editor, and added use_nodes property to material
  and scene.
2009-08-19 00:55:30 +00:00
Robin Allen
c9795eae45 Fixed the texture preview to work with multi-output node-based textures. 2009-08-18 19:58:27 +00:00
Brecht Van Lommel
3682624616 2.5: Game Engine
* Added Shading and Performance panels in the scene buttons,
  containing the options previously in the 2.4x game menu.
* Added show framerate/debug/physics/warnings back in game menu.
* Moved these settings from G.fileflags to scene GameData.
* Enabled Display Lists by default.
* Some other small game scene button tweaks.
2009-08-18 15:27:48 +00:00
Brecht Van Lommel
990dcd0f7f 2.5:
* Split Info and User preferences into two separate spaces.
* Renamed Buttons Window to Properties also in RNA identifiers.
2009-08-18 12:58:51 +00:00
Nicholas Bishop
ca20107edb 2.5/Sculpt:
* Added UI for rake mode
2009-08-18 01:39:49 +00:00
Nicholas Bishop
a5da26f59d 2.5/Sculpt:
* Added UI for brush stroke. Contains for now spacing and smooth stroke
* Removed Sculpt UI for airbrush -- doesn't do anything in sculpt mode
* Improved smooth stroke by using float instead of int precision, so smooth stroke is even smoother now
2009-08-18 01:19:00 +00:00
Robin Allen
55b6230464 Made texture nodes accessible in the interface.
* Exposed Tex.use_nodes, Tex.nodetree, MTex.which_output in RNA
* Added node controls to texture buttons (Use Nodes and Use Output)
* Made new texture outputs have unique names by default, though unique names still aren't required.

Note: The preview window in the texture buttons only takes which_output into account when in "material" mode, and in the material half of "both" mode; the plain texture display ignores the user's output choice.

This is because ED_preview_draw draws a Tex* and not an MTex* -- still some work to do here.
2009-08-17 18:37:58 +00:00
Nicholas Bishop
21ca9a6049 2.5 paint:
* Fixed texture paint UI
2009-08-17 15:17:45 +00:00
Nicholas Bishop
b0fe88117b 2.5 Paint:
* Updated the brush selection UI to make the slots less apparent; adding and removing brushes now directly adds and removes slots.
2009-08-17 15:05:18 +00:00
Thomas Dinges
f1ec842cb2 2.5 Timeline:
* Added "Only selected" Option in View menu.
2009-08-17 11:45:24 +00:00
Thomas Dinges
ddd7bfc91b 2.5 3DView:
* Ported Edit Menus to python.
Many thanks to Lorenzo Pierfederici (lento) for this patch.
2009-08-17 10:13:24 +00:00
Joshua Leung
61b2ac04e3 2.5 - Keying Sets Fixes
* Properly wrapped Keying Sets in RNA. Now the timeline header shows a popup for choosing KeyingSets instead of the nasty index button.

* Fixed bugs in Outliner code for adding/removing array elements to Keying Sets. This makes it possible to add only the x and z location settings for an object for example.
2009-08-17 07:35:38 +00:00
Campbell Barton
97db057a4c paint toolbox layout grouping 2009-08-17 07:35:23 +00:00
Nicholas Bishop
73ea51eccd 2.5/Sculpt:
* Some UI fixes suggested by broken, removed specialized Add Brush menu in favor of standard ID add button, also put a separator between brush selection and brush properties.
2009-08-17 03:16:14 +00:00
Nicholas Bishop
9d2d3a8be7 2.5 Paint:
* Converted vertex paint and weight paint to use the new Paint type
2009-08-17 02:49:31 +00:00
Thomas Dinges
5f7ed83735 2.5 Timeline:
Some fixes:
* Added missing "Layered" Button.
* Jump to last keyframe operator was called incorrect.
2009-08-17 00:22:04 +00:00
Brecht Van Lommel
d35a42d3e6 2.5: Render Api
* Add RenderResult.load_from_file to load whole multilayer exr's at once.
* Removed x/y offset from RenderLayer.load_from_file, better to encourage
  using offset in begin_result() to minimize memory usage.
* Added WITH_OPENEXR in some screen/file/image module for scons/make, exr
  was not working in some places there.
2009-08-16 22:53:15 +00:00
Thomas Dinges
2cf5b52856 2.5 Timeline:
* Finally the header and menus are done via python.
* Added RNA for sync audio. 

Note: This is just a basic working version in python. It needs more work and some layout changes.
Joshua: Feel free to adjust this further :)
2009-08-16 22:01:20 +00:00
Nicholas Bishop
afa0fa5e29 2.5 Sculpt:
* Added a new Paint type in scene DNA. This is now the base struct for Sculpt.
* The Paint type contains a list of Brushes, you can add or remove these much like material and texture slots.
* Modified the UI for the new Paint type, now shows the list of brushes active for this mode
* Added a New Brush operator, shows in the UI as a list of brush tool types to add
* Made the sculpt tool property UI smaller and not expanded, expectation is that we will have a number of preset brushes that will cover the basic sculpt brush types

TODO:
* Vertex paint, weight paint, texture paint need to be converted to this system next
* Add brush presets to the default blend
2009-08-16 19:50:00 +00:00
Campbell Barton
84758d0eb2 copy the systems python to the install dir for re-distrobution (non-osx unix), removed some unused stuff in makefiles 2009-08-16 18:14:17 +00:00
Thomas Dinges
13dcf69eee 2.5 Timeline:
* Python conversion is nearly done, still uncommented.
2009-08-16 16:15:13 +00:00
William Reynish
0e06b0bdf1 tweaked units layout 2009-08-16 15:45:27 +00:00
Thomas Dinges
406d009269 2.5:
* Removed some more old sculpt layout code.

* Fixed Channel hack in sequencer. This is now fixed in layout engine.
2009-08-16 14:38:59 +00:00
Thomas Dinges
e3b2cdc8ea 2.5 3DView Header:
* Sculpt Menu is now written in python.
* Select Menus are only for Object, Edit and Particle Mode, added code to check on that, fixed Console warnings.

* Fixed a typo in armature buttons, reported in IRC by "ebrain".
2009-08-16 12:52:57 +00:00
William Reynish
2cc64a95b5 Minor adjustments to particle buttons and particle brush panels. Use only two rows in lists, and added greying out. 2009-08-16 11:25:18 +00:00
William Reynish
1b2ebfcb61 Minor adjustments to game physics. Moved some of the name changes into RNA and moved some options around for nicer alignment. 2009-08-16 09:47:33 +00:00
Campbell Barton
573678df48 - replace rna context.mode_string with an enum context.mode, that way its self documenting and is used as a string from py anyway.
- view3d use select menus use the context.mode enum value.

- if selectmenu in dir(bpy.types) # creates a list of 1400+ strings, does a lookup and throws them away, better avoid this for redrawing.
2009-08-16 03:40:00 +00:00
Thomas Dinges
9bd5b486fb 2.5 3DView Header:
* "Object" Menu is now written in python.
2009-08-15 22:28:48 +00:00
Thomas Dinges
2b3d2b72ea 2.5 3DView:
* Renaming of edit mode context types. 
* Code cleanup.
2009-08-15 20:21:49 +00:00
Thomas Dinges
0ce5163cc0 2.5 3D_View:
Patch [#19031] (2.5) python menus for the view3d header
by Lorenzo Pierfederici (lento). Thanks!

* Added CTX_data_mode_string() to find out in which mode we're in.
* Added some "select" menus as a test.

This patch makes it basically possible to wrap the 3D View menus to python.
2009-08-15 19:40:09 +00:00
Brecht Van Lommel
3da40611d9 2.5: Material buttons
* Transparency is now it's own panel, with a boolean toggle
  + enum for z/ray transparency (following mockup made by
  William). Also had to change DNA flags for this.
* Disabled radiosity a bit more in render engine, it still had
  some effects like auto autosmooth.
* Make some sliders in material buttons percentages in RNA.
* Some other small tweaks in layout and naming.
2009-08-15 19:35:03 +00:00
Brecht Van Lommel
9059639df4 2.5: Screen/Scene New/Delete operators.
Implementation Note:
* Moved the scene copy/unlink code back into blenkernel, with
  the exception of the copy single user stuff which is still in
  object_edit.c.
* Uses SCREENDELETE notifier like SCREENBROWSE, seems only clean
  way to do this now.
2009-08-15 16:43:03 +00:00
Thomas Dinges
efc4624e8a 2.5 Physic Buttons:
Patch by nudelZ. Thanks.
* Some layout and code cleanup.
* Made Collision Panel use Modifier Layout with Add/remove Operator.
2009-08-15 14:16:50 +00:00
Thomas Dinges
9c45a27fb8 2.5 Sequencer:
* Added Marker Operator Buttons in Menu, although they don't show up inside the Sequencer yet.

* Code Cleanup.
2009-08-15 13:06:21 +00:00
Nicholas Bishop
c6e041f125 2.5/Paint modes:
* Moved brush curve preset operator out of sculpt to paint_utils
* Added a button to the curve panel to set the preset
2009-08-14 04:45:29 +00:00
Thomas Dinges
ec00cec3e8 2.5 Timeline:
* Added some menus and buttons. Still uncommented.
2009-08-13 22:10:50 +00:00
Nicholas Bishop
972224b9e1 2.5/Sculpt:
* Moved the brush texture settings to MTex/TextureSlot. The mapping settings now show up in the texture panel, pretty much like they do for textures used with materials.

TODO:
* Tiled mode should not show Z size setting
* Add a locked mode so that texture size can be changed uniformly like in 2.4x
2009-08-13 20:05:36 +00:00
Thomas Dinges
e8d9e0823e 2.5 Timeline:
WIP Commit, still uncommented.
* Adeed some RNA properties for Playback.
* Start of Python File.
2009-08-13 16:59:52 +00:00
Daniel Genrich
94d359c9bc Some changes to smoke ui (path by nudelZ) - this divides the panel in normal and advanced options 2009-08-13 14:27:35 +00:00
William Reynish
5a3bd23e8e Accidentally made the game collision bounds panel display itself when Blender Render was selected as the renderer. 2009-08-13 09:30:36 +00:00
Campbell Barton
d916c25616 - moved unit settings from user prefs into the scene.
- use the scene context for the unit settings since there isn't a better place for it currently.
- added 'chain' to imperial units
- set more rna props to be distances and angles.
2009-08-13 07:37:41 +00:00
William Reynish
44ca632ce7 Added game soft body settings, and cleaned up layout there slightly.
Also converted some other percentage properties to use sliders, and a few other small layout tweaks.
2009-08-12 22:16:47 +00:00
Daniel Genrich
fb7c9d5a0d Smoke:
* New feature: "Dissolve Smoke" - Idea by nudelZ
2009-08-12 17:32:02 +00:00
William Reynish
7ca23e0ef6 Put back sequencer type icons, and moved the type menu, separating it from the menus. 2009-08-12 14:39:57 +00:00
William Reynish
7ffbaa6631 Sequencer UI layout tweaks.
There was a mix in the layout of these panels; some were single column, some dual column. All these n-key sidebars seem to work best with single column layouts to minimize wasted space, so made all the panels fit that paradigm.

Also included a bunch of labels and a bit of layout cleanup.
2009-08-12 14:21:43 +00:00
Janne Karhu
b221c0e2e6 New point cache file format:
- HEADER (beginning of each file)
	* general header:
		+ 8 char: "BPHYSICS"
		+ 1 int: simulation type (same as PTCacheID->type)
	* custom header (same for sb, particles and cloth, but can be different for new dynamics)
		+ 1 int: totpoint (number of points)
		+ 1 int: data_types (bit flags for what the stored data is)
- DATA (directly after header)
	*totpoint times the data as specified in data_types flags

- simulation type
	soft body = 0, particles = 1, cloth = 2
- data types (more can be added easily when needed)
	data		flag		contains
	----------------------------------------
	index		(1<<0)		1 int	(index of current point)
	location	(1<<1)		3 float
	velocity	(1<<2)		3 float
	rotation	(1<<3)		4 float	(quaternion)
	avelocity 	(1<<4)		3 float	(used for particles)
	xconst		(1<<4)		3 float	(used for cloth)
	size		(1<<5)		1 float
	times		(1<<6)		3 float (birth, die & lifetime of particle)
	boids		(1<<7)		1 BoidData
	
Notes:
- Every frame is not nescessary since data is interpolated for the inbetween frames.
- For now every point is needed for every cached frame, the "index" data type is reserved for future usage.
- For loading external particle caches only "location" data is necessary, other needed values are determined from the given data.
- Non-dynamic data should be written into an info file if external usage is desired.
	* Info file is named as normal cache files, but with frame number 0;
	* "Non-dynamic" means data such as particle times.
	* Written automatically when baking to disk so basically a library of particle simulations should be possible.
- Old disk cache format is supported for reading, so pre 2.5 files shouldn't break. However old style memory cache (added during 2.5 development) is not supported. To keep memory cached simulations convert the cache to disk cache before svn update and save the blend.
- External sb and cloth caches should be perfectly possible, but due to lack of testing these are not yet enabled in ui.
	
Other changes:
- Multiple point caches per dynamics system.
	* In the future these will hopefully be nla editable etc, but for now things are simple and the current (selected) point cache is used.
	* Changing the amount of cached points (for example particle count) is allowed, but might not give correct results if multiple caches are present.
- Generalization of point cache baking etc operator & rna code.
- Comb brushing particle hair didn't work smoothly.
2009-08-12 09:54:29 +00:00