Commit Graph

27029 Commits

Author SHA1 Message Date
ab2fc6f106 Audio:
* Fix for high quality upsampling which was wrong.
* Fix for doppler effects which were calculated wrong for scenes.
* Improved animation evaluation at the beginning and end of a scene.
2011-09-11 12:24:11 +00:00
5f62f5c6fe move maxseq define into DNA. 2011-09-11 10:35:26 +00:00
64aa651b1b speedup for editmesh drawing.
- avoid needless context switching quad/tri, flat/smooth.
- dont call glNormal3vf() lighting is disabled.

gives ~2x speedup with a subdivided cube, but thats probably the best case, quad/tri smooth/flat mix will slow down a bit.
2011-09-11 10:23:26 +00:00
933a19c997 Game Engine:
Fixed some more abbreviations in the UI.
2011-09-11 10:00:43 +00:00
Dalai Felinto
ff04beb3e4 partial fix for blenderplayer linking problems (decast retour)
This fix the problem of linking the extern components for the KX module.
The remaining linking issues are related to actual bad level access so the fix is a bit more complex.

Remaining linking issues (osx cmake gcc)
###########
Undefined symbols:
  "_buildNavMeshDataByDerivedMesh", referenced from:
      KX_NavMeshObject::BuildVertIndArrays(float*&, int&, unsigned short*&, int&, unsigned short*&, float*&, int&, unsigned short*&, int&, int&)in libge_logic_ketsji.a(KX_NavMeshObject.cpp.o)
      _applyModifier in libbf_modifiers.a(MOD_navmesh.cpp.o)
  "_polyIsConvex", referenced from:
      _applyModifier in libbf_modifiers.a(MOD_navmesh.cpp.o)
  "_polyNumVerts", referenced from:
      KX_NavMeshObject::BuildVertIndArrays(float*&, int&, unsigned short*&, int&, unsigned short*&, float*&, int&, unsigned short*&, int&, int&)in libge_logic_ketsji.a(KX_NavMeshObject.cpp.o)
  "_polyFindVertex", referenced from:
      KX_NavMeshObject::BuildVertIndArrays(float*&, int&, unsigned short*&, int&, unsigned short*&, float*&, int&, unsigned short*&, int&, int&)in libge_logic_ketsji.a(KX_NavMeshObject.cpp.o)
      KX_NavMeshObject::BuildVertIndArrays(float*&, int&, unsigned short*&, int&, unsigned short*&, float*&, int&, unsigned short*&, int&, int&)in libge_logic_ketsji.a(KX_NavMeshObject.cpp.o)
      KX_NavMeshObject::BuildVertIndArrays(float*&, int&, unsigned short*&, int&, unsigned short*&, float*&, int&, unsigned short*&, int&, int&)in libge_logic_ketsji.a(KX_NavMeshObject.cpp.o)
############
2011-09-11 08:21:26 +00:00
c400046702 speedup font drawing:
for ascii characters in a utf8 string use glyph_ascii_table lookup rather than call blf_glyph_search(), otherwise fallback to blf_utf8_next() and blf_glyph_search().
2011-09-11 08:12:16 +00:00
ee154197f2 fix for error in own commit r40108. 2011-09-11 07:06:21 +00:00
5fdbfbaf3a replace magic numbers for flags for uiSetRoundBox(); 2011-09-11 06:41:09 +00:00
Dalai Felinto
5184476fe1 bugfix: [bf-blender-Game Engine][28167] Restart game actuator don't get changed material mode
http://projects.blender.org/tracker/?func=detail&aid=28167&group_id=9&atid=306
Game Actuator (restart or load a new file) will not keep some settings alive (as
we had in 2.49).

In 2.49 the solution used was to use Blender globals (G.fileflags) to get/set
those settings. That was causing the blender file to change if you change the
material mode from the game.

In 2.5 this never worked, and the implementation was buggy (it's relying in the
scene settings, which get reset ever time we restart/load a new file).

My idea for fixing this is to create a new struct (GlobalSettings) where we
store any setting to be preserver during the course of the game. This is
specially important for options that require the game to restart/load new file
(graphic ones). But it later can be expanded to support other things such as
audio settings (e.g. volume), ...
I'm also planning to expand it for stereo and dome settings, but I prefer to
first get this committed and then build a new patch on top of that.


I had some problems in finding a correct way for build/link the blenderplayer
changes, so although it's working I'm not sure this is the best code (e.g. I
couldn't make forward declaration to work in GPG_Application.h for the struct
GlobalSettings so I ended up including KX_KetsjiEngine.h)

