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.
Transform conversion was resetting constraints when used to calculate orbit center.
This is a tentative fix, it fixes this particular case but maybe not all.
Added proper gear support and fixed some misc errors in the setup of this transformation (negative values hav no effect, so use absolute value and other small things like that)
This fixes:
[#11745] Blender crashes when changing Scenes on Sequencer`s Strips
containing:
- last_seq was set to null by scene-render
- button handling wasn't very robust (didn't check for null)
- REDRAWBUTSSCENE was missing
the problem was that the buttons would use the first nurb if there was no 'lastnu', but the makeknots function only checked for lastnu. this meant the knots would not get re-allocated on
values would be written outside the array.
added checks for a nurbes orderu being larger then pntsu.
This has the same effect as the curve having only 1 point. (its display list is not generated
but it is still added but a dummy displist with zero points is made)
memcpy was also being used where the memory overlaped (probably worked in most cases but this is incorrect and valgrind complained), use memmove
instead.
This fixes: [#11642] VSE: crash with Speed Control and play head
Special sequence update (holding down left mouse button on a strip)
could lead to a crash when using the speed control effect, since
we didn't check properly for valid cfras (and therefore if
TStripElem is null... )