Age | Commit message (Collapse) | Author |
|
==============
svn merge -r15866:HEAD https://svn.blender.org/svnroot/bf-blender/trunk/blender
Alpha blending and sorting changes, but also include some initial
support for GLSL lamps in dupligroups (only one duplicate works at
the moment).
|
|
|
|
|
|
|
|
|
|
obcolor in the game engine, otherwise there's two ipo's
updating the same value, and which one is the final value is
undefined.
|
|
====================
* Added ObColor support, though it works different than for TexFaces.
It used a new ObColor option in the materials, which will modulate
the final color/alpha with the object color and alpha, also works
in the render engine.
* Made GLSL check the ZTransp flag. A material is now only drawn
transparent if this flag is enabled, a bit more consistent with the
render engine.
* Fix for bug #17359: crash related subsurf + editmode GLSL.
|
|
|
|
|
|
|
|
|
|
|
|
====================
Added support for some world settings, updated docs.
* Ambient color
* Exposure/Range
* Mist (implementation should be optimized)
http://www.blender.org/development/current-projects/changes-since-246/realtime-glsl-materials/
|
|
==============
* Made GLSL respect opaque/add/alpha/clip flags.
* Fix bug for all material types to correctly deal with
different transp flags in a single mesh.
* Also made 3d view material alpha code a bit easier to
understand.
|
|
==============
* More refactoring related to opengl lights, material state switching.
Also moved init_gl_stuff into the gpu module and removed the copy in
the game engine code.
* Fixed some issues with alpha drawing of GLSL materials in the 3d
viewport, and fix a bug with alpha + xray drawing in the same scene,
it should first do alpha, then xray, otherwise alpha doesn't blend
correct with solid.
|
|
|
|
==============
* Fix for crashes in last commit.
* Added "Refl" map input for textures.
|
|
==============
* Refactoring in the texture and material drawing code, moving
code into the gpu module, removing the duplicated versions
in the game engine.
* Made game engine text drawing work with GLSL. It works based
on filling in the default uv layer, so it requires a texture
with the text image and mapped as uv's to work.
|
|
|
|
|
|
|
|
|
|
|
|
=============
* Moved GLSL setting switching functions into the game engine
python API so they work in the blender player, and can do
better state switching.
* Also fixes bug #17331, error compiling with cmake.
* For the makers of test builds: it would be great if builds of
this revision or newer for various platforms could be made
available. We want to release a file to test and benchmark
GLSL on different graphics cards, and we need test builds for
this. Thanks!
|
|
==============
Fix for bug #17326: normal and tangents in the game engine
were computed different than other parts of Blender, this
makes the game engine use the same code as Blender.
Fix for part of bug #17307: normal maps not working correct
in editmode in some cases.
Fix for bug #17339: a crash on ATI cards in glTexSubImage1D
due to a mistake in the code. A patch to fix this was provided
by Yong Ch, thanks!
|
|
|
|
==============
* Made in game switching of GLSL options work. There is still
a one frame flicker that needs to be fixed.
* Added access to the estimated average framerate in the game
engine: GameLogic.getAverageFrameRate().
* Added acces to the blender build info from python:
Blender.Get("buildinfo")
* Various GLSL optimizations to allow more constant folding in
the glsl compiler, use glsl shadow functions to do shadow,
instead of own code, and fix an issue with opengl texture
color range.
|
|
=============
* Added options to disable lights, shaders, shadows, ramps,
nodes and textures other than col/alpha for GLSL, in the
Game menu.
* These have python access too to switch them in game, but
it doesn't work correct yet with display lists enabled.
* Fix issue with light lagging behind, debug stats drawing in
wrong color, and a number of other small fixes.
|
|
Also topology mirror crashed when using smooth + mirror. use eve->hash rather them eve->tmp.l for storing edit vert indices's.
|
|
- mainly to fix the free() crash with the file selector
|
|
|
|
Also made shadow mesh draw in texture paint (venomGFX request)
|
|
==============
svn merge -r15501:HEAD https://svn.blender.org/svnroot/bf-blender/trunk/blender
|
|
====================
ATI fixes:
* Fix crash in glBitmap when rendering shadow buffers, it doesn't
seem to like using that function with only a depth buffer.
* Workaround either a bug in the driver or Blender, but I couldn't
find anything wrong, glVertexAttribPointerARB doesn't seem to
work inside display lists, so now it uses immediate mode to
create the list.
* Making deformable object for the game engine didn't check properly
if there was actually a vertex group, causing some static objects
to not use display lists.
* Also some cleanup in the game engine drawing code, replacing magic
numbers with an enum.
The apricot demo seems to runs slightly faster on a ATI HD3750 than
NVidia 8800 GTS.
|
|
https://svn.blender.org/svnroot/bf-blender/trunk/blender
|
|
For simple RGB(A) files, the channel names in openexr were supposed
to be simply "R" "G" "B" and "A" too.
Other programs like other names... like lower case, or like "ambient.r"
Tested with file from renderman.
|
|
checking red channel.
|
|
does linear interpolation of the vector and renormalizes.
(can be improved to rotate correctly but for our use ist ok for now, would also be useful to have an argument to clamp the maximum rotation angle to get a constant rotation speed),
This will used to make franky upright when falling from an angle, to track to a surface when hanging onto a ledge and setting the glide pitch.
Without this rotation is instant and jerky.
currently this is done with Mathutils which isnt available in Blender Player.
def do_rotate_up(own):
own.alignAxisToVect([0,0,1], 2, 0.1)
replaces...
def do_rotate_up(own):
up_nor = Vector(0,0,1)
own_mat = Matrix(*own.getOrientation()).transpose()
own_up = up_nor * own_mat
ang = AngleBetweenVecs(own_up, up_nor)
if ang > 0.005:
# Set orientation
cross = CrossVecs(own_up, up_nor)
new_mat = own_mat * RotationMatrix(ang*0.1, 3, 'r', cross)
own.setOrientation(new_mat.transpose())
M source/gameengine/Ketsji/KX_GameObject.cpp
M source/gameengine/Ketsji/KX_GameObject.h
|
|
appending from iteritems,
|
|
be ok since the ray sensor does NULL checks in for getNewClientInfo in a similar area.
|
|
====================
* Some optimizations in the glsl shader code to avoid some
matrix multiplications, and other floating point ops.
* Optimized game engine mesh deforming code a bit, and
removed a bunch of unneeded/duplicated code.
* Fix for bugs #17289 and #17295, glsl compile errors.
|
|
https://svn.blender.org/svnroot/bf-blender/trunk/blender/
|
|
because inherited methods were ignored, This made it incredibly annoying, not only having to search a C++ file to see what functions were available. but looking up methods inherited from other C++ classes.
There is still no __members__ attribute so dir() wont work at all for attributes.
|
|
before materials.
|
|
state system.
New Add mode for Ipo actuator
=============================
A new Add button, mutually exclusive with Force button, is available in
the Ipo actuator. When selected, it activates the Add mode that consists
in adding the Ipo curve to the current object situation in world
coordinates, or parent coordinates if the object has a parent. Scale Ipo
curves are multiplied instead of added to the object current scale.
If the local flag is selected, the Ipo curve is added (multiplied) in
the object's local coordinates.
Delta Ipo curves are handled identically to normal Ipo curve and there
is no need to work with Delta Ipo curves provided that you make sure
that the Ipo curve starts from origin. Origin means location 0 for
Location Ipo curve, rotation 0 for Rotation Ipo curve and scale 1 for
Scale Ipo curve.
The "current object situation" means the object's location, rotation
and scale at the start of the Ipo curve. For Loop Stop and Loop End Ipo
actuators, this means at the start of each loop. This initial state is
used as a base during the execution of the Ipo Curve but when the Ipo
curve is restarted (later or immediately in case of Loop mode), the
object current situation at that time is used as the new base.
For reference, here is the exact operation of the Add mode for each
type of Ipo curve (oLoc, oRot, oScale, oMat: object's loc/rot/scale
and orientation matrix at the start of the curve; iLoc, iRot, iScale,
iMat: Ipo curve loc/rot/scale and orientation matrix resulting from
the rotation).
Location
Local=false: newLoc = oLoc+iLoc
Local=true : newLoc = oLoc+oScale*(oMat*iLoc)
Rotation
Local=false: newMat = iMat*oMat
Local=true : newMat = oMat*iMat
Scale
Local=false: newScale = oScale*iScale
Local=true : newScale = oScale*iScale
Add+Local mode is very useful to have dynamic object executing complex
movement relative to their current location/orientation. Of cource,
dynamics should be disabled during the execution of the curve.
Several corrections in state system
===================================
- Object initial state is taken into account when adding object
dynamically
- Fix bug with link count when adding object dynamically
- Fix false on-off detection for Actuator sensor when actuator is
trigged on negative event.
- Fix Parent actuator false activation on negative event
- Loop Ipo curve not restarting at correct frame when start frame is
different from one.
|
|
The infamous Fkey 'make face' in editmode still failed in cases, giving
an annoying convex error popup.
Found two errors in this code:
- not all cases were evaluated to make a face of 4 vertices (6 cases)
- the function that makes always a face when the 4 edges already exist
failed when not in vertex-select mode.
I also removed the popup, but added a print... its still not perfect.
|
|
were set to posemode in their scene.
|
|
compiling I don't know) ;)
|
|
It is now possible to swap the selection of bones in EditMode and PoseMode using the CTRL IKEY hotkey.
As a result, the hotkey for adding IK Constraints has now changed to SHIFT IKEY (so that select swap can have a consistent hotkey)
|
|
BMesh and the bevel code now support UVs/VCOLS.
The offset is fixed at this time, but will be
made dynamic later.
|