From f746d90398760b604c0b0037ab5d592dfd88c1ee Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sat, 25 Jan 2014 18:57:02 +0100 Subject: Cycles Standalone: Various changes * Change Info in header, put more important info to the left * API: Move Camera width/height to camera, add some film properties * Add ESC key to help menu --- intern/cycles/app/cycles_standalone.cpp | 6 ++--- intern/cycles/app/cycles_xml.cpp | 44 +++++++++++++++++---------------- 2 files changed, 26 insertions(+), 24 deletions(-) (limited to 'intern/cycles/app') diff --git a/intern/cycles/app/cycles_standalone.cpp b/intern/cycles/app/cycles_standalone.cpp index 144d02ea661..92509949c93 100644 --- a/intern/cycles/app/cycles_standalone.cpp +++ b/intern/cycles/app/cycles_standalone.cpp @@ -163,8 +163,8 @@ static void display_info(Progress& progress) if(substatus != "") status += ": " + substatus; - str = string_printf("latency: %.4f sample: %d total: %.4f average: %.4f %s", - latency, sample, total_time, sample_time, status.c_str()); + str = string_printf("%s Time: %.2f Latency: %.4f Sample: %d Average: %.4f", + status.c_str(), total_time, latency, sample, sample_time); view_display_info(str.c_str()); @@ -313,11 +313,11 @@ static void options_parse(int argc, const char **argv) fprintf(stderr, "Unknown shading system: %s\n", ssname.c_str()); exit(EXIT_FAILURE); } -#endif else if(options.scene_params.shadingsystem == SceneParams::OSL && options.session_params.device.type != DEVICE_CPU) { fprintf(stderr, "OSL shading system only works with CPU device\n"); exit(EXIT_FAILURE); } +#endif else if(options.session_params.samples < 0) { fprintf(stderr, "Invalid number of samples: %d\n", options.session_params.samples); exit(EXIT_FAILURE); diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp index e6e047a5642..1e41525a70e 100644 --- a/intern/cycles/app/cycles_xml.cpp +++ b/intern/cycles/app/cycles_xml.cpp @@ -223,28 +223,12 @@ static bool xml_read_enum(ustring *str, ShaderEnum& enm, pugi::xml_node node, co static void xml_read_film(const XMLReadState& state, pugi::xml_node node) { - Camera *cam = state.scene->camera; - - xml_read_int(&cam->width, node, "width"); - xml_read_int(&cam->height, node, "height"); - - float aspect = (float)cam->width/(float)cam->height; - - if(cam->width >= cam->height) { - cam->viewplane.left = -aspect; - cam->viewplane.right = aspect; - cam->viewplane.bottom = -1.0f; - cam->viewplane.top = 1.0f; - } - else { - cam->viewplane.left = -1.0f; - cam->viewplane.right = 1.0f; - cam->viewplane.bottom = -1.0f/aspect; - cam->viewplane.top = 1.0f/aspect; - } + Film *film = state.scene->film; + + xml_read_float(&film->exposure, node, "exposure"); - cam->need_update = true; - cam->update(); + /* ToDo: Filter Type */ + xml_read_float(&film->filter_width, node, "filter_width"); } /* Integrator */ @@ -301,6 +285,24 @@ static void xml_read_camera(const XMLReadState& state, pugi::xml_node node) { Camera *cam = state.scene->camera; + xml_read_int(&cam->width, node, "width"); + xml_read_int(&cam->height, node, "height"); + + float aspect = (float)cam->width/(float)cam->height; + + if(cam->width >= cam->height) { + cam->viewplane.left = -aspect; + cam->viewplane.right = aspect; + cam->viewplane.bottom = -1.0f; + cam->viewplane.top = 1.0f; + } + else { + cam->viewplane.left = -1.0f; + cam->viewplane.right = 1.0f; + cam->viewplane.bottom = -1.0f/aspect; + cam->viewplane.top = 1.0f/aspect; + } + if(xml_read_float(&cam->fov, node, "fov")) cam->fov *= M_PI/180.0f; -- cgit v1.2.3