Needed to deal with OS like openSUSE where Python is installed to /usr/lib64
and don't work if it's getting bundled into <blender_version>/python/lib.
Thanks to Campbell to making this patch cleaner :)
the embed bge has its own DisableForText() routine which prepares the GL flags for the text render.
For some reason blenderplayer is taking a slim approach and going straight for the rendering. This routine helps to address this bug/case (non reported, foundin my own project files). If need arises we should move this to its own routine incorporating the other GL tests the embed bge performs.
Issue is caused by scaling for power of 2 dimensions and mipmapping that happens through GLU. It looks like the library cannot handle float colour values above 1.0 correctly. Since we are close to release I will just clamp the srgb result for now even though it will result in a small performance loss for 16 bit textures only.
I tried a few things before that, glGenerateMipmaps + no scaling (supported for 2.0 GL hardware and up), or using our own scaling instead of glu among them which worked very nicely and gave a speedup too. However, since we are close to release and there may be issues with GPU mipmap generation, see:
http://www.gamedev.net/topic/495747-another-glgeneratemipmap-question/
(old discussion but better be sure than sorry)
I went for the most compatible solution. Maybe after release this can be tested if other devs agree.
If you tried to rotate an edge that was part of a chain
between two faces, the join faces function would remove
the whole chain (else it would leave a 'spur') and then
rotate edge would crash looking for a vertex that is no
longer there.
Check for this case and disallow rotate if so.
[#30059] Shape Keys is gone in Blender if you use Add Object Actuator in BGE
[#30024] Segmentation fault after addObject when using shape keys
[#28683] segfault in shapekey conversion code when running a game (YF, level home) twice
*operator now works with few limitations:
-still no preview(will be back soon)
-rotation will not work if only one uv is stitched between islands(will need method to calculate uv normal for manifold)
Also fixed island calculation for UvElements, fixes a crash when uv sculpting with "Sculpt all islands" turned off
In preparation for code in progress that uses lists
allocated out of the knife arena. This also makes
existing code more readable and understandable IMO.
Also removed an #if'd out function that will not
ever be needed.
This is a kind of simplification/cleanup tool which joins adjacent faces and edges based on the angle.
I've written this as an exercise (since I havnt written a bmesh operator before), and because quite a few users were asking for the dissolve operator to be extended, but I think this kind of functionality needs its own operator.
access from specials menu and mesh menu.
notes
* this exposed a bug in angle_v3v3v3(). will merge fix into trunk after release.
* added utility function BM_vert_edge_angle(), to get the angle between 2 connecting edges of a vert.
added BM_mesh_elem_flag_enable_all (only had disable function), and add
argunt for vert/edge/face type.
use these functions from EDBM_flag_enable/disable_all (had duplicate
code).
* use polygons for selection (was using tessface)
* ensure tessfaces are created
* mirroring was commented as BMESH_TODO, but api calls now work so add back.
`_set` suffix was used in two ways (confusing)
* to set a flag to be enabled.
* to set a value passed as an argument.
now use enable/disable rather then set/clear for functions which change flags.
also remove BME_weld.c, the file didnt contain much code and the current extrude works well
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh)
* have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
* Exploded faces that were meant to be hidden were still created with invalid vertices (0,0,0,0).
* In normal cases this went unnoticed, but for example edge split modifier crashed when it encountered these faces.