Commit Graph

99 Commits

Author SHA1 Message Date
b20f6e27ff Commit patch #8724:
This patch modifies the BL_ConvertMesh method from the data conversion module in order to reduce the number of polygon
material objects that are created.

Normally, there should be only one material object for each material bucket(the group of meshes that are rendered together
with a single material). However, the number of materials that are created right now in the converter is much higher
and eats a lot of memory in scenes with large polygon counts. This patch deletes those material objects(KX_BlenderMaterial)
that are used only temporarily in the converter(and are now deleted only when the converter is destroyed, at the end
of the game).

For a cube that's subdivided 7 times(90+ k polygons) I get 200 MB usage in the game engine in 2.45 and 44 MB with a
svn build with this patch applied if the "Use Blender Materials" option is activated in the Game menu.
2008-03-23 23:12:40 +00:00
1f0ae739cb BGE memleak fix: OpenGL Display Lists not deleted when switching scene
This fix also improves performance of Display List for replica objects: Display List ID caching is now enabled for replica objects which avoids a tree search on each frame and for each replica.
2008-03-09 22:02:32 +00:00
Nathan Letwory
f6dcb28560 * remove constness. 2008-02-10 20:41:59 +00:00
Nathan Letwory
8a91b29b0f * make some explicit casts to make some compilers happy 2008-02-10 20:00:25 +00:00
47b53510a5 merging game_engine branch changes into trunk, 2d-filters and opengl speedup 2008-02-04 02:33:27 +00:00
7b2e348d4f This is a modified version of this patch:
[#7660] Solaris 10 x86 support (Makefiles)

Hopefully it will not mess up anything for anyone else.  I removed
some hardcoded static libs and made NAN_*_LIB definitions so they could be 
overridden, to allow greater flexability.

Let me know if there are any problems/questions.

Kent
2007-12-05 16:58:52 +00:00
bf4d79c47b Patch [#7743] Enable display lists when vertex arrays are enabled, by Ovidiu Sabou.
this patch enable GE two use both vertex array and display lists. and speed up the engine a little, by the way thanks ovidiu.
2007-11-06 18:39:16 +00:00
af169b41fd 2d Filters updated, now you can use custom filter and write your own GLSL shader program to filter rendering result. 2007-11-06 12:16:12 +00:00
86278584f3 Tweaks I needed to get blender compiling on my new macbook running leopard.
Kent
2007-11-05 17:27:11 +00:00
aa774427f6 GE Patch(#7684) by Ovidiu Sabou, Speedup patch for GE in OpenGL Display Lists. 2007-11-04 05:31:20 +00:00
ef9ead78f2 GE Patch(#7684) by Ovidiu Sabou, Speedup patch for GE in OpenGL Display Lists. 2007-10-29 19:41:25 +00:00
21eb3e11e0 2d-Filters feature and actuators. 2007-10-22 20:24:26 +00:00
51b56a4d3f GE Patch by Hamed Zaghaghi - Adding Motion Blur to the Game Engine.
I reviewed the code, suggested an update ( initialising accumulation buffer ), and tested the resulting update successfully.

It's great to see more GE developers!GE Patch by Hamed Zaghaghi to add motion blur to the GE ( using the accumulation buffer ).

I reviewed code and tested, gave some feedback ( initialising accumulation buffer ) which was implemented straight away, and re-reviewed.

It's great to have another GE coder on the team!
2007-09-29 18:51:01 +00:00
4e2143f639 This commit fixes up a bunch of svn properties to hopefully make things a little nicer for everyone.
Patch provied by gsrb3d

bug tracker #7061

Kent
2007-08-28 10:07:08 +00:00
fbbc038cb6 Fix provided by Mal:
- 3D Window, textured drawmode shows lighted again for non-textured faces
- Engine: faces show lighted again when 3d windows was Solid draw mode

Example:
http://www.candointeractive.com/blender/BlenderViewport.jpg
2007-05-20 15:55:49 +00:00
c0dcbacd4b post release update of the scons build system for os x powerpc
assume os x 10.4 as defaut
2007-05-19 22:57:28 +00:00
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
3947f9b885 1). Fix for cube maps in the player.
ImBuf pointer was being overridden causing the ibuf->rect to be zero.

2). Added vertex attributes for tangents in in vertex arrays.
This, probably needs the extensions enabled (glEnableVertexAttribArrayARB, glDisableVertexAttribArrayARB), but am a little
weary about enabling them right now.
2007-02-01 02:10:38 +00:00
56a4f529fd Two errors caused by previous commit;
One related to extension handling on Linux, the other is a fix for compiling with Irix and STL
2007-01-23 13:25:20 +00:00
557360224f Klockwork (http://www.klocwork.com) report; game engine fixes, related to 'Use Blender Materials'
/source/gameengine/Ketsji/BL_Material.cpp;16;18;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;293;30;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;314;30;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;341;30;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;1264;40;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;1194;40;Critical;1;
/source/gameengine/Ketsji/BL_Shader.cpp;916;30;Critical;1;
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp;257;24;Critical;1;
/source/gameengine/Ketsji/KX_BlenderMaterial.cpp;262;24;Critical;1;
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp;195;24;Error;3;
/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp;1209;16;Critical;1;
2007-01-21 04:45:44 +00:00
cc041b114b Add a break, to get the bumpmap demo running again! 2007-01-13 09:00:17 +00:00
4a1a766a16 = game engine fixes=
two fixes to the GE by Charlie
2007-01-08 04:22:23 +00:00
4a70681ce2 patch by Charlie, related to recent changes of multi-uv/lightmap generation. This fix makes it possible to use lightmaps in the game engine. 2007-01-07 04:39:39 +00:00
627261da50 Patch by Vladimír Marek (neuron), part of bugfix #5298
Solaris CC compiler choked on wrong .h prototypes for functions using
'const' arguments.
2006-11-25 16:35:56 +00:00
24f4440d05 CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on. 2006-11-17 02:27:12 +00:00
011749eb08 attempt to fix crashes (reported under Linux)related to OpenGL extension queries.
seems to be a known issue, combo of pthreads, dlopen and libGL cannot call dlclose !?!
Let's cross the fingers this works...
2006-07-06 21:21:16 +00:00
cc8f876950 applied Charlies patch (commenting out unused extensions that cause compile problems under Solaris and probably other platforms) 2006-05-09 18:23:45 +00:00
13e0d22d89 a lot of work in a few small changes to improve penetration depth. and some fixes in shaders from Charlie. 2006-04-13 05:11:34 +00:00
8dbe14b70b applied Charlies patch, reverted some GLSL shader stuff, improved penetration depth estimate. 2006-04-11 05:57:30 +00:00
bb23675a9f fixed two issues that hinder linux build 2006-04-05 02:01:34 +00:00
36f498aae0 made some gfx debug code win32 specific 2006-04-03 01:28:43 +00:00
6839ec6640 applied Charlies patch for game engine graphics. display list support, and bumpmapping shader improvements. 2006-04-02 21:04:20 +00:00
97a4e4f88d a bunch of small warnings fixes:
newline missing at end of file fixes:
TypedConstraint.h WheelInfo.h RaycastVehicle.h VehicleRaycaster.h
CcdPhysicsEnvironment.cpp

radiance_hdr.c fixed the following warning by changing type of local variable:
radiance_hdr.c:357: warning: pointer targets in passing argument 3 of
‘fwritecol rs’ differ in signedness

edgeRender.c,edgeRender.h same thing changed type of local vars to get rid
of warnings about signedness

RAS_OpenGLRasterizer.cpp removed unused variable unit line 1295

Kent
2006-03-24 16:40:32 +00:00
Chris Want
a30dc3866c Some issues compiling on Irix:
+ the code in writemovie.c no longer compiles (since the renderer
refactor). I have #if 0-ed it.

+ OpenGL on Irix doesn't have GL_ARB_vertex_program

+ mmap on Irix doesn't like MAP_ANON.

+ If using the MipsPro 7.3 compiler, the variable MIPS73_ISOHEADERS
can be set to point to the directory with those weird C++ headers
that don't have .h in the name
2006-02-22 23:34:12 +00:00
e4790aef46 Improved OpenGL Shader Language support for game engine. The python interface is much simplified. Drawback is that scripts need to be updated next release. Testfiles:
http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&file=demos-2.42.zip

patch by Charlie Carley (snailrose @ elysiun.com)
2006-02-13 05:45:32 +00:00
Nathan Letwory
ef1b7a5735 ==SCons==
+ 'scons blenderplayer' builds blender AND blenderplayer now (tested on Linux
  only, but was only linking issue, so should work on other platforms too).

  NOTE: I noticed some compileflags for GE specific libs that were left out -
  I re-enabled them in the SConscripts, but I'm going to do a test build my-
  self now, so if there are problems with them on win32, I probably already
  know about them :)
2006-02-07 21:24:36 +00:00
Nathan Letwory
3bb82a27fc == SCons ==
* This commit is all of the rewrite work done on the SCons system. For
  documentation see doc/blender-scons.txt and doc/blender-scons-dev.txt.
  Also http://mediawiki.blender.org/index.php/BlenderDev/SconsRefactoring
  contains valuable information, along with what still needs to be done.

    - linux, os x and windows compile now.
    - files are compiled to BF_INSTALLDIR (see config/(platform)-config.py)
        - NOTE: Jean-Luc P will commit sometime during the weekend proper
          appit() for OS X. For now, copy the resulting binary to an
          existing .app bundle.
    - features:
        - cleaner structure for better maintenance
        - cleaner output during compile
        - better handling of build options
        - general overall speed increase
        - see the wiki for more info

  Cygwin, FreeBSD and Solaris systems still need work. For these systems:
    1) copy a config/(platform)-config.py to ie. config/cygwin-config.py
    2) set the proper defaults for your platform
    3) mail me at jesterking at letwory dot net with you configuration. if
       you need any modifications to the system, do send a patch, too.

  I'll be giving first-aid today and tomorrow, after that it'll be all
  regular development work :)

  /Nathan
