#include "lux.h"
#include "api.h"
#include "scene.h"
#include "camera.h"
#include "film.h"
#include "error.h"
#include "luxgui.h"
#include "renderwindow.h"
#include "icons.h"
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <exception>
#include <boost/program_options.hpp>
#include <boost/thread.hpp>
#include <boost/thread/xtime.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/bind.hpp>
#include <zlib.h>
#include "splash.h"
Go to the source code of this file.
Functions | |
void | AddThread () |
void | exit_cb (Fl_Widget *, void *) |
Fl_Double_Window * | make_MainWindow (int width, int height, Fl_RGB_Image *rgb_buffer, bool opengl_enabled) |
void | open_cb (Fl_Widget *, void *) |
void | about_cb (Fl_Widget *, void *) |
void | addthread_cb (Fl_Widget *, void *) |
void | removethread_cb (Fl_Widget *, void *) |
void | start_cb (Fl_Widget *, void *) |
void | stop_cb (Fl_Widget *, void *) |
void | restart_cb (Fl_Widget *, void *) |
void | Engine_Thread () |
void | merge_FrameBuffer_Thread (bool *threadDone) |
void | merge_FrameBuffer (void *) |
int | RenderScenefile () |
void | setInfo_render () |
void | RenderStart () |
void | RenderPause () |
void | RemoveThread () |
void | bindFrameBuffer () |
void | update_Statistics (void *) |
void | check_SceneReady (void *) |
void | message_window (const char *label, const char *msg) |
int | main (int ac, char *av[]) |
Variables | |
static int | threads |
bool | parseError |
bool | renderingDone |
Fl_Menu_Item | menu_bar [] |
Fl_Menu_Item | menu_threads [] |
void about_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 340 of file luxgui.cpp.
References image_splash(), cimg_library::cimg::wait(), and window.
void AddThread | ( | ) |
Definition at line 681 of file luxgui.cpp.
References gui_nrthreads, luxAddThread(), and setInfo_render().
Referenced by addthread_cb(), and RenderScenefile().
void addthread_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 492 of file luxgui.cpp.
References AddThread().
void bindFrameBuffer | ( | ) |
Definition at line 697 of file luxgui.cpp.
References framebufferUpdate, GuiSceneReady, luxFramebuffer(), luxStatistics(), merge_FrameBuffer(), renderview, rgb_image, and RenderWindow::set_image().
Referenced by check_SceneReady().
void check_SceneReady | ( | void * | ) |
Definition at line 743 of file luxgui.cpp.
References bindFrameBuffer(), GuiSceneReady, luxStatistics(), setInfo_render(), status_render, STATUS_RENDER_RENDER, and update_Statistics().
Referenced by main().
void Engine_Thread | ( | ) |
Definition at line 513 of file luxgui.cpp.
References gui_current_scenefile, LUX_INFO, LUX_NOERROR, luxError, luxStatistics(), luxWait(), parseError, ParseFile(), and renderingDone.
Referenced by RenderScenefile().
void exit_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 82 of file luxgui.cpp.
References engine_thread, fb_update_thread, gui_current_scenefile, LUX_INFO, LUX_NOERROR, luxCleanup(), luxError, and luxExit().
Referenced by make_MainWindow().
int main | ( | int | ac, | |
char * | av[] | |||
) |
Definition at line 792 of file luxgui.cpp.
References check_SceneReady(), engine_thread, fb_update_thread, framebufferUpdate, gui_current_scenefile, GuiSceneReady, lux_icon_bitmap, lux_icon_mask, LUX_INFO, LUX_NOERROR, LUX_NOFILE, LUX_SEVERE, LUX_SYSTEM, LUX_VERSION_STRING, luxAddServer(), luxEnableDebugMode(), luxError, luxGetNetworkServerUpdateInterval(), luxInit(), luxSetNetworkServerUpdateInterval(), make_MainWindow(), blender::p, RenderScenefile(), rgb_image, setInfo_render(), status_render, STATUS_RENDER_NONE, threads, and window.
Fl_Double_Window* make_MainWindow | ( | int | width, | |
int | height, | |||
Fl_RGB_Image * | rgb_buffer, | |||
bool | opengl_enabled | |||
) |
Definition at line 101 of file luxgui.cpp.
References button_pause, button_play, button_restart, exit_cb(), image_clock(), image_clock1(), image_geom(), image_geom1(), image_play(), image_play1(), image_render(), image_render1(), image_rewind(), image_rewind1(), image_stop(), image_stop1(), image_tonemap(), image_tonemap1(), info_render, info_render_group, info_statistics, info_statistics_group, info_tonemap, info_tonemap_group, menu_bar, renderview, restart_cb(), start_cb(), and stop_cb().
Referenced by main().
void merge_FrameBuffer | ( | void * | ) |
Definition at line 546 of file luxgui.cpp.
References fb_update_thread, framebufferUpdate, info_tonemap, info_tonemap_group, LUX_INFO, LUX_NOERROR, luxError, merge_FrameBuffer_Thread(), renderingDone, renderview, RenderWindow::update_image(), and cimg_library::cimg::wait().
Referenced by bindFrameBuffer().
void merge_FrameBuffer_Thread | ( | bool * | threadDone | ) |
Definition at line 540 of file luxgui.cpp.
References luxUpdateFramebuffer().
Referenced by merge_FrameBuffer().
void message_window | ( | const char * | label, | |
const char * | msg | |||
) |
Definition at line 765 of file luxgui.cpp.
References message_window(), cimg_library::cimg::wait(), and window.
Referenced by message_window(), and RenderScenefile().
void open_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 302 of file luxgui.cpp.
References gui_current_scenefile, RenderScenefile(), status_render, STATUS_RENDER_NONE, cimg_library::cimg::wait(), and window.
void RemoveThread | ( | ) |
Definition at line 689 of file luxgui.cpp.
References gui_nrthreads, luxRemoveThread(), and setInfo_render().
Referenced by removethread_cb().
void removethread_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 497 of file luxgui.cpp.
References RemoveThread().
void RenderPause | ( | ) |
Definition at line 675 of file luxgui.cpp.
References luxPause(), setInfo_render(), status_render, and STATUS_RENDER_IDLE.
Referenced by stop_cb().
int RenderScenefile | ( | ) |
Definition at line 577 of file luxgui.cpp.
References AddThread(), Engine_Thread(), engine_thread, gui_current_scenefile, LUX_BADFILE, LUX_SEVERE, luxError, luxStatistics(), message_window(), parseError, renderingDone, threads, cimg_library::cimg::wait(), and window.
void RenderStart | ( | ) |
Definition at line 669 of file luxgui.cpp.
References luxStart(), setInfo_render(), status_render, and STATUS_RENDER_RENDER.
Referenced by start_cb().
void restart_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 510 of file luxgui.cpp.
Referenced by make_MainWindow().
void setInfo_render | ( | ) |
Definition at line 635 of file luxgui.cpp.
References button_pause, button_play, gui_nrthreads, info_render, info_render_group, info_statistics_group, info_tonemap_group, status_render, STATUS_RENDER_IDLE, and STATUS_RENDER_RENDER.
Referenced by AddThread(), check_SceneReady(), main(), RemoveThread(), RenderPause(), and RenderStart().
void start_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 502 of file luxgui.cpp.
References RenderStart().
Referenced by make_MainWindow().
void stop_cb | ( | Fl_Widget * | , | |
void * | ||||
) |
Definition at line 506 of file luxgui.cpp.
References RenderPause().
Referenced by make_MainWindow().
void update_Statistics | ( | void * | ) |
Definition at line 717 of file luxgui.cpp.
References Floor2Int(), info_statistics, and luxStatistics().
Referenced by check_SceneReady().
Fl_Menu_Item menu_bar[] |
{ { "&File", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 11, 0 }, {" &Open scenefile...", FL_CTRL + 'o', (Fl_Callback*) open_cb, 0, 128, FL_NORMAL_LABEL, 0, 11, 0 }, {" &Exit", FL_CTRL + 'q', (Fl_Callback *) exit_cb, 0, 0, FL_NORMAL_LABEL, 0, 11, 0 }, { 0 }, { "&Help", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 11, 0 }, {" &About...", 0, (Fl_Callback *) about_cb, 0, 0, FL_NORMAL_LABEL, 0, 11, 0 }, { 0 }, { 0 } }
Definition at line 65 of file luxgui.cpp.
Referenced by make_MainWindow().
Fl_Menu_Item menu_threads[] |
{ { "+ Add Thread", 0, (Fl_Callback *) addthread_cb, 0, 0, FL_NORMAL_LABEL, 0, 11, 0 }, { "- Remove Thread", 0, (Fl_Callback *) removethread_cb, 0, 0, FL_NORMAL_LABEL, 0, 11, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
Definition at line 76 of file luxgui.cpp.
bool parseError |
Definition at line 60 of file luxgui.cpp.
bool renderingDone |
Definition at line 61 of file luxgui.cpp.
Referenced by Engine_Thread(), merge_FrameBuffer(), and RenderScenefile().
int threads [static] |
Definition at line 59 of file luxgui.cpp.