Merged Soc 2009 - raytrace optimization [0]
authorAndre Susano Pinto <andresusanopinto@gmail.com>
Tue, 6 Oct 2009 02:56:11 +0000 (02:56 +0000)
committerAndre Susano Pinto <andresusanopinto@gmail.com>
Tue, 6 Oct 2009 02:56:11 +0000 (02:56 +0000)
from branch [1] at rev 23647

[0] - http://wiki.blender.org/index.php/User:Jaguarandi/SummerOfCode2009/
[1] - https://svn.blender.org/svnroot/bf-blender/branches/soc-2009-jaguarandi

blenderplayer/CMakeLists.txt [deleted file]
source/blender/editors/space_view3d/view3d_intern.h
source/blender/editors/space_view3d/view3d_ops.c
source/blender/editors/space_view3d/view3d_view.c

diff --git a/blenderplayer/CMakeLists.txt b/blenderplayer/CMakeLists.txt
deleted file mode 100644 (file)
index 0407361..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-# $Id$
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Jacques Beaurain.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-MESSAGE(STATUS "Configuring blenderplayer")
-
-SETUP_LIBDIRS()
-
-IF(WITH_QUICKTIME)
-  ADD_DEFINITIONS(-DWITH_QUICKTIME)
-ENDIF(WITH_QUICKTIME)
-
-IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
-  ADD_DEFINITIONS(-DWITH_BINRELOC)
-  INCLUDE_DIRECTORIES(${BINRELOC_INC})
-ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
-
-ADD_CUSTOM_COMMAND(
-  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
-  COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
-  DEPENDS ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna
-)
-
-IF(WIN32)
-  ADD_EXECUTABLE(blenderplayer ${EXETYPE} ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../source/icons/winblender.rc)
-ELSE(WIN32)
-  ADD_EXECUTABLE(blenderplayer ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
-ENDIF(WIN32)
-
-ADD_DEPENDENCIES(blenderplayer makesdna)
-
-FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
-
-SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} gp_common gp_ghost blenkernel_blc)
-
-IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
-  SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} extern_binreloc)
-ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
-
-IF(UNIX)
-  # Sort libraries
-  SET(BLENDER_SORTED_LIBS
-    gp_ghost 
-    gp_common 
-    bf_string 
-    bf_ghost 
-    bf_blenkernel
-    bf_blenloader 
-    bf_blenpluginapi 
-    bf_blroutines 
-    bf_converter 
-    bf_ketsji 
-    bf_bullet 
-    bf_common 
-    bf_dummy 
-    bf_logic 
-    bf_rasterizer 
-    bf_oglrasterizer 
-    bf_expressions 
-    bf_scenegraph 
-       bf_IK
-    bf_moto 
-    bf_kernel 
-    bf_nodes
-       bf_gpu
-    bf_imbuf
-    bf_avi 
-    kx_network 
-    bf_ngnetwork 
-    bf_loopbacknetwork 
-    extern_bullet 
-    bf_guardedalloc 
-    bf_memutil 
-    bf_blenlib 
-    bf_cineon 
-    bf_openexr 
-    extern_libopenjpeg 
-    bf_dds
-    bf_readblenfile 
-    blenkernel_blc
-    extern_binreloc
-       extern_glew
-  )
-  
-  IF(WITH_QUICKTIME)
-    SET(BLENDER_SORTED_LIBS ${BLENDER_SORTED_LIBS} quicktime)
-  ENDIF(WITH_QUICKTIME)
-
-  IF(WITH_CXX_GUARDEDALLOC)
-    SET(BLENDER_SORTED_LIBS ${BLENDER_SORTED_LIBS} bf_guardedalloc_cpp)
-  ENDIF(WITH_CXX_GUARDEDALLOC)
-
-  FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
-    SET(REMLIB ${SORTLIB})
-    FOREACH(SEARCHLIB ${BLENDER_LINK_LIBS})
-      IF(${SEARCHLIB} STREQUAL ${SORTLIB})
-        SET(REMLIB "")
-      ENDIF(${SEARCHLIB} STREQUAL ${SORTLIB})
-    ENDFOREACH(SEARCHLIB)
-    IF(REMLIB)
-      MESSAGE(STATUS "Removing library ${REMLIB} from blenderplayer linking because: not configured")
-      LIST(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
-    ENDIF(REMLIB)
-  ENDFOREACH(SORTLIB)
-
-  TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_SORTED_LIBS})
-ELSE(UNIX)
-  TARGET_LINK_LIBRARIES(blenderplayer ${BLENDER_LINK_LIBS})
-ENDIF(UNIX)
-
-SETUP_LIBLINKS(blenderplayer)
index e7ab79ab9557536e718700f46525e2d6a9652c7d..d80cec9ad480d6b39033cb52b699a1addd289865 100644 (file)
@@ -122,6 +122,7 @@ void VIEW3D_OT_select_lasso(struct wmOperatorType *ot);
 /* view3d_view.c */
 void VIEW3D_OT_smoothview(struct wmOperatorType *ot);
 void VIEW3D_OT_setcameratoview(struct wmOperatorType *ot);
