Commit Graph

62 Commits

Author SHA1 Message Date
William Reynish
0e06b0bdf1 tweaked units layout 2009-08-16 15:45:27 +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
Campbell Barton
7440fee85c remove python2.x support 2009-08-10 00:07:34 +00:00
Matt Ebb
05a97747dc Small tweaks to scene buttons (checkboxes in the right column) 2009-08-02 21:46:35 +00:00
Ton Roosendaal
65cb64665a 2.5
Check for old py in UI scripts. Temp fix that'll go when the move
to Py 3.1 is definite! :)
2009-07-31 08:07:41 +00:00
Matt Ebb
224ec40e45 * Some nicer icons for the render still/ animation buttons 2009-07-30 13:35:32 +00:00
Thomas Dinges
d56466747d 2.5 Part 3 of Layout Code Cleanup:
* More cleanup to match new coding guidelines.
http://wiki.blender.org/index.php/Dev:Py/Blender2.5/Layouts/Guidelines

* Replaced some if's with proper elif's.
* Removed some unnecessary code.
Note: Please don't use inconsistent assign names like colsub, subcol1 etc. anymore!
2009-07-30 10:11:19 +00:00
Campbell Barton
ade8f5197a Engine specific panel's
- All of this is in python and easy to change.
- each panel class has a set() of compatible engines.
- this set is checked for the poll function
- external engines can add themselves to this panels compatible engines
eg.
 buttons_world.WORLD_PT_mist.COMPAT_ENGINES.add('POVRAY_RENDER')

I tried doing this by subclassing each panel and replacing only the poll function to reference 'POVRAY_RENDER' but it became fairly complicated and meant registering many of the same panels under different names.

Added mist support to povray.
2009-07-30 08:10:10 +00:00
Brecht Van Lommel
366a64959c 2.5: Render/Game Engine
An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.

* Top header now has an engine menu, to choose between the blender
  render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
  only properties that work in the game engine, and similarly for
  the render engine.
* Moved panels from the logic space and game tabs to the physics,
  scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
  specific too, to better show what is supported.
2009-07-23 21:50:40 +00:00
William Reynish
580b527854 Various layout tweaks. Improved game buttons, made minor adjustments to lamp, scene and fluids. 2009-07-23 14:35:20 +00:00
Brecht Van Lommel
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
Brecht Van Lommel
1f4fa869e4 2.5: RNA & UI
* Revert lamp sampling/buffers change. The right enum items should
  be defined in RNA, not the layout, so that it works in outliner,
  python api too.
* Also changed type popup to radio buttons again, and removed the
  icons. This is more consistent, and I don't think it's a good idea
  to start using icons for these things, too much clutter.

* Replace Mesh with Normals panel in the mesh buttons.
* Remove Material panel from mesh buttons.
* Added name fields for shape/vgroup/vcol/uv.
* Spacing tweak to Object and Bone names.

* Fix some naming conflicts in RNA, with "name" and "type" properties
  being defined twice in the same struct.

* context.scene.tool_settings -> context.tool_settings.
2009-07-21 00:55:20 +00:00
William Reynish
a3366cb8f0 UI layouts
Changed order of panels in scene buttons to better follow order of importance, putting the post-processing options further down.

Cleaned up game physics properties
2009-07-20 21:31:32 +00:00
Campbell Barton
a705f64245 python access to operators now hides the _OT_ syntax, eg. SOME_OT_operator -> some.operator
this works for the calling operators from python and using the RNA api.

bpy.ops.CONSOLE_exec() is now bpy.ops.console.exec()

eg.
split.itemO("PARTICLE_OT_editable_set", text="Free Edit") becomes... split.itemO("particle.editable_set", text="Free Edit")

For now any operator thats called checks if its missing _OT_ and assumes its python syntax and converts it before doing the lookup.

bpy.ops is a python class in release/ui/bpy_ops.py which does the fake submodules and conversion, the C operator api is at bpy.__ops__

personally Id still rather rename C id-names not to contain the _OT_ text which would avoid the conversion, its called a lot since the UI has to convert the operators.
2009-07-17 12:26:40 +00:00
Matt Ebb
1ef7293585 Colour Management
- 1st stage: Linear Workflow

