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
2013-11-04BGE Rasterizer Cleanup: Cleaning up some includes.Mitchell Stokes
2013-11-04BGE Rasterizer Cleanup: Removing RAS_IRenderTools and moving the ↵Mitchell Stokes
functionality to RAS_IRasterizer. RAS_OpenGLRasterizer is a bit of a mess now with references to Ketsji and other modules it shouldn't be accessing.
2013-08-17BGE: Adding partial support for LibLoaded lights with GLSL materials.Mitchell Stokes
Any GLSL materials loaded after lights are LibLoaded will now use the lights in heir shaders. This includes materials loaded from the same scene as the LibLoaded lights. We could later add a new flag to LibLoad to recompile all existing shaders, but this commit should offer a lot more flexibility as is.
2013-01-13BGE: Adding preliminary alpha shadow support for Simple shadow maps. They do ↵Mitchell Stokes
not work in the viewport nor do they work for Variance shadow maps.
2012-12-25BGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing ↵Mitchell Stokes
the viewport when handling shadow buffers. KX_LightObject::BindShadowBuffer() now updates the canvas with the new viewport information from bf_gpu.
2012-11-21py api cleanup, replace use...Campbell Barton
- PyLong_FromSsize_t --> PyLong_FromLong - PyLong_AsSsize_t --> PyLong_AsLong In all places except for those where python api expects PySsize_t (index lookups mainly). - use PyBool_FromLong in a few areas of the BGE. - fix incorrect assumption in the BGE that PySequence_Check() means PySequence_Fast_ functions can be used.
2012-10-22style cleanupCampbell Barton
2012-10-21style cleanup: bge, switch statements mostly.Campbell Barton
also left bmesh decimator on in previous commit.
2012-10-15code cleanup: check for msvc directly when using warning pragma's.Campbell Barton
2012-09-16style cleanupCampbell Barton
2012-07-29code cleanup:Campbell Barton
- building without python works again - rename maxi/mini to i_max/i_min (so thay are available for function names) - some minor edits to IK stretch setting (no functional changes).
2012-07-24BGE: Bringing over the dynamic lamp properties fixes from Cucumber (thanks ↵Mitchell Stokes
to Daniel Stokes). This means the following KX_LightObject properties now have support when using GLSL materials (in addition to those already supported): * distance * lin_attenuation * quad_attenuation * spotsize * spotblend
2012-05-01Merging phase 1 of the BGE Harmony branch:Daniel Stokes
* Shadow color now usable in the BGE * Simplified the shadow panel while "Blender Game" renderer is active * Added variance shadow maps for the BGE * Buffered shadows on sun lamps in the BGE (orthographic) * Light textures in the BGE
2012-03-24style cleanup: follow style guide for/with/if spacingCampbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-01whitespace bge editsCampbell Barton
2011-08-14bugfix:[#25603] bad shadows in stereo mode - patch by Juha Maki-KantoDalai Felinto
2011-02-25doxygen: gameengine/Ketsji tagged.Nathan Letwory
2011-02-23doxygen: prevent GPL license block from being parsed as doxygen comment.Nathan Letwory
2010-12-03- added GCC warning -Wstrict-prototypesCampbell Barton
- fixed bug in paste material, exposed by stricter warnings. - removed/renamed various shadowed vars. - removed BGE lamp.colour, only allow lamp.color attribute.
2010-10-31rename and negate DISABLE_PYTHON --> WITH_PYTHONCampbell Barton
2010-10-10enable building the game engine without bullet for scons & cmakeCampbell Barton
2010-09-15update for MingW/CMakeCampbell Barton
- ignore MSVC warnings when FREE_WINDOWS is defined to quiet warnings. - the CMake flags were not being set correctly making blender have weirdo colors (no -funsigned-char).
2010-07-27Fix #22986: glsl didn't take object hiding into account yet for lamps.Brecht Van Lommel
2010-04-18remove config.h references, was added for automake build system rev around ↵Campbell Barton
124-126 but isnt used by any build systems now.
2010-04-18various minor fixesCampbell Barton
- collada export would run MEM_freeN on an un-initialized pointer in some cases. - makesrna was missing a call to close a file. - text cursor update function was missing a NULL check for st->text. - possible (unlikely) un-initialized return value for bge python lamp.type, set error instead. - possible (unlikely) missing NULL terminator with strncpy for ffmpeg.
2010-02-12correct fsf addressCampbell Barton
2010-02-05BGE fix: KX_Lamp using strcmp wrongly + typo in rna_defineDalai Felinto
2009-09-30option to build the BGE without python, uses existing python check (cmake ↵Campbell Barton
and scons) when python is disabled videotextures are not built.
2009-08-10remove python2.x supportCampbell Barton
2009-06-29BGE PyAPI support for subclassing any BGE game type from python, scripters ↵Campbell Barton
define extra functions on gameObjects. Adding a UI to set the type on startup can be added easily. # ---- class myPlayer(GameTypes.KX_GameObject): def die(self): # ... do stuff ... self.endObject() # make an instance player = myPlayer(gameOb) # gameOb is made invalid now. player.die() # ---- One limitation (which could also be an advantage), is making the subclass instance will return that subclass everywhere, you cant have 2 different subclasses of the same BGE data at once.
2009-06-29BGE Py API using python3 c/api calls. include bpy_compat.h to support py2.xCampbell Barton
2009-06-28BGE Python APICampbell Barton
Remove the last of the odd C++/python wrapper code from http://www.python.org/doc/PyCPP.html (~1998) * Use python subclasses rather then having fake subclassing through get/set attributes calling parent types. * PyObject getset arrays are created while initializing the types, converted from our own attribute arrays. This way python deals with subclasses and we dont have to define getattro or setattro functions for each type. * GameObjects and Scenes no longer have attribute access to properties. only dictionary style access - ob['prop'] * remove each class's get/set/dir functions. * remove isA() methods, can use PyObject_TypeCheck() in C and issubclass() in python. * remove Parents[] array for each C++ class, was only used for isA() and wasnt correct in quite a few cases. * remove PyTypeObject that was being passed as the last argument to each class (the parent classes too). TODO - * Light and VertexProxy need to be converted to using attributes. * memory for getset arrays is never freed, not that bad since its will only allocates once.
2009-06-12use contains for ListValue and KX_GameObject types (has_key is deprecated by ↵Campbell Barton
python) eg. if 'prop' in gameOb: ... if 'GameOb' in sce.objects: ...
2009-06-09Fix for bug #18900: game engine lights in non-glsl mode did moveBrecht Van Lommel
anymore, missing matrix update. Also move some code to KX_LightObject to avoid duplication with player.
2009-05-22Fix for: energy IPO not supported in glsl mode (reported in the forum).Dalai Felinto
in fact I redid part of the last "fix", making it working properly now. Before we were changing Lamp->la . This is the Blender Lamp, we shouldn't touch it. So this part of the code is correct now. Things that could be tackled: - color attribute is returning negative values when NEGATIVE is toggled - objects with no material (default gray one) still don't support lamp spots (not spot lamp but the spot of the lamps)
2009-05-19BGE Py APICampbell Barton
use PY_SET_ATTR_FAIL and PY_SET_ATTR_SUCCESS return values so the fake subclassing can know if a value failed to be set or if it was missing from the type. (with PY_SET_ATTR_MISSING) Also noticed some other mistakes. - KX_LightObject, setting the type didnt check for an int. - KX_SoundActuator, didnt return an error when assigning an invalid orientation value - KX_GameObject, worldOrientation didnt return an error value.
2009-05-15BGE PyAPICampbell Barton
[#18701] Issues with camera.pointInsideFrustum method - note in docs that the projection matrix is not correct for first logic tick. Renamed... KX_Camera.isViewport -> KX_Camera.useViewport KX_Lamp.quat_attenuation -> KX_Lamp.quad_attenuation Deprecated KX_Camera.getProjectionMatrix(), KX_Camera.setProjectionMatrix() for projection_matrix attr Added most missing docs reported by the doc-checker script
2009-05-13BGE #18732: Python Light options don't work with GLSL materials. Commited ↵Benoit Bolsee
patch from dfelinto and moguri, thanks for the good work.
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-04-29ifdef's for future py3 support, after this adding py3 can mostly be done ↵Campbell Barton
with defines or batch renaming funcs (with the exception of CListValue slicing) . No changes for py2.x.
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-22BGE C++ APICampbell Barton
PyObjectPlus::ProcessReplica() is now called when any of its subclasses are replicated. This is important because PyObjectPlus::ProcessReplica() NULL's the 'm_proxy' python pointer I added recently. Without this a replicated subclass of PyObjectPlus could have an invalid pointer (crashing the BGE). This change also means CValue::AddDataToReplica() can be moved into CValue::ProcessReplica() since ProcessReplica is always called.
2009-04-22BGE C++ APICampbell Barton
Some functions used ProcessReplica(replica); others replica->ProcessReplica() Use the second method everywhere so the PyObjectPlus's ProcessReplica() can be called from its subclasses. Note that PyObjectPlus's ProcessReplica isnt used yet.
2009-04-22Patch from Mitchell Stokes for KX_Light to use attrdef'sCampbell Barton
Added type access to the SCA_PropertyActuator, added missing function in library docs.
2009-04-21BGE Python APICampbell Barton
Separate getting a normal attribute and getting __dict__, was having to do too a check for __dict__ on each class (multiple times per getattro call from python) when its not used that often.
2009-04-19BGE Python API cleanup - no functionality changesCampbell Barton
- comments to PyObjectPlus.h - remove unused/commented junk. - renamed PyDestructor to py_base_dealloc for consistency - all the PyTypeObject's were still using the sizeof() their class, can use sizeof(PyObjectPlus_Proxy) now which is smaller too.
2009-04-18Added m_zombie to the base python class (PyObjectPlus), when this is set all ↵Campbell Barton
the subclasses will raise an error on access to their members. Other small changes... - KX_Camera and KX_Light didnt have get/setitem access in their PyType definition. - CList.from_id() error checking for a long was checking for -1 against an unsigned value (own fault) - CValue::SpecialRelease was incrementing an int for no reason. - renamed m_attrlist to m_attr_dict since its a PyDict type. - removed custom getattro/setattro functions for KX_Scene and KX_GameObject, use py_base_getattro, py_base_setattro for all subclasses of PyObjectPlus. - lowercase windows.h in VideoBase.cpp for cross compiling.
2009-04-15Disable using KX_GameObjects in python that have been removed from the scene ↵Campbell Barton
(zombie objects) by raising a RuntimeError when accessing methods, attributes or passing to a function. Common cases of this are when python references an object from the AddObject actuator that has ended, or a scene has been loaded and the old objects freed. This means some scripts will raise errors now in certain cases but better give the error early rather then failing silently with strange hard to track down behavior & crashes. Added "isValid" attribute for checking objects are in a scene. At the moment it uses the SceneGraph Node to check of the objects valid but it might be better to do this in a more generic way so scenes, meshes etc also have this check.
2009-04-12BGE Python APICampbell Barton
added defines PY_SET_ATTR_FAIL, PY_SET_ATTR_MISSING and PY_SET_ATTR_SUCCESS This is useful when objects that have user defined attributes (GameObject and Scene) When calling setattr on the parent, a return value of PY_SET_ATTR_FAIL means the attribute exists but failed to be set, so don't set the custom attribute.