Engine 0150 build 6930

From VRwiki
Jump to: navigation, search

Build 6931

What's new

  • Changed implementation for VR_MOTION_BLUR using glAccum
  • Added GetDate function (returns current date)
  • CVmObj
  1. Added GetScale and Normalize methods
  2. Attempt to make IsColliding more robust, checks on Intersect_RayTriangle are now less strict (i.e. XYZ >= -EPSILON rather than >= 0 etc.)
  3. The model matrix is not automatically stored anymore. It is stored if the object is a character root (as required by certain shaders), the object is linked to a mesh with shaders, the object is drawn with VR_CALC_MATRIX (explicit need), the object is drawn with VR_OPTIMIZE o VR_SORT_TRANSPARENT (implicit need)
  4. The root pivot point, if automatically imported (i.e. read from aam/idasf/vrml files) is now correctly expressed in the root cords systems. Therefore, if a SetScale is applied, the pivot is also scaled.
  • CVmBillboard
  1. Internal implementation change: m_material is now a pointer and not static
  2. Added VR_FLIP_X and VR_FLIP_Y constants (CVmBilloboard)
  • CVmCharacter
  1. Added support to VR_SHADER_NEW and VR_SHADER_NEW_PASS constants
  2. Improved ComponentHasGeometry method: it now (optionally) checks for the existence of mesh faces #(rather then only checking for the existence of a mesh)
  • CVmAvatar
  1. Added HideSkinSubset and UnhideSkinSubset methods
  2. Added JointGetRotationMatrix and JointGetRotationMatrixABS methods.
  3. Added IKApply and IKSetAutoApply methods
  4. Rearranged the internal implementation so that explicite rotations (JointRotate, etc.) can ovveride/modify IK calculated movements
  • CVmNewMesh
  1. Added support to VR_SHADER_NEW and VR_SHADER_NEW_PASS constants
  2. Added FlipNormals method. Mirrored substes not anymore handled (caused erratic results). Programmers may explicitely call CVmNewMesh::FlipNormals when dealing with mirroring problems.
  3. The VR_EVIDENZIA flag is not anymore supported
  4. Added support to VR_FORCE_MULTITEX flag. It forces using glMultiTexCoord for both channels even if the secondary texture is not present (useful in conjunction with CVmNewMesh::CallDisplayList when passing textures from outside)
  • CVmVrAWav
  1. Added full support for EAX in OpenAL implementation.
  2. Added reference to the VRALIB error number with errors when creating wav sources
  3. Added support to SET AUDIO_BUFFERS (allows to directly specify the number of audio buffers to be allocated, more than 32 if needed but also less then 32 as some audio cards did not allow openal to allocate so many buffers and refused loading wavs)
  • Shaders (applies to CVmShaderProgram, CVMNewMesh, CVmCharacter)
  1. Several internal improvements.

Fixed bugs

  • LoadBackground leaves the correct texture status.
  • Fixed wrong behaviour of Matrix3x3ToQuaternion
  • Matrix3x3ToQuaternion erroneously returned a quaternion in the wrong format [wxyz] rather than [xyzw]
  • CVmCharacter
  1. ShaderAdd now accepts default last parameter
  2. Fixed handling of animation frames number (could wrongly result in "The specified frame number is greater than the total number of frames" error
  3. AAMParse (calling Init after setting nframes, resetted nframes value)
  • CVmAvatar
  1. Solved Display Lists thrashing causing memory consumption (DL are now statically allocated and not recreated)
  2. Fixed a bug causing some times an incorrect IK behaviour
  • CVmNewMesh
  1. Drawing normal meshes with VR_ANIMATION_FRAME caused crash.
  2. CenterBoundingBox bugfix (it always returned [0,0,0])
  • Texture (applies to CVmTexture, CVMNewMesh, CVmCharacter, CVmBillboard)
  1. Added condition test to avoid calls to null reference and politely exit when loading video textures.
  2. CVmTexture constructor now correctly builds the display list (this might cause severe slowdowns in engines 0148, 0149, 0150)
  • Opengl
  1. glGetTexImage is now correctly wrapped
  2. glActiveTextureArb can now be used both with i or with GL_TEXTUREi_ARB, fixed documentation accordingly
  • Documentation:
  1. Several documentation fixes.

Known issues