This implements automatic linear workflow in Blender's renderer. With the 
new Colour Management option on in the Render buttons, all inputs to the 
renderer and compositor are converted to linear colour space before 
rendering, and gamma corrected afterwards. In essence, this makes all 
manual gamma correction with nodes, etc unnecessary, since it's done 
automatically through the pipeline.

It's all explained much better in the notes/doc here, so please have a look:
http://wiki.blender.org/index.php/Dev:Source/Blender/Architecture/Colour_Management

And an example of the sort of difference it makes:
http://mke3.net/blender/devel/rendering/b25_colormanagement_test01.jpg

This also enables Colour Management in the default B.blend, and changes the 
default lamp falloff to inverse square, which is more correct, and much 
easier to use now it's all gamma corrected properly.

Next step is to look into profiles/soft proofing for the compositor.

Thanks to brecht for reviewing and fixing some oversights!
2009-07-17 02:43:15 +00:00
Brecht Van Lommel
d4504aa891 2.5
* Some changes to make lamp and world textures editing work.
  You may have to click on another texture slot once before
  being able to add a texture, and the layout is messy. Added
  this so lightenv project isn't blocked by this being missing.
* Adding a new material slot now doesn't create a new material
  anymore, to avoid creating unused materials.
* Tiny changes to scene/object buttons.
2009-07-15 19:20:59 +00:00
Brecht Van Lommel
efe8e8dd15 2.5: small tweaks for scene and object layouts. 2009-07-14 20:38:21 +00:00
Brecht Van Lommel
83acd4ac6b 2.5: Objects
* Added Relations panel with layers, pass_index, parent.
* Groups panel now can do add to group/remove from group.
* Parent, parent type, track are now editable.
* Separate constraint add operator for object and bones.
2009-07-14 20:27:28 +00:00
Thomas Dinges
42e2796a51 2.5 Scene Buttons:
* Replaced Render Layer Dot Icons with X ones. Patch by William Reynish.
2009-07-14 13:20:46 +00:00
Matt Ebb
0bfc98706e RNA/button tweaks:
* Texture -> renamed 'no rgb' to 'rgb to intensity' (btw it's not just for
 image textures )

* Render -> stamp closed by default - not taking effect, because saved in 
.B.blend. How do we fix this? 

* Material -> removed 'Buffer Bias' dependency - it's for receiving shadows,
not casting them

* Material -> Ray Shadow bias renamed 'Auto Ray bias' - switches between an
 automatically calculated value vs the specified value
2009-07-14 04:13:04 +00:00
Brecht Van Lommel
41fb3626f3 2.5: Render
* UI layout for scene buttons has quite some changes, I tried to
  better organize things according to the pipeline, and also showing
  important properties by default, and collapsing less important ones.

Some changes compared to 2.4x:
* Panorama is now a Camera property.
* Sequence and Compositing are now enabled by default, but will only
  do something when there is a node tree using nodes, or a strip in the
  sequence editor.
* Enabling Full Sample now automatically enables Save Buffers too.
* Stamp option to include info in file is removed, it now simply always
  does this if one of the stamp infos is enabled.
* Xvid, H.264 and Ogg Theora are now directly in the file format menu,
  but still using FFMPEG. Unfortunately Ogg is broken at the moment
  (also in 2.4x), so that's disabled. And Xvid crashes on 64bit linux,
  maybe solvable by upgrading extern/xvidcore/, using ubuntu libs makes
  it work.
* Organized file format menu by image/movie types.

Added:
* Render layers RNA wrapped, operatorized, layouted.
* FFMPEG format/codec options are now working.

Defaults changed:
* Compositing & Sequencer enabled.
* Tiles set to 8x8.
* Time/Date/Frame/Scene/Camera/Filename enabled for stamp.
2009-07-13 19:09:13 +00:00
Ton Roosendaal
8f60227750 2.5
UI script for setting render output
2009-07-10 16:56:20 +00:00
Brecht Van Lommel
5e749af429 2.5: Various Fixes
* Context panel now draws without header, with arrows, no scene name.
* Softbody vertex group search popup.
* Improve names for autogenerated shortcut keys in menus.
* Make most Select menus in the 3D view header work.
* Fix armature border select selection syncing.
* Add POSE_OT_select_constraint_target,
  MESH_OT_select_by_number_vertices, MESH_OT_select_vertex_path.