+void VIEW3D_OT_setobjectascamera(struct wmOperatorType *ot);
 void VIEW3D_OT_localview(struct wmOperatorType *ot);
 void VIEW3D_OT_game_start(struct wmOperatorType *ot);
 void VIEW3D_OT_fly(struct wmOperatorType *ot);
index f9cedbd28a1d2d18e8594096958831d6ee5576e3..a151ff3e73a64ad52301c1f3aae215a8d103b387 100644 (file)
@@ -82,6 +82,7 @@ void view3d_operatortypes(void)
        WM_operatortype_append(VIEW3D_OT_cursor3d);
        WM_operatortype_append(VIEW3D_OT_select_lasso);
        WM_operatortype_append(VIEW3D_OT_setcameratoview);
+       WM_operatortype_append(VIEW3D_OT_setobjectascamera);
        WM_operatortype_append(VIEW3D_OT_drawtype);
        WM_operatortype_append(VIEW3D_OT_localview);
        WM_operatortype_append(VIEW3D_OT_game_start);
@@ -216,6 +217,7 @@ void view3d_keymap(wmWindowManager *wm)
        WM_keymap_add_item(keymap, "VIEW3D_OT_render_border", BKEY, KM_PRESS, KM_SHIFT, 0);
        
        WM_keymap_add_item(keymap, "VIEW3D_OT_camera_to_view", PAD0, KM_PRESS, KM_ALT|KM_CTRL, 0);
+       WM_keymap_add_item(keymap, "VIEW3D_OT_object_as_camera", PAD0, KM_PRESS, KM_CTRL, 0);
        
        WM_keymap_add_item(keymap, "VIEW3D_OT_snap_menu", SKEY, KM_PRESS, KM_SHIFT, 0);
 
index f722a97963d50d6815eb78d92e80156802f7b343..fc332cf629347024f2527d7e7c5e7e67e8a39b7d 100644 (file)
@@ -434,6 +434,38 @@ void VIEW3D_OT_setcameratoview(wmOperatorType *ot)
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 }
 
+static int view3d_setobjectascamera_exec(bContext *C, wmOperator *op)
+{
+       View3D *v3d = CTX_wm_view3d(C);
+       RegionView3D *rv3d= CTX_wm_region_view3d(C);
+       Scene *scene= CTX_data_scene(C);
+       
+       if(BASACT) {
+               rv3d->persp= V3D_CAMOB;
+               v3d->camera= OBACT;
+               smooth_view(C, NULL, v3d->camera, rv3d->ofs, rv3d->viewquat, &rv3d->dist, &v3d->lens);
+       }
+       
+       WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, CTX_data_scene(C));
+       
+       return OPERATOR_FINISHED;
+}
+
+void VIEW3D_OT_setobjectascamera(wmOperatorType *ot)
+{
+       
+       /* identifiers */
+       ot->name= "Set Active Object as Camera";
+       ot->description= "Set the active object as the active camera for this view or scene.";
+       ot->idname= "VIEW3D_OT_object_as_camera";
+       
+       /* api callbacks */
+       ot->exec= view3d_setobjectascamera_exec;        
+       ot->poll= ED_operator_view3d_active;
+       
+       /* flags */
+       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
 /* ********************************** */
 
 /* create intersection coordinates in view Z direction at mouse coordinates */