2006-02-04 14:15:10 +00:00
77c4eef90b after much suffering, got GE build and work almost cleanly on Os X
(with make, need to confirm with scons)

after cleaning the changes are in fact minimal, but the situation
is still quite a bit hackish.

Game engine coders, there is also quite a number of warnings that
need to be fixed.

current situation is that everything seems to work, but GLSL shaders
spew a lot of errors on console and blender may crash on exit when
a GLSL shader was used. ARB stuff works fine.
2006-01-16 22:27:30 +00:00
6f3e593105 more graphics patches from Snailrose,
remove constraint fixed,
Bullet timestep now subdivides Blender game engine timestep, so it runs 60 hertz,
SphereShape reverted to old style, so no support for non-uniform scaled spheres for now,
2006-01-15 11:34:55 +00:00
fbc977e48c attempt to avoid nameclashes (although it is already in a namespace) -> extension names renamed from glXXX to blXXX. 2006-01-11 13:31:45 +00:00
b7be6620d6 applied patch from snailrose, related to multi-platform OpenGL extensions. 2006-01-10 06:34:42 +00:00
88a8508b34 Got the armatures, GLSL shaders and other snailrose changes to work for Linux.
now attempting to get this in cvs :)
2006-01-08 09:11:17 +00:00
9f429be173 removed testing code 2006-01-07 02:00:44 +00:00
bed24bc299 more work to get armatures/blender materials to work under non-windows platforms 2006-01-07 00:14:37 +00:00
f3a76a1851 removed extra characters 2006-01-06 09:40:00 +00:00
0002cd63a5 disable game engine and gameplayer for all platforms except windows.
Then after cvs is unfrozen, development can continue.
2006-01-06 09:02:53 +00:00
51368852ee Headerfile had wrong Capatalization.
Kent
2006-01-06 04:13:20 +00:00
2e6d576182 Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan.
Armatures are back
Split screen
Double sided lightning
Ambient lighting
Alpha test
Material IPO support (one per object atm)
Blender materials
GLSL shaders - Python access
Up to three texture samplers from the material panel ( 2D & Cube map )
Python access to a second set of uv coordinates

See http://www.elysiun.com/forum/viewtopic.php?t=58057
2006-01-06 03:46:54 +00:00
65a52fc419 - prepared for automatic game physics -> animation (ipo) conversion (this allows to use bullet for animation)
- default the m_edgecode to 65535, the wireframe was invisible. when is the edgecode available again ?
- added an extra condition, nearsensor is not yet working for bullet, but it crashed.
2005-08-22 15:47:56 +00:00
210ab537ce improved deactivation, exposed more tweakable parameters to python,
fixed some copy/paste bug in inertia/inverse inertia.
colors in deactivation debug
2005-08-04 19:07:39 +00:00