* Merge mesh select similar into one operator.
* Don't give MESH_OT_select_random Space hotkey.
* Add DAG_object_flush_update to many mesh edit tools, not calling this
  will crash with modifiers.
* RNA_def_enum_funcs for dynamic enums in operators, but not very useful
  without context yet.
* Fix refresh issue with image window header + editmode.
* Fix drawing of shadow mesh for image painting.
* Remove deprecated uiDefMenuButO and uiDefMenuSep functions.
* Remove keyval.c, code is in wm_keymap.c already.
* Rename WM_operator_redo to WM_operator_props_popup.
2009-07-08 15:34:41 +00:00
Andrea Weikert
32cf82dbb3 2.5 UI
* RNA enum for icons to allow specifying icons as string
* example: row.itemR(st, "line_numbers", text="", icon='ICON_LINENUMBERS_OFF')
2009-06-15 20:28:49 +00:00
Thomas Dinges
c3c38155ad 2.5 Buttons:
* Added more material buttons by William. Thanks.
I made some minor adjustments and added Specular Shader Model RNA. 

* Code cleanup and some consistency tweaks of button files.
Notes: Preview render now only shows up when there is an active world, material, texture or lamp.
* Made sure initial panels with ID Datablocks are shown, even when no block is active.
2009-06-13 21:22:21 +00:00
Campbell Barton
a054f3ccce elif rd.file_format in ("OPENEXR"):
...is the same as 
elif rd.file_format in "OPENEXR": # ("OPENEXR",) <- syntax for a single tuple

At the moment its using pythons syntax for a string search which works but isnt whats intended. Replaced in with ==
(Also use '' for enums rather then "")
2009-06-11 21:11:33 +00:00
Thomas Dinges
d12c4f751c 2.5 Scene Buttons:
* FFMpeg buttons by William Reynish. Thanks!
2009-06-11 18:58:37 +00:00
Thomas Dinges
0a6051295f * Added some Image Format Options to the the scene output panel. Patch by William Reynish. Thanks!
* Added missing Notifiers for Subsurface Scattering.
2009-06-07 19:18:20 +00:00
Thomas Dinges
51740b57b9 2.5 Buttons:
* Small stamp tweaks by William Reynish. 

* Moved the modifier tab next to constraints.
2009-06-07 15:40:14 +00:00
Brecht Van Lommel
dc7d0ef474 UI:
* Add Lamp Fallof Curve and Texture Color Ramp panels.
* Use button space context data.
* A few other minor python layout script updates.
2009-06-03 00:17:35 +00:00
Thomas Dinges
a5c60e3405 2.5 Buttons:
* Some world button tweaks by William Reynish. Thanks! 

* Quality slider in scene buttons gets hidden again.
2009-05-31 16:40:28 +00:00
Thomas Dinges
a01fa8b581 2.5 Buttons
* More greying out tweaks by William Reynish and myself.
2009-05-29 09:53:46 +00:00
Thomas Dinges
7c2b2f5580 2.5 Buttons:
* Example code for greying out individual items.
2009-05-29 08:43:44 +00:00
Brecht Van Lommel
276a75ae07 UI:
* Added panels with dummy preview template.
* Added constraints panel for bones next to objects, though it
  doesn't work that well yet, the operators and code need to be
  changed so they don't assume it is one or the other in/out
  of posemode.
