Commit Graph

203 Commits

Author SHA1 Message Date
6b825e6798 Commented and tagged some unused vars (gcc warnings...) 2011-09-27 11:02:19 +00:00
8247bf6fa6 svn merge ^/branches/bmesh/blender -r40512:40513 2011-09-24 11:10:53 +00:00
Dalai Felinto
b263aefb0e TexFace to Material Settings big patch
Summary:
========
The idea here is to move the texface options into the material panel.
For images with the change please visit:
http://code.blender.org/index.php/2011/09/bge-material-texface-changes

1 - Some of the legacy problems 2.49 and 2.5x has with the texface system:
==========================================================================
1.1) Shadow, Bilboard and Halo are mutual exclusive (in the code), yet you can
select a face to be more than one mode.
1.2) Sort only works for blend Alpha yet it's an option regardless of the
Transparency Blend you pick.
1.3) Shared doesn't affect anything in BGE.
1.4) ObColor only works for Text objects (old bitmap texts) when using Texture
Face Materials. (not address yet, I so far ignored obcolor)

2 - Notes:
============
2.1) Now "Use Face Textures" in material Option panel will work in Multitexture
even if there is no texture channel.

2.2) In FaceTexture mode it will use TexFace all the time, even if you don't
check the "Use Texture Face" option in the UI. It's a matter of decision, since
the code for either way is there. I decided by the solution that makes the
creation of a material fast - in this mode the user doesn't need to mess with
textures or this "Use Texture Face" option at all. I'm not strong in my opinion
here. But I think if we don't have this then what is the point of the Texture
Face mode?

2.3) I kept references for tface only when we need the image, UV or the tiling
setting. It should help later when/if we split the Image and UV layers from the
tface struct  (Campbell and Brecht proposal).

3 - Changes in a Nutshell:
==========================
3.1) "Texture Face" panel (in the Mesh/Object Data panel) no longer exists. Those settings are all part of the material properties, visible when Game Render is set.

3.2) "Texture Face" Shading mode (in the Render panel) is now called “Single Texture”, it needs a material for special settings (e.g. Billboard, Alpha Sort, …).

3.3) New options in the Material Panel
* Shadeless option in the Material panel is now supported for all three Shading modes.
* Physics is now toggleable, this is the old Collision option.
* Two Side (on) is now called Back Culling (off).
* Alpha Sort is one of the Alpha options, together (and mutually exclusive) to Alpha Blend, Alpha Clip, Add and Opaque (i.e. solid).
* Shadow, Billboard and Halo are grouped in the “Face Orientation” property.
* "Face Textures" and "Face Textures Alpha" (under Options) can be used for all but GLSL shading mode (to be supported in GLSL eventually).
* The backend in the game engine is still the same as before. The only changes are in the interface and in the way you need to think your materials. The bottomline is: It’s no longer possible to share materials between faces that do not share the same game properties.

4 - Acknowledgment:
==================
Mike Pan for the design discussions, and testing along the whole development process.
Vitor Balbio for the first hands-on code with the interface changes. That helped me a lot to push me into work on that.
Benoit Bolsee and Brecht van Lommel for patch review (* no one reviewed the whole patch, or the latest iteractions, so I still hold liability for any problems).
Blender artists that gave feedback and helped testing the patch.

