projects
/
vrm.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix camera type selection for blender > 2.43
[vrm.git]
/
vrm.py
diff --git
a/vrm.py
b/vrm.py
index
67bcf3a
..
7324efc
100755
(executable)
--- a/
vrm.py
+++ b/
vrm.py
@@
-83,6
+83,7
@@
__bpydoc__ = """\
# * Remove the real file opening in the abstract VectorWriter
# * View frustum clipping
# * Scene clipping done using bounding box instead of object center
# * Remove the real file opening in the abstract VectorWriter
# * View frustum clipping
# * Scene clipping done using bounding box instead of object center
+# * Fix camera type selection for blender>2.43 (Thanks to Thomas Lachmann)
#
# ---------------------------------------------------------------------
#
# ---------------------------------------------------------------------
@@
-887,13
+888,22
@@
class Projector:
fovy = atan(0.5/aspect/(camera.lens/32))
fovy = fovy * 360.0/pi
fovy = atan(0.5/aspect/(camera.lens/32))
fovy = fovy * 360.0/pi
-
+
+
+ if Blender.Get('version') < 243:
+ camPersp = 0
+ camOrtho = 1
+ else:
+ camPersp = 'persp'
+ camOrtho = 'ortho'
+
# What projection do we want?
# What projection do we want?
- if camera.type ==
0
:
+ if camera.type ==
camPersp
:
mP = self._calcPerspectiveMatrix(fovy, aspect, near, far)
mP = self._calcPerspectiveMatrix(fovy, aspect, near, far)
- elif camera.type ==
1
:
- mP = self._calcOrthoMatrix(fovy, aspect, near, far, scale)
+ elif camera.type ==
camOrtho
:
+ mP = self._calcOrthoMatrix(fovy, aspect, near, far, scale)
+
# View transformation
cam = Matrix(cameraObj.getInverseMatrix())
cam.transpose()
# View transformation
cam = Matrix(cameraObj.getInverseMatrix())
cam.transpose()