* Added some graying out in the scene and world buttons.
2009-05-28 23:45:50 +00:00
Matt Ebb
e49c0b495a Reverted last buttons commit after chatting with Thomas :)
note: The new 'Toggle' options in the UI api should be 
avoided for normal text buttons, and used sparingly 
otherwise. We want to avoid having two inconsistent 
appearances for the same type of buttons.
2009-05-27 11:21:34 +00:00
Thomas Dinges
3e6d23562c 2.5 Buttons:
* Changed some checkboxes into Toggle Buttons.
2009-05-27 09:37:48 +00:00
Matt Ebb
64ddd9ea4f * Scene buttons tweaks
* Added 'render stamp' rna & buttons
2009-05-26 05:03:27 +00:00
Thomas Dinges
ef01c5bf0a 2.5 Buttons Code:
* Code Cleanup.
* Tiny layout changes.
* Added proper context for bone, curve, mesh and text objects. 

* Fixed Sun/Sky context.
2009-05-24 12:37:55 +00:00
Thomas Dinges
3956a10deb 2.5 Buttons:
* Some Modifier layout cleanup.
* For fun: Added icons to the Render Buttons.
* small RNA Typo's
2009-05-23 11:19:18 +00:00
Ton Roosendaal
c056b22a14 2.5
Simple UI script fix, wanted to check... works all nice. :)
For ui scripters: keep track of alignment flags!

("Border" button was aligned with above button)
2009-05-21 17:41:13 +00:00
Thomas Dinges
8013f6522e 2.5 Buttons:
* Some minor layout cleanup.
2009-05-21 11:10:34 +00:00
Thomas Dinges
34aaa18af2 2.5 Buttons:
* More button tweaks by William Reynish. Thanks!
2009-05-20 16:24:04 +00:00
Brecht Van Lommel
0a13c162b1 UI: added support for enable buttons in the panel header. 2009-05-20 14:46:49 +00:00
Matt Ebb
2e91f1b155 Assorted UI tweaks/cleanups 2009-05-20 13:56:22 +00:00
Thomas Dinges
861398542f 2.5 Buttons:
* Some scene panel layout tweaks by William Reynish (Billrey). Thanks!
2009-05-19 16:23:18 +00:00
Thomas Dinges
20042dbba5 2.5 Buttons:
* New scene buttons layout.
* Minor changes in object buttons and scene RNA.
2009-05-17 09:25:30 +00:00
Thomas Dinges
120ef02027 2.5 Buttons:
* Cleanup of scene, lamp and camera panels.

* Small RNA lamp changes.
2009-05-15 16:24:08 +00:00
Brecht Van Lommel
b4d46e5ded UI: Layout Engine
* Buttons are now created first, and after that the layout is computed.
  This means the layout engine now works at button level, and makes it
  easier to write templates. Otherwise you had to store all info and
  create the buttons later.
* Added interface_templates.c as a separate file to put templates in.
  These can contain regular buttons, and can be put in a Free layout,
  which means you can specify manual coordinates, but still get nested
  correct inside other layouts.

* API was changed to allow better nesting. Previously items were added
  in the last added layout specifier, i.e. one level up in the layout
  hierarchy. This doesn't work well in always, so now when creating things
  like rows or columns it always returns a layout which you have to add
  the items in. All py scripts were updated to follow this.

* Computing the layout now goes in two passes, first estimating the
  required width/height of all nested layouts, and then in the second
  pass using the results of that to decide on the actual locations.

* Enum and array buttons now follow the direction of the layout, i.e.
  they are vertical or horizontal depending if they are in a column or row.
* Color properties now get a color picker, and only get the additional
  RGB sliders with Expand=True.
* File/directory string properties now get a button next to them for
  opening the file browse, though this is not implemented yet.
* Layout items can now be aligned, set align=True when creating a column,
  row, etc.
* Buttons now get a minimum width of one icon (avoids squashing icon
  buttons).

* Moved some more space variables into Style.
2009-05-15 11:19:59 +00:00
Joshua Leung
f1e89051c7 2.5 - Restored 'Render Anim' button!
After quite a bit of searching, I finally found where the various UI functions were wrapped for use in Py Layouts. 

For the reference of others, check out editors/interface/interface_api.c
2009-05-11 06:55:11 +00:00
Thomas Dinges
33322ad1ff 2.5 Buttons:
* Some minor code cleanup
* More tweaks to match the Layout Guidelines "Dependencies ".
2009-05-05 04:07:08 +00:00