Patch review and original documentation can be found here:
http://wiki.blender.org/index.php/User:Dfelinto/TexFace
http://codereview.appspot.com/4289041/
2011-09-19 19:55:59 +00:00
f157a543c6 /blender/editors: Removed final points in UI strings and messages.
Plus a few cuts in very long lines…
2011-09-19 12:26:20 +00:00
41fa456506 replace macros with math lib functions 2011-09-16 06:56:50 +00:00
00143a3d55 spaces -> tabs (configure you're editors right!) 2011-09-01 01:48:50 +00:00
b7eac1edcf picky style edits with screen/view/drawing, also remove own bad example doc. 2011-08-25 15:49:52 +00:00
a10245a1fa fix [#28151] export OBJ don't save the extension
also correct some typos
2011-08-03 05:32:07 +00:00
a6bb0f93ad Fix #27897: mesh with negative scale disappears while sculpting, clipping
planes were wrong in that case.
2011-07-08 15:58:00 +00:00
753623d1d7 Bugfix #27136
Ending localview - which is similar to layer change - should send
update similar to change layers too. Needed for example when loading
a file saved in local view or when changing time in localview.
2011-06-10 14:03:51 +00:00
ab2450a58d fix [#27557] Linked object (camera) should not be able to set position by using camera to view operator 2011-06-02 08:55:26 +00:00
e038b25579 view3d function naming, no functional changes. 2011-05-21 08:56:37 +00:00
363bfdc46a use consistant arguments to ED_view3d_win_* funcs, a single float vector rather then 2 floats. 2011-05-20 13:50:41 +00:00
53d5761c94 function rename to give clearer meaning that they change from window to 3d coordinates.
some functions had vague names, I even ended up re-writing some of these functions by accident!
also added doxy comments.

* ED_view3d_win_to_3d (was window_to_3d)
* ED_view3d_win_to_delta (was window_to_3d_delta)
* ED_view3d_win_to_vector (was window_to_3d_vector / viewvector)
* ED_view3d_win_to_segment_clip (was viewline)
* ED_view3d_win_to_ray (was viewray)
2011-05-20 13:09:34 +00:00
c833fff638 replace checks with rv3d->persp with rv3d->is_persp since in these cases it only matters if its a perspective view matrix, this wouldn't work right for camera views. 2011-05-20 11:15:44 +00:00
4916c44af8 simplify window_to_3d_vector() and call it from viewline()
also update python view function to match.
2011-05-20 10:28:40 +00:00
984d2e42e4 make api functions for converting rv3d->camzoom, so the odd logic for this isn't inlined all over. 2011-05-20 04:14:29 +00:00
1dad9bf0bc change window_to_3d to take screen coords as floats. 2011-05-19 07:55:48 +00:00
391dbde03d added math function isect_line_plane_v3(), use for window_to_3d rather then having it inline. 2011-05-19 03:49:57 +00:00
7282f8cf98 window_to_3d() wasn't working at all (only used by grease pencil/path conversion), now works in ortho and perspective view, initgrabz() is no longer needs to be called first. 2011-05-18 18:01:01 +00:00
f4d8be977f there wasn't a good way to know if a RegionView3D was perspective or not (without having the View3D too and checking its camera values), added struct member 'is_persp', set with the view matrix. 2011-05-18 17:52:26 +00:00
99b7960781 remove some unused view3d members & added RV3D_VIEW_USER define.
Aligorith: replaced v3d->keyflags with ANIMFILTER_KEYS_LOCAL since v3d->keyflags couldn't be set anywhere and wasn't initialized.
2011-05-15 03:42:28 +00:00
baa64d1751 fix for user reported issues
- camera object movement was missing a notifier
- auto perspective now works when rotating the view.
- shift+b now zooms.
2011-05-15 02:39:36 +00:00
e7db080565 option to have the view controls apply to the camera view (and camera object).
- follow rotate/pan/zoom/dolly operators.
- auto-depth preference works.
- smooth view navigation supported.
- view selected, all & numpad operator work too.

TODO
- deal with camera transform locked axis
- find a way to move/zoom the frame while the camera is locked (if it turns out to be a problem).
2011-05-14 17:50:33 +00:00
4b7d981c91 view3d api edits, no functional changes.
rename v3d functions
* view3d_to_ob -> ED_view3d_to_object
* view3d_apply_ob -> ED_view3d_from_object
* view3d_apply_mat4 -> ED_view3d_from_m4

Changed ED_view3d_to_object() not to temp modify the view rotation and don't overwrite the objects recalc.
2011-05-14 04:25:47 +00:00
daa3dd0e9b using the viewmatrix to position the camera could be problematic if the view wasn't yet recalculated, use the quaternion instead. 2011-05-13 18:32:27 +00:00
47569160d7 rename setcameratoview3d to view3d_to_ob & add to ED_view3d.h so others can use. 2011-05-13 18:05:30 +00:00
5f5cdf9d00 for bug [#27358] Transform bug when transform > 500
mouse coords would with cont. grab would wrap at short.
use mouse coords as int rather then short.

this problem still happens on linux because of XTranslateCoordinates
2011-05-12 16:47:36 +00:00
2f08309ffe window_to_3d_vector was incorrect but dolly view operator was accounting for it. fixed so result isnt negated and mouse coords dont need to be adjusted. 2011-05-12 06:52:24 +00:00
cb12337363 Code cleanup: remove source/kernel module, this wasn't really the kernel of
anything, only contained a hash map and functions to pass command line args
to the game engine. Moved those to container and BlenderRoutines modules.
2011-05-06 20:18:42 +00:00
9b1e70140d fix for minor glitch when setting the camera in local view (camera could try to smooth view into its self). 2011-04-30 03:36:59 +00:00
06dc54837d fix [#27193] view/camera/set active object as camera sometimes "disabled" in gui (grayed out)
When in quad split view, operators that only apply to the unlocked region can now be accessed from menus and when the mouse is over a locked view.

Applied to:
- VIEW3D_OT_object_as_camera
- VIEW3D_OT_view_persportho
- VIEW3D_OT_view_orbit
- VIEW3D_OT_viewnumpad
2011-04-28 08:26:49 +00:00
49238a323d smooth view now takes the v3d and region as arguments. (no functional change) 2011-04-28 07:55:29 +00:00
b12d46f73e - fix for player linking
- added notes to release todo's.
- renamed view3d view transform matching functions.
- added assert in edge split modifier to make a certain bug easier to spot.
2011-04-26 10:38:18 +00:00
bdbf0abe60 rna api
- allow RegionView3D.view_matrix to be set.
- RegionView3D.view_rotation was inverted.
- add C function view3d_settings_from_mat()
note, intentionally removed NULL checks, double checked this is ok with callers.
2011-04-25 03:02:26 +00:00
284a0d3610 pass even mouse coords value as const so its not edited, view3d_get_view_aligned_coordinate() could modify the event->mval. 2011-04-21 17:25:58 +00:00
f9f771cd01 converted more mixed tab/space indentations to tabs. only whitespace changes. 2011-04-21 15:53:30 +00:00
85480f320f Bugfix #27044
Enter or exit localview changes bitflags (layers) in Objects, and should get an
undo push for that reason.
2011-04-20 12:30:13 +00:00
db6ea4d3a5 utility function for getting the vector direction the mouse is pointing in a perspective view. 2011-04-05 02:58:19 +00:00
0298d223cc quiet various warnings, also disable -Wdouble-promotion with cmake since it gives warnings with variable length args. 2011-04-03 10:04:16 +00:00
4237c0393a view3d / object drawing: floats were being implicitly promoted to doubles, adjust to use floats. 2011-03-27 15:57:27 +00:00
074f584cd2 Bugfix #26547
Missing DAG_id_tag_update() on tool "Align Camera to View".
2011-03-19 13:36:36 +00:00
092c3d8a85 fix bug [#26315] Background and 3D view mistakes
The bug is caused by a fix for [#22111], commits r29356, r28545.

exiting localview would set the rv3d->view but use the original rv3d->viewquat.
2011-03-08 07:44:30 +00:00
Nathan Letwory
95100afc12 doxygen: blender/editors tagged. 2011-02-27 20:29:51 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
2ed0ddef04 todo list item:
3D View:
In quad-view mode, the options to set back/bottom/left views were
blocked. Now they work again.

Note: the oparator polls don't have a check for properties... so it
cannot be finegrained here. Checks are inside code.
2011-02-05 19:07:54 +00:00
e49df9e09f Bugfix [#25684b] Surface and Stroke options are not working with Use
Sketching Sessions.

Fix for secondary issue noted in this bug report. Some of the code for
the fancy 3d view sketching options needed to be moved around so that
there is a clearer "paint/sketch session" and "stroke" separation
between various stages. There's still some more stuff that needs to be
done here before I think it's totally cleaned up.
2011-01-18 01:04:14 +00:00
63018144ba remove redundant assignments & unused vars.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
2011-01-12 03:41:12 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00