Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-23deprecated world settings were being used making new world's have zero ↵Campbell Barton
gravity in the game engine. Double checked these aren't used anymore by renaming the vars in DNA_world_types.h
2009-08-102.5: Sound branch merge!Joerg Mueller
See mailing list for additional information.
2009-08-01svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22075:22099Campbell Barton
2009-07-31remove more unneeded args, also allow ipo to animate the ref value for ↵Campbell Barton
KX_BlenderMaterial's
2009-07-31svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r21908:22075Campbell Barton
2009-07-31remove some unused function argsCampbell Barton
2009-06-28BGE Fix for no redrawing.Campbell Barton
Was caused by un-initialized engine ticrate, do_versions was working on 2.4x but isnt in 2.5 so just add a zero check when getting from the world.
2009-06-21Spring CleaningCampbell Barton
* removed radiosity render code, DNA and RNA (left in radio render pass options), we'll get GI to replace this probably, better allow baking to vertex colors for people who used this. * removed deprecated solid physics library, sumo integrations and qhull, a dependency * removed ODE, was no longer being build or supported * remove BEOS and AMIGA defines and references in Makefiles.
2009-06-10fix for bug #18898: GE perspective 3D View not working properly (missing LENS)Dalai Felinto
note: I'm not changing GamePlayer files. There is no such a thing as 3D view camera in gameplayer (override_camera).
2009-05-23BGE: fix memleaks.Benoit Bolsee
SCA_RandomActuator: The random generator was shared between replicas and not deleted. Added ref counting between replicas to allow deletion at the end. KX_Camera: The scenegraph node was not deleted for temporary cameras (ImageMirror and shadow), causing 500 bytes leak per frame and per shadow light. KX_GameActuator: Global dictionary buffer was not deleted after saving. KX_MotionState: The motion state for compound child was not deleted KX_ReplaceMeshActuator: The mesh was unnecessarily converted for each actuator and not deleted, causing large memleak. After these fix, YoFrankie runs without memleak.
2009-05-23BGE: Random sensor will produce true random sequence of events when seed is ↵Benoit Bolsee
set to 0 in the GUI (the actual seed value is stored in the sensor seed attribute). Positive values will use fixed pseudo random sequence.
2009-05-21BGE: GUI control over frame rate, logic rate, physics rate and physics subrate.Benoit Bolsee
Four new buttons in World settings to control frame rate: fps: Nominal frame rate in frame per second. Also sets the physics timestep = 1/fps phys: Maximum number of physics timestep per game frame in case the actual fps is less than nominal. This allows the physics to keep up with real time even if the graphics slows down the game. sub: Fixed number of simulation substeps per physic timestep. Improves the precision of the physics simulation. Useful for fast moving objects for example. log: Maximum number of logic steps per game frame in case the actual fps is less than nominal. This allows the logic system to follow the physics simulation. Upper bound = phys (setting the value higher than phys has no effect). On games with heavy logic system, it is useful to set this value to 1, to keep logic time under control. All these values were already accessible from Python except phys: GameLogic.getMaxPhysicsFrame(): Gets the maximum number of physics frame per render frame. GameLogic.setMaxPhysicsFrame(phys): Sets the maximum number of physics timestep that are executed per render frame. Higher value allows physics to keep up with realtime even if graphics slows down the game. Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate) maxphysics/ticrate is the maximum delay of the renderer that physics can compensate. phys: integer
2009-05-18BGE Dome: removing of size option and adding tilt option.Dalai Felinto
- Size adjustments can be accomplished with warp mesh data now. So we get a free spot in the GUI for a tilt option. - Tilt option to tilt the camera (for planetarium domes). Angle is in degree from -180 to +180. It's needed for planetarium domes (as this one http://domejunky.blogspot.com/2009/05/dome-corrected-bge.html ). - This is the last commit regarding dome code I expected to 2.49. I consider this feature full implemented now. (working on docs now)
2009-05-07BGE performance, 3rd round: culling and rasterizer.Benoit Bolsee
This commit extend the technique of dynamic linked list to the mesh slots so as to eliminate dumb scan or map lookup. It provides massive performance improvement in the culling and in the rasterizer when the majority of objects are static. Other improvements: - Compute the opengl matrix only for objects that are visible. - Simplify hash function for GEN_HasedPtr - Scan light list instead of general object list to render shadows - Remove redundant opengl calls to set specularity, shinyness and diffuse between each mesh slots. - Cache GPU material to avoid frequent call to GPU_material_from_blender - Only set once the fixed elements of mesh slot - Use more inline function The following table shows the performance increase between 2.48, 1st round and this round of improvement. The test was done with a scene containing 40000 objects, of which 1000 are in the view frustrum approximately. The object are simple textured cube to make sure the GPU is not the bottleneck. As some of the rasterizer processing time has moved under culling, I present the sum of scenegraph(includes culling)+rasterizer time Scenegraph+rasterizer(ms) 2.48 1st round 3rd round All objects static, 323.0 86.0 7.2 all visible, 1000 in the view frustrum All objects static, 219.0 49.7 N/A(*) all invisible. All objects moving, 323.0 105.6 34.7 all visible, 1000 in the view frustrum Scene destruction 40min 40min 4s (*) : this time is not representative because the frame rate was at 60fps. In that case, the GPU holds down the GE by frame sync. By design, the overhead of the rasterizer is 0 when the the objects are invisible. This table shows a global speed up between 9x and 45x compared to 2.48a for scenegraph, culling and rasterizer overhead. The speed up goes much higher when objects are invisible. An additional 2-4x speed up is possible in the scenegraph by upgrading the Moto library to use Eigen2 BLAS library instead of C++ classes but the scenegraph is already so fast that it is not a priority right now. Next speed up in logic: many things to do there...
2009-05-01BGE: New function GameLogic.setMaxLogicFrame() to allow better control over ↵Benoit Bolsee
the time spent on logic. This function sets the maximum number of logic frame executed per render frame. Valid values: 1..5 This function is useful to control the amount of processing consumed by logic. By default, up to 5 logic frames can be executed per render frame. This is fine as long as the time spent on logic is negligible compared to the render time. If it's not the case, the default value will drag the performance of the game down by executing unnecessary logic frames that take up most of the CPU time. You can avoid that by lowering the value with this function. The drawback is less precision in the logic system to physics and I/O activity. Note that it does not affect the physics system: physics will still run at full frame rate (actually up to 5 times the ticrate). You can further control the render frame rate with GameLogic.setLogicTicRate().
2009-04-30BGE 2dFilters: Revert of part of own commit [rev. 19687]Dalai Felinto
Therefore we still need to find a better way to solve this problem: [#18154] 2dFilter and motion blur should run only once to all the scenes: http://projects.blender.org/tracker/?func=detail&aid=18154&group_id=9&atid=127
2009-04-26BGE: Fix Orthographic mode and viewport scalingBenoit Bolsee
- the BGE now uses correct glOrtho projection whe camera is in orthographic mode -
2009-04-23Fix for part of bug #18496: issue with light state switchingBrecht Van Lommel
when using Dome.
2009-04-23BGE Dome update:Dalai Felinto
* Enviroment Map implemented (replacing truncated mode 2). - Now it's possible to pre-bake animated (or static) EnvMaps to use with Cube Map textures. * Enabling 2DFilter in Dome mode - no GL_DEPTH_BUFFER supported though. * Tweaking GameSettings menu (centralizing buttons)
2009-04-23BGE bug #17670: Python controlled mist doesnt work in textured mode.Benoit Bolsee
2009-04-21BGE: show profile in millisecond in addition to percentage.Benoit Bolsee
2009-04-14BGE: Occlusion culling and other performance improvements.Benoit Bolsee
Added occlusion culling capability in the BGE. More info: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.49/Game_Engine#BGE_Scenegraph_improvement MSVC, scons, cmake, Makefile updated. Other minor performance improvements: - The rasterizer was computing the openGL model matrix of the objects too many times - DBVT view frustrum culling was not properly culling behind the near plane: Large objects behind the camera were sent to the GPU - Remove all references to mesh split/join feature as it is not yet functional
2009-04-122DFilter bugfixes:Dalai Felinto
[#18154] 2dFilter and motion blur should run only once to all the scenes [#18504] The GL_PROJECTION matrix is being reset by the 2dfilter.
2009-04-08Patch #18462: Fisheye (Dome) and Spherical Panoramic mode in BGE.Benoit Bolsee
User guide: http://wiki.blender.org/index.php/Dev:Source/GameEngine/Fisheye_Dome_Camera Fixed two bugs from original patch: - deleting a text will clear the warp field from Game framing settings - removed spurious black dots along the edge of the cube map in the gameplayer Known limitation: - resizing of the screen doesn't work in the gameplayer Known bugs: - Texture with reflexion are not rendered correctly - Spurious problems with light
2009-04-08BGE Scenegraph and View frustrum culling improvement.Benoit Bolsee
This commit contains a number of performance improvements for the BGE in the Scenegraph (parent relation between objects in the scene) and view frustrum culling. The scenegraph improvement consists in avoiding position update if the object has not moved since last update and the removal of redundant updates and synchronization with the physics engine. The view frustrum culling improvement consists in using the DBVT broadphase facility of Bullet to build a tree of graphical objects in the scene. The elements of the tree are Aabb boxes (Aligned Axis Bounding Boxes) enclosing the objects. This provides good precision in closed and opened scenes. This new culling system is enabled by default but just in case, it can be disabled with a button in the World settings. There is no do_version in this commit but it will be added before the 2.49 release. For now you must manually enable the DBVT culling option in World settings when you open an old file. The above improvements speed up scenegraph and culling up to 5x. However, this performance improvement is only visible when you have hundreds or thousands of objects. The main interest of the DBVT tree is to allow easy occlusion culling and automatic LOD system. This will be the object of further improvements.
2009-03-09Fix: The debug lines of Physics Debug Visualization were drawn incorrectly ↵Erwin Coumans
when using overlay scenes (it was using the wrong camera)
2009-02-25Building the game engine with Solid/Sumo is now optional for scons using ↵Campbell Barton
WITH_BF_SOLID. Now Sumo is has been deprecated for a while we might want to remove it for 2.5.
2009-02-25remove warnings for the BGECampbell Barton
- variables that shadow vers declared earlier - Py_Fatal print an error to the stderr - gcc was complaining about the order of initialized vars (for classes) - const return values for ints and bools didnt do anything. - braces for ambiguous if statements
2009-01-25BGE patch 18211: Bug Fix for: [#18175] error on anaglyph view of a splitted ↵Benoit Bolsee
viewport.
2008-11-01Preparation to VideoTexture: everything but the VideoTexture module itself.Benoit Bolsee
Rename PHY_GetActiveScene() to KX_GetActiveScene(): more logical name Add KX_GetActiveEngine() new KX_KetsjiEngine::GetClockTime(void) to return current render frame time: if the CPU does not keep up with the frame rate, up to 5 consecutive logic frames are processed between each render frame, so that the logic system stays accurate even if the graphic system is slow. For the video texture module, it is important to stay in sync with the render frame: no need to update the texture for logic frame. BL_Texture::swapTexture(): texture id manipulation BL_Texture::getTex() : return material texture Enable video support in ffmpeg for Linux.
2008-09-25BGE patch: add Debug button next to object state. The object state mask will ↵Benoit Bolsee
be printed at runtime with the debug info as a comma separated list of state numbers (1..30) for each active state bit. The reserved property name __state__ is used for that purpose (users should not create a property with that name).
2008-09-18Fix for bug #3858: the game engine mouse focus sensor did not workBrecht Van Lommel
correct if there was more than one camera. It shoots rays from the active camera, but used the viewport from whichever camera was drawn last, now it uses the correct vieport.
2008-09-15Fix zoom level and clipping to be consistent with the viewportBrecht Van Lommel
when pressing P without a camera active, now it should match the view exactly. Fix an issue when setting a camera with an actuator and being in orthographic mode in the viewport without an active camera, it used a strange mix of the set camera and the viewport then.
2008-09-14Various game engine fixes:Brecht Van Lommel
* Fix issue with add transparency mode with blender materials. * Possible fix at frontface flip in the game engine. * Fix color buffering clearing for multiple viewports, it used to clear as if there was one. * Fix for zoom level in user defined viewports, it was based on the full window before, now it is based on the viewport itself. * For user defined viewports, always use Expose instead of Letterbox with bars, the latter doesn't make sense then.
2008-09-05Merge of first part of changes from the apricot branch, especiallyBrecht Van Lommel
the features that are needed to run the game. Compile tested with scons, make, but not cmake, that seems to have an issue not related to these changes. The changes include: * GLSL support in the viewport and game engine, enable in the game menu in textured draw mode. * Synced and merged part of the duplicated blender and gameengine/ gameplayer drawing code. * Further refactoring of game engine drawing code, especially mesh storage changed a lot. * Optimizations in game engine armatures to avoid recomputations. * A python function to get the framerate estimate in game. * An option take object color into account in materials. * An option to restrict shadow casters to a lamp's layers. * Increase from 10 to 18 texture slots for materials, lamps, word. An extra texture slot shows up once the last slot is used. * Memory limit for undo, not enabled by default yet because it needs the .B.blend to be changed. * Multiple undo for image painting. * An offset for dupligroups, so not all objects in a group have to be at the origin.
2008-07-29Game Engine: alpha blending and sortingBrecht Van Lommel
======================================= Alpha blending + sorting was revised, to fix bugs and get it to work more predictable. * A new per texture face "Sort" setting defines if the face is alpha sorted or not, instead of abusing the "ZTransp" setting as it did before. * Existing files are converted to hopefully match the old behavior as much as possible with a version patch. * On new meshes the Sort flag is disabled by the default, to avoid unexpected and hard to find slowdowns. * Alpha sorting for faces was incredibly slow. Sorting faces in a mesh with 600 faces lowered the framerate from 200 to 70 fps in my test.. the sorting there case goes about 15x faster now, but it is still advised to use Clip Alpha if possible instead of regular Alpha. * There still various limitations in the alpha sorting code, I've added some comments to the code about this. Some docs at the bottom of the page: http://www.blender.org/development/current-projects/changes-since-246/realtime-glsl-materials/ Merged some fixes from the apricot branch, most important change is that tangents are now exactly the same as the rest of Blender, instead of being computed in the game engine with a different algorithm. Also, the subversion was bumped to 1.
2008-07-14importing the GameLogic module was being done by adding the text "import ↵Campbell Barton
GameLogic" to the start of all scripts used in the game engine, this meant every error line number was off by 1 (quite annoying). better to do this to the dictionary that the scripts run with.
2008-07-10Sync with Apricot Game EngineBrecht Van Lommel
============================= * Clean up and optimizations in skinned/deformed mesh code. * Compatibility fixes and clean up in the rasterizer. * Changes related to GLSL shadow buffers which should have no effect, to keep the code in sync with apricot.
2008-06-17Use the scenes framerate for ipo and action framerate in the game engine, ↵Campbell Barton
was hard coded to 25.
2008-05-24fix BGE bug #8646: unusable anaglyph settingsBenoit Bolsee
The best rules for stereo rendering are now applied to Blender. Here is the new situation: 1) The focal distance is now settable through the GUI: select the camera (each camera can have a different setting) and go to the camera data (F9): the "Dof Dist" and "Dof Ob" can be used to set the focal distance for that camera. The "Dof Ob" is interesting because it sets the focal distance so that the center this object will appear at the surface of the screen when running the game. 2) The eye separation is automatically set to focal_distance/30, which is considered to be a reasonable value. If you need a different value, you can always use Python scripting. Notes: - If you switch camera during the game, the focal distance will also change unless you have set the focal distance by scripting, in which case it overwrites the focal distance setting of all cameras. - If you don't set the focal distance in the camera data or by scripting, the default value will be used. The default value corresponds more of less to the near clipping plane which means that all the objects will be very far with little 3D effect. - If you don't set the eye separation by scripting, it is automatically computed as focal_distance/30, regardless on how the focal distance was set.
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-03-22Correction on BGE fixes:Benoit Bolsee
- check that an object has been created before setting the physics environment - check that there is an active camera before using it - when a camera is deleted, remove it from m_cameras list
2008-03-10BGE memleak fixed: mesh/material not deleted when switching sceneBenoit Bolsee
2008-03-01Various mem leaks related to CValue reference count fixedBenoit Bolsee
2008-02-16patch 8235 8218 8211 added: various gameengine improvements, fixed windows ↵Benoit Bolsee
project files
2007-10-232d-Filters feature and actuators.Hamed Zaghaghi
2007-09-29GE Patch by Hamed Zaghaghi - Adding Motion Blur to the Game Engine.Mal Duffin
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!
2006-12-16contribution from RCRuiz:Erwin Coumans
drawing of rigidbody constraint pivots, and allow passing of full constraint frame.
2006-12-03more work on Bullet 2.xErwin Coumans
2006-12-03gameengine: reverted some timing experimentErwin Coumans