[note: I talked with Brecht and he find this is an ok solution. He implemented
it originally so it's good to have his go. However I still think there must be a way to make forward declaration to work. I will see with other devs if there is a better solution]
[also I'm likely renaming glsl to flags later if there are more settings stored in the flags to be used. But for now we are only handling glsl flags]
2011-09-11 05:54:07 +00:00
cfa83b0888 use vertex arrays for 3d view grid floor, reduce calls to glColor3ubv. clanup some unrelated odd formatting in draw_rotation_guide. 2011-09-11 05:50:44 +00:00
57fcea44df draw grid lines in 1 loop rather then 2. 2011-09-11 05:10:27 +00:00
dd31b3265a change grid floor loop
- split out axis drawing into its own loop (makes it more readable)
- left GRID_MIN_PX at 1.0 by mistake last commit.
2011-09-11 04:56:32 +00:00
6eaae376a8 simple changes to grid drawing logic.
- make ortho grid drawing use vertex arrays
- make perspective view floor drawing cache result of UI_ThemeColorShade so its not called on every line.
- make perspective view floor only loop once on each axis when the grid floor isnt being drawn (was looking over all grid lines for no reason).
- add UI_GetColorPtrShade3ubv() to replace UI_GetColorPtrBlendShade3ubv() when no blending is needed.
2011-09-11 04:31:09 +00:00
599cd56f53 minor edits / cleanup - no functional changes.
- use 'const float *' and array size in some function declarations.
- replace macros for BLI_math functions INPF, VECCOPY, VECADD etc.
- remove unused VertRen.clip struct member.
- remove static squared_dist() from 2 files, replace with BLI_math function len_squared_v3v3().
- use vertex arrays for drawing clipping background in the 3D viewport.
2011-09-11 02:50:01 +00:00
3a5f2272ad cmake edits to navmesh so includes are not added unless the game engines enabled. 2011-09-11 00:08:07 +00:00
Xiao Xiangquan
e715a7185c fix the finnish language name 2011-09-10 16:53:58 +00:00
fbf3a76f1d Fix #28609: UV Sphere Operator Panel allow Segments and Ring to be manually set to 0
Set hard min for segments and rings to 3.
Lower values doesn't make real sense and can only confuse.
2011-09-10 16:46:30 +00:00
4e9381bc35 Fixed for navmesh on FreeBSD. Oatch by sambler, thanks! 2011-09-10 14:55:14 +00:00
782a7a3677 Change priority for editor util library. Gave linking errors here. 2011-09-10 14:28:34 +00:00
bdd4aa27b0 Another set of fixes for recats: osx uses different order of arguments for sort_r
and it's callback.

Also do not use char constants like 'NAVM' which is casting to int.
And added defautl section to switch in KX_NavMeshObject::DrawNavMesh.
2011-09-10 14:12:15 +00:00
322dbc9a0f use vertex arrays for wireframe octahedral bone drawing. 2011-09-10 12:07:16 +00:00
357febc168 fix for building with collada and some other warnings 2011-09-10 09:38:38 +00:00
8ed1c07a7b Navigation Mesh Modifier:
* Fix scons define for operator append
* Don't use abbreviations in the UI.
2011-09-10 09:21:46 +00:00
571f7db529 MSVC build fix by MiikaH for NAVMESH. Thanks! :) 2011-09-10 09:06:42 +00:00
e86bda9a5b Compile fix for scons:
* Don't compile with navmesh_conversion.cpp if Game engine is disabled.
2011-09-10 08:25:03 +00:00
21f4ef77c0 Fixing bugs after Recast & Detour branch merge
*The eModifierType_NavMesh enum define was added before WeightVG ones, in ModifierType, breaking file load for WeightVG modifier. New modifier should always be added at the end of that enum!
2011-09-10 07:58:42 +00:00
1334d3cb45 NAVMESH Modifier was not alphabetical correct in the modifier list, as the others. 2011-09-10 07:14:35 +00:00
01dca44a84 disable navmesh feature when building without the game engine. 2011-09-10 04:21:58 +00:00
fb4abf2e41 fixed linking with CMake 2011-09-10 03:42:45 +00:00
0128218254 recast and detour patch now builds again with GCC
- rearrange structs to work for 64bit
- define all vars before goto's
- ifdefs for qsort_r/qsort_s
- dont cast pointers to int only for NULL checks
- dont printf STR_String directly, get the char pointer from it

also minor change to gpu py module, no need to pass empty tuple to PyObject_CallObject, can just be NULL
2011-09-10 03:07:26 +00:00
23b843130b fix own mistake in recent commit, was using glIndexPointer incorrectly. 2011-09-10 01:39:21 +00:00
a7f3e347b7 SVN maintenance. 2011-09-09 22:02:12 +00:00
5d4a5b47a0 BGE: merge Recast & Detour branch (sock-2010-nicks).
Add navigation mesh capability to the BGE, both by logic bricks and python.
Add tools to creation navigation mesh in the creator:
- manualy
- automatically from existing mesh with "object.create_navmesh" operator
- automatically from existing mesh with "Navigation mesh" modifier
Editing navigation mesh is possible via special modifier edit mode.
Creation and modification of Navigation mesh is also possible at runtime in the BGE.

Documentation at http://wiki.blender.org/index.php/User:Nicks/Gsoc2010/Docs

Warning: No upgrade is provided for blend files created under the branch.
         If you load a blend with navigation data created with a branch
         build, it will likely crash blender or behave incorrectly.
2011-09-09 21:28:56 +00:00
673552502b svn merge -r 40061:40078 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-09 19:30:33 +00:00
4b1a8d62e1 use opengl vertex arrays for the base widgets, their rounded corners, arrows and emboss. (note, this is from OpenGL 1.1 from 1992, nothing fancy), gives moderate speedup on my system when showing many buttons (10% - 15%). 2011-09-09 14:44:36 +00:00
657fa2494f [#28595] Select similar edges by face angles ignores z component of normal angles
Patch provided by Andrew Wiggin (ender79). Thanks!
2011-09-09 14:04:33 +00:00
5fc9baa962 warning fixes 2011-09-09 13:46:47 +00:00
8c1b4f8e05 Fix #28590: Sculpt Overlay Texture in Viewport Glitched and Wrong icon for Overlay Option?
Use clamp to border for fixed textures.
2011-09-09 13:42:22 +00:00
a3ac15db3d error (case insensitive search replace) 2011-09-09 13:37:17 +00:00
40481af180 replace magic numbers with defines to make the interface source more readable.
only functional change is the uiWidgetBase struct stored up to 64 verts, changed this to 36 since thats the most that is used atm, added assert if this ever changes.
2011-09-09 13:10:18 +00:00
8af4b90f07 Hotkey tweaks: Start/End frame jumping back to Shift-Left/Right
I'd moved them to Ctrl-Shift-Left/Right having thought that they were
for some reason now conflicting with some other hotkeys. Apparently
not.
2011-09-09 13:02:15 +00:00
67ea3180d9 Patch [#23443] Change outliner filter into search
Shane Ambler (sambler) for this 12-month vintage!

From description:
One thing with the outliner filter box is it only filters items that
are currently visible. To find what you want you need to manually
expand a few levels so that what you want to find is visible.

This small patch expands items when filtering is done - effectively
turning it into a search.

Currently this does not alter the datablocks view as expanding all
entries takes waaaay tooooo long.
I prevent the expansion of RNA entries for userprefs which prevents
infinite recursion but the datablocks list is just too big for this
approach. I think it would need a custom outliner_build_tree for a
full search.
2011-09-09 12:46:07 +00:00
ca170a8ed6 forgot to resolve one conflict in previous merge 2011-09-09 12:37:56 +00:00
Nathan Letwory
bef9509565 Apply small patch by Shane Ambler:
* inline of math funcs for Apple PPC
* eltopo big/little endian ifdef
2011-09-09 12:23:45 +00:00
c1c4743696 svn merge -r 39975:40061 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-09 12:21:41 +00:00
01744abd81 GPU: add gpu python module with export_shader() function to export GLSL shader.
shader = gpu.export_shader(scene,material) 

Returns the GLSL shader that blender generates to produce the visual effect
of material in scene for the purpose of reusing the shader in an external engine.
This function is meant to be used in a material exporter so that the GLSL
shader can be exported entirely. The return value is a dictionary containing the
shader source code and all associated data. 

The full documentation is under sphinx.

Warning: there has been an API between the patch and this commit:
uniform['lamp'] and uniform['image'] now return python reference to 
ID block instead of ID name as before. The X3D exporter that uses this
function must be adapted.
2011-09-09 11:55:38 +00:00
2b33c6b0b2 workaround for msvc not supporting variable length args in macros. 2011-09-09 11:54:13 +00:00
fe48e008e5 Fix #28392: some selection operators were working in linked scenes, others not.
This allows all object selection operators now, useful for inspecting the scene.
2011-09-09 10:15:14 +00:00
a59ba9a519 - turn RNA_warning into a macro which includes the function name (was being written in manually but had incorrect func names in places).
- add __func__ define to BLI_utildefines.h for MSVC.
2011-09-09 01:29:53 +00:00
ae7401751c SVN maintenance. 2011-09-09 00:46:00 +00:00