When a new material is parsed from the material library, the name of the current material is set but the old material index remains. This leaves an incorrect material index in the current mesh causing textures to not be associated with the right mesh. This patch updates the material index when changing the material name.
submitted by: Nola Donato nola.donato@samsung.com
This patch allows embedded spaces in texture filenames found in MTL files. It only affects the OBJ parser.
Submitted by: Nola Donato nola.donato@samsung.com
Fbx cameras are stored in the scene graph as well as having separate camera properties.
The separate camera properties have a camera position and direction that is already fully
transformed based on its position in the scene graph so this results in the assimp
camera being transformed twice. Since the scene graph contains all the relevant
transformations the camera position and direction can just use default values. Fbx
specifies cameras along the positive x axis so the default camera values have a up and
direction set accordingly.
Fixes: #807#643
Fbx lights are stored in the scene graph as well as having separate light properties.
The separate light properties have a light position and direction that is already fully
transformed based on its position in the scene graph so this results in the assimp
light being transformed twice. Since the scene graph contains all the relevant
transformations the light position and direction can just use default values. Fbx
specifies lights along the negative y axis so the default light values have a up and
direction set accordingly.
The DecayStart value specifies the distance from the light that the light intensity
will drop to half. Using the default assimp falloff equation of f=1/c+lr+qr^2 then
the falloff coefficients can be calculated for either c,l or q accordingly by setting
r=DecayStart and f=0.5.
Fixes#851