diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-01-06 06:46:54 +0300 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-01-06 06:46:54 +0300 |
commit | 2e6d57618232b8b4ce8e5afe84fd278041cbbbfe (patch) | |
tree | c0f05e6b59aada420dd600f1138e9149b97d9e9d /source/gameengine/Ketsji/KX_Camera.cpp | |
parent | ef520a8cc9e863aa234be0ee60d1038e7ec8fc44 (diff) |
Sorry to break the cvs-closed status, so if you really need to make a new 2.40 build, just disable the game engine if it doesn't compile for a platform. Again, sorry if this breaks non-windows platforms, but I hope people help to get this amazing fix working for all platforms. Armature-fixing contribution from Snailrose. Also lots of cool things from Snailrose and Lagan.
Armatures are back
Split screen
Double sided lightning
Ambient lighting
Alpha test
Material IPO support (one per object atm)
Blender materials
GLSL shaders - Python access
Up to three texture samplers from the material panel ( 2D & Cube map )
Python access to a second set of uv coordinates
See http://www.elysiun.com/forum/viewtopic.php?t=58057
Diffstat (limited to 'source/gameengine/Ketsji/KX_Camera.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_Camera.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp index 009ea4ac617..674528f719c 100644 --- a/source/gameengine/Ketsji/KX_Camera.cpp +++ b/source/gameengine/Ketsji/KX_Camera.cpp @@ -338,6 +338,44 @@ bool KX_Camera::GetFrustumCulling() const { return m_frustum_culling; } + +void KX_Camera::EnableViewport(bool viewport) +{ + m_camdata.m_viewport = viewport; +} + +void KX_Camera::SetViewport(int left, int bottom, int right, int top) +{ + m_camdata.m_viewportleft = left; + m_camdata.m_viewportbottom = bottom; + m_camdata.m_viewportright = right; + m_camdata.m_viewporttop = top; +} + +bool KX_Camera::GetViewport() const +{ + return m_camdata.m_viewport; +} + +int KX_Camera::GetViewportLeft() const +{ + return m_camdata.m_viewportleft; +} + +int KX_Camera::GetViewportBottom() const +{ + return m_camdata.m_viewportbottom; +} + +int KX_Camera::GetViewportRight() const +{ + return m_camdata.m_viewportright; +} + +int KX_Camera::GetViewportTop() const +{ + return m_camdata.m_viewporttop; +} //---------------------------------------------------------------------------- //Python @@ -351,6 +389,8 @@ PyMethodDef KX_Camera::Methods[] = { KX_PYMETHODTABLE(KX_Camera, getWorldToCamera), KX_PYMETHODTABLE(KX_Camera, getProjectionMatrix), KX_PYMETHODTABLE(KX_Camera, setProjectionMatrix), + KX_PYMETHODTABLE(KX_Camera, enableViewport), + KX_PYMETHODTABLE(KX_Camera, setViewport), {NULL,NULL} //Sentinel }; @@ -691,3 +731,31 @@ KX_PYMETHODDEF_DOC(KX_Camera, setProjectionMatrix, PyErr_SetString(PyExc_TypeError, "setProjectionMatrix: Expected 4x4 list as matrix argument."); return NULL; } + +KX_PYMETHODDEF_DOC(KX_Camera, enableViewport, +"enableViewport(viewport)\n" +"Sets this camera's viewport status\n" +) +{ + int viewport; + if (PyArg_ParseTuple(args,"i",&viewport)) + { + if(viewport) + EnableViewport(true); + else + EnableViewport(false); + } + Py_Return; +} + +KX_PYMETHODDEF_DOC(KX_Camera, setViewport, +"setViewport(left, bottom, right, top)\n" +"Sets this camera's viewport\n") +{ + int left, bottom, right, top; + if (PyArg_ParseTuple(args,"iiii",&left, &bottom, &right, &top)) + { + SetViewport(left, bottom, right, top); + } + Py_Return; +} |