* Bullet's convex hull implementation is significantly more robust than the one I implemented, as well as being faster. * This fixes bug [#32864] "Convex Hull fails in some cases." projects.blender.org/tracker/?func=detail&aid=32864&group_id=9&atid=498 That bug, and others like it, relate to the poor handling of co-planar surfaces in the input. Pretty much any model that is simple-subdivided a few times gave very bad results before, Bullet's implementation handles this much better. * In order to ensure a smooth transition, the Bullet output is translated into the existing HullTriangle hash structure. This makes it easy to ensure that the existing slot output stays the same; the interactions between the slots are somewhat complicated, detangling is a TODO. * Reviewed by Brecht: https://codereview.appspot.com/6741063
		
			
				
	
	
		
			34 lines
		
	
	
		
			1011 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1011 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/python
 | |
| Import ('env')
 | |
| 
 | |
| sources = env.Glob('*.c')
 | |
| 
 | |
| defs = []
 | |
| 
 | |
| incs = '../include ../../blenfont ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
 | |
| incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
 | |
| incs += ' ../../gpu ../../blenloader'
 | |
| incs += ' ../../makesrna ../../render/extern/include  #/intern/elbeem/extern'
 | |
| incs += ' ../../bmesh ../uvedit '
 | |
| 
 | |
| if env['OURPLATFORM'] == 'linux':
 | |
|     cflags='-pthread'
 | |
|     incs += ' ../../../extern/binreloc/include'
 | |
| 
 | |
| if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'):
 | |
|     incs += ' ' + env['BF_PTHREADS_INC']
 | |
| 
 | |
| if env['WITH_BF_GAMEENGINE']:
 | |
|     incs += ' #/extern/recastnavigation'
 | |
|     defs.append('WITH_GAMEENGINE')
 | |
| else:
 | |
|     sources.remove('mesh_navmesh.c')
 | |
| 
 | |
| if env['WITH_BF_INTERNATIONAL']:
 | |
|     defs.append('WITH_INTERNATIONAL')
 | |
| 
 | |
| if env['WITH_BF_BULLET']:
 | |
|     defs.append('WITH_BULLET')
 | |
| 
 | |
| env.BlenderLib ( 'bf_editors_mesh', sources, Split(incs), defs, libtype=['core'], priority=[45] )
 |