From 87ac8b57bd3a696df5c8c58223b6de74d54cab9f Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Fri, 19 Nov 2010 14:07:14 +0100 Subject: [PATCH] generalized the XML schema --- SConstruct | 2 +- .../render/{shandler.h => scenehandler.h} | 0 schema/scene.xsd | 98 +++++++++++++----- src/converter/collada.cpp | 40 +++---- src/converter/converter.h | 10 +- src/converter/mtsimport.cpp | 22 ++-- src/converter/obj.cpp | 2 +- src/librender/camera.cpp | 2 +- src/librender/preview.cpp | 6 +- .../{shandler.cpp => scenehandler.cpp} | 2 +- src/librender/util.cpp | 2 +- src/mitsuba/mitsuba.cpp | 2 +- src/mitsuba/mtsutil.cpp | 2 +- src/qtgui/sceneloader.cpp | 2 +- src/shapes/animatedinstance.cpp | 3 +- src/textures/checkerboard.cpp | 3 +- tools/blender/mitsuba/operators/__init__.py | 2 +- tools/blender/mitsuba/outputs/__init__.py | 1 - .../blender/mitsuba/ui/materials/__init__.py | 2 +- tools/windows/mitsuba.png | Bin 0 -> 53539 bytes 20 files changed, 113 insertions(+), 90 deletions(-) rename include/mitsuba/render/{shandler.h => scenehandler.h} (100%) rename src/librender/{shandler.cpp => scenehandler.cpp} (99%) create mode 100644 tools/windows/mitsuba.png diff --git a/SConstruct b/SConstruct index 89f05b0e..671e32ae 100644 --- a/SConstruct +++ b/SConstruct @@ -329,7 +329,7 @@ librender = renderEnv.SharedLibrary('src/librender/mitsuba-render', [ 'src/librender/preview.cpp', 'src/librender/photonmap.cpp', 'src/librender/gatherproc.cpp', 'src/librender/mipmap3d.cpp', 'src/librender/volume.cpp', 'src/librender/vpl.cpp', - 'src/librender/shader.cpp', 'src/librender/shandler.cpp', + 'src/librender/shader.cpp', 'src/librender/scenehandler.cpp', 'src/librender/intersection.cpp', 'src/librender/track.cpp' ]) diff --git a/include/mitsuba/render/shandler.h b/include/mitsuba/render/scenehandler.h similarity index 100% rename from include/mitsuba/render/shandler.h rename to include/mitsuba/render/scenehandler.h diff --git a/schema/scene.xsd b/schema/scene.xsd index eb22d6e0..d39f4eaa 100644 --- a/schema/scene.xsd +++ b/schema/scene.xsd @@ -5,7 +5,7 @@ - + @@ -29,9 +29,9 @@ - - - + + + @@ -44,12 +44,27 @@ + + + + - + + + + + + + + + + + + @@ -58,8 +73,9 @@ - + + @@ -70,33 +86,44 @@ - + + - + - + + + + + + + + + + - + + @@ -110,12 +137,12 @@ - + + - @@ -124,9 +151,10 @@ - + - + + @@ -134,24 +162,41 @@ - - + + - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -196,15 +241,16 @@ - + + diff --git a/src/converter/collada.cpp b/src/converter/collada.cpp index 2e6fccff..b8640447 100644 --- a/src/converter/collada.cpp +++ b/src/converter/collada.cpp @@ -1141,28 +1141,14 @@ void loadCamera(ColladaContext &ctx, Transform transform, domCamera &camera) { ctx.os << "\t" << endl; if (persp->getXfov().cast()) { Float xFov = (Float) persp->getXfov()->getValue(); - if (std::abs(xFov-1.0f) < Epsilon && ctx.cvt->m_fov == -1) { - SLog(EWarn, "Found the suspicious field of view value \"1.0\", which is likely due to a bug in Blender 2.5" - " - setting to 45deg. Please use the \"-f\" parameter to override this."); - xFov = 45.0f; - } Float yFov = radToDeg(2 * std::atan(std::tan(degToRad(xFov)/2) / aspect)); - if (ctx.cvt->m_fov != -1) - xFov = yFov = ctx.cvt->m_fov; if (aspect <= 1.0f) ctx.os << "\t\t" << endl; else ctx.os << "\t\t" << endl; } else if (persp->getYfov().cast()) { Float yFov = (Float) persp->getYfov()->getValue(); - if (std::abs(yFov-1.0) < Epsilon && ctx.cvt->m_fov == -1) { - SLog(EWarn, "Found the suspicious field of view value \"1.0\", which is likely due to a bug in Blender 2.5" - " - setting to 45deg. Please use the \"-f\" parameter to override this."); - yFov = 45.0f; - } Float xFov = radToDeg(2 * std::atan(std::tan(degToRad(yFov)/2) * aspect)); - if (ctx.cvt->m_fov != -1) - xFov = yFov = ctx.cvt->m_fov; if (aspect > 1.0f) ctx.os << "\t\t" << endl; else @@ -1178,7 +1164,7 @@ void loadCamera(ColladaContext &ctx, Transform transform, domCamera &camera) { ctx.os << "\t\t\t" << endl; ctx.os << "\t\t" << endl << endl; ctx.os << "\t\t" << endl; - ctx.os << "\t\t\tm_samplesPerPixel << "\"/>" << endl; + ctx.os << "\t\t\t" << endl; ctx.os << "\t\t" << endl << endl; ctx.os << "\t\tm_filmType << "\">" << endl; ctx.os << "\t\t\t" << endl; @@ -1619,18 +1605,20 @@ void GeometryConverter::convertCollada(const fs::path &inputFile, ctx.cvt = this; ctx.trackIndex = 0; - domLibrary_images_Array &libraryImages = document->getLibrary_images_array(); - for (size_t i=0; igetImage_array(); - for (size_t j=0; jgetLibrary_images_array(); + for (size_t i=0; igetImage_array(); + for (size_t j=0; jgetLibrary_materials_array(); - for (size_t i=0; igetMaterial_array(); - for (size_t j=0; jgetLibrary_materials_array(); + for (size_t i=0; igetMaterial_array(); + for (size_t j=0; jgetLibrary_animations_array(); diff --git a/src/converter/converter.h b/src/converter/converter.h index 0ef08e60..00dc4c4a 100644 --- a/src/converter/converter.h +++ b/src/converter/converter.h @@ -26,8 +26,6 @@ public: m_srgb = false; m_mapSmallerSide = true; m_xres = m_yres = -1; - m_samplesPerPixel = 8; - m_fov = -1; m_filmType = "exrfilm"; m_packGeometry = true; } @@ -42,9 +40,8 @@ public: inline void setSRGB(bool srgb) { m_srgb = srgb; } inline void setMapSmallerSide(bool mapSmallerSide) { m_mapSmallerSide = mapSmallerSide; } inline void setResolution(int xres, int yres) { m_xres = xres; m_yres = yres; } - inline void setSamplesPerPixel(int samplesPerPixel) { m_samplesPerPixel = samplesPerPixel; } inline void setPackGeometry(bool packGeometry) { m_packGeometry = packGeometry; } - inline void setFov(Float fov) { m_fov = fov; } + inline void setImportMaterials(bool importMaterials) { m_importMaterials = importMaterials; } inline void setFilmType(const std::string &filmType) { m_filmType = filmType; } inline const fs::path &getFilename() const { return m_filename; } private: @@ -55,9 +52,8 @@ private: const fs::path &textureDirectory, const fs::path &meshesDirectory); public: - bool m_srgb, m_mapSmallerSide; - int m_xres, m_yres, m_samplesPerPixel; - Float m_fov; + bool m_srgb, m_mapSmallerSide, m_importMaterials; + int m_xres, m_yres; fs::path m_filename, m_outputDirectory; std::string m_filmType; ref m_geometryFile; diff --git a/src/converter/mtsimport.cpp b/src/converter/mtsimport.cpp index b0d10e9f..2724666f 100644 --- a/src/converter/mtsimport.cpp +++ b/src/converter/mtsimport.cpp @@ -54,13 +54,12 @@ void help() { << " -h Display this help text" << endl << endl << " -a p1;p2;.. Add one or more entries to the resource search path" << endl << endl << " -v Be more verbose" << endl << endl - << " -p Use the specified number of samples per pixel." << endl << endl << " -s Assume that colors are in sRGB space." << endl << endl << " -m Map the larger image side to the full field of view" << endl << endl << " -y Don't pack all geometry data into a single file" << endl << endl + << " -n Don't import any materials (an adjustments file will be necessary)" << endl << endl << " -l Override the type of film (e.g. 'exrfilm', 'pngfilm', ..)" << endl << endl << " -r x Override the image resolution to e.g. 1920x1080" << endl << endl - << " -f Override the field of view to the given value in degrees." << endl << endl << "Please see the documentation for more information." << endl; } @@ -68,16 +67,15 @@ int colladaMain(int argc, char **argv) { bool srgb = false, mapSmallerSide = true; char optchar, *end_ptr = NULL; int xres = -1, yres = -1; - int samplesPerPixel = 8; std::string filmType = "exrfilm"; - Float fov = -1; FileResolver *fileResolver = Thread::getThread()->getFileResolver(); ELogLevel logLevel = EInfo; bool packGeometry = true; + bool importMaterials = true; optind = 1; - while ((optchar = getopt(argc, argv, "svyhmr:a:p:f:l:")) != -1) { + while ((optchar = getopt(argc, argv, "snvyhmr:a:l:")) != -1) { switch (optchar) { case 'a': { std::vector paths = tokenize(optarg, ";"); @@ -91,10 +89,8 @@ int colladaMain(int argc, char **argv) { case 'm': mapSmallerSide = false; break; - case 'p': - samplesPerPixel = strtol(optarg, &end_ptr, 10); - if (*end_ptr != '\0') - SLog(EError, "Invalid number of samples per pixel!"); + case 'n': + importMaterials = false; break; case 'v': logLevel = EDebug; @@ -105,11 +101,6 @@ int colladaMain(int argc, char **argv) { case 'y': packGeometry = false; break; - case 'f': - fov = (Float) strtod(optarg, &end_ptr); - if (*end_ptr != '\0') - SLog(EError, "Invalid field of view value!"); - break; case 'r': { std::vector tokens = tokenize(optarg, "x"); if (tokens.size() != 2) @@ -140,9 +131,8 @@ int colladaMain(int argc, char **argv) { ConsoleGeometryConverter converter; converter.setSRGB(srgb); converter.setResolution(xres, yres); + converter.setImportMaterials(importMaterials); converter.setMapSmallerSide(mapSmallerSide); - converter.setSamplesPerPixel(samplesPerPixel); - converter.setFov(fov); converter.setPackGeometry(packGeometry); converter.setFilmType(filmType); diff --git a/src/converter/obj.cpp b/src/converter/obj.cpp index 7221d53a..fd79c964 100644 --- a/src/converter/obj.cpp +++ b/src/converter/obj.cpp @@ -154,7 +154,7 @@ void GeometryConverter::convertOBJ(const fs::path &inputFile, std::string buf, line; std::set mtlList; while (is >> buf) { - if (buf == "mtllib") { + if (buf == "mtllib" && m_importMaterials) { std::getline(is, line); std::string mtlName = trim(line.substr(1, line.length()-1)); ref fRes = Thread::getThread()->getFileResolver()->clone(); diff --git a/src/librender/camera.cpp b/src/librender/camera.cpp index 3657b587..58409098 100644 --- a/src/librender/camera.cpp +++ b/src/librender/camera.cpp @@ -25,7 +25,7 @@ Camera::Camera(const Properties &props) : ConfigurableObject(props), m_properties(props) { m_cameraToWorld = props.getTransform("toWorld", Transform()); m_shutterOpen = props.getFloat("shutterOpen", 0.0f); - m_shutterClose = props.getFloat("shutterClose", 5.0f); + m_shutterClose = props.getFloat("shutterClose", 0.0f); if (m_shutterOpen > m_shutterClose) Log(EError, "Shutter opening time must be less than " "or equal to the shutter closing time!"); diff --git a/src/librender/preview.cpp b/src/librender/preview.cpp index 391593de..08d8608d 100644 --- a/src/librender/preview.cpp +++ b/src/librender/preview.cpp @@ -68,13 +68,14 @@ void PreviewWorker::processIncoherent(const WorkUnit *workUnit, WorkResult *work Vector toVPL; Ray primary, secondary; int numRays = 0; + float shutterOpen = m_scene->getCamera()->getShutterOpen(); for (int y=sy; yrayIntersect(primary, its)) { @@ -88,7 +89,7 @@ void PreviewWorker::processIncoherent(const WorkUnit *workUnit, WorkResult *work value = Spectrum(0.0f); toVPL = m_vpl.its.p - its.p; - secondary = Ray(its.p, toVPL, ShadowEpsilon, 1-ShadowEpsilon, 0.0f); + secondary = Ray(its.p, toVPL, ShadowEpsilon, 1-ShadowEpsilon, shutterOpen); ++numRays; if (m_kdtree->rayIntersect(secondary)) { block->setPixel(pos++, value); @@ -352,6 +353,7 @@ void PreviewWorker::processCoherent(const WorkUnit *workUnit, WorkResult *workRe ); its.t = its4.t.f[idx]; shape->fillIntersectionRecord(ray, temp + idx * MTS_KD_INTERSECTION_TEMP + 8, its); + bsdf = its.shape->getBSDF(); } wo.x = nSecD[0].f[idx]; wo.y = nSecD[1].f[idx]; wo.z = nSecD[2].f[idx]; diff --git a/src/librender/shandler.cpp b/src/librender/scenehandler.cpp similarity index 99% rename from src/librender/shandler.cpp rename to src/librender/scenehandler.cpp index f8e99e7d..9a160607 100644 --- a/src/librender/shandler.cpp +++ b/src/librender/scenehandler.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/src/librender/util.cpp b/src/librender/util.cpp index 8a2cd042..d091c2db 100644 --- a/src/librender/util.cpp +++ b/src/librender/util.cpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include MTS_NAMESPACE_BEGIN diff --git a/src/mitsuba/mitsuba.cpp b/src/mitsuba/mitsuba.cpp index cffbb03f..f1512eba 100644 --- a/src/mitsuba/mitsuba.cpp +++ b/src/mitsuba/mitsuba.cpp @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/mitsuba/mtsutil.cpp b/src/mitsuba/mtsutil.cpp index 1cfaee33..a546d0ad 100644 --- a/src/mitsuba/mtsutil.cpp +++ b/src/mitsuba/mtsutil.cpp @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/qtgui/sceneloader.cpp b/src/qtgui/sceneloader.cpp index c20141e4..9cb8ccf0 100644 --- a/src/qtgui/sceneloader.cpp +++ b/src/qtgui/sceneloader.cpp @@ -19,7 +19,7 @@ #include #include "glwidget.h" #include "sceneloader.h" -#include +#include #include #include #include diff --git a/src/shapes/animatedinstance.cpp b/src/shapes/animatedinstance.cpp index b9614f69..37b75cc1 100644 --- a/src/shapes/animatedinstance.cpp +++ b/src/shapes/animatedinstance.cpp @@ -39,6 +39,7 @@ public: : Shape(stream, manager) { m_shapeGroup = static_cast(manager->getInstance(stream)); m_transform = new AnimatedTransform(stream); + configure(); } void serialize(Stream *stream, InstanceManager *manager) const { @@ -134,5 +135,5 @@ private: }; MTS_IMPLEMENT_CLASS_S(AnimatedInstance, false, Shape) -MTS_EXPORT_PLUGIN(AnimatedInstance, "AnimatedInstanced geometry"); +MTS_EXPORT_PLUGIN(AnimatedInstance, "Animated instanced geometry"); MTS_NAMESPACE_END diff --git a/src/textures/checkerboard.cpp b/src/textures/checkerboard.cpp index 68d23287..ccb4654d 100644 --- a/src/textures/checkerboard.cpp +++ b/src/textures/checkerboard.cpp @@ -46,7 +46,8 @@ public: } inline Spectrum getValue(const Point2 &uv) const { - int x = 2*(((int) (uv.x * 2)) % 2) - 1, y = 2*(((int) (uv.y * 2)) % 2) - 1; + int x = 2*modulo((int) (uv.x * 2), 2) - 1, + y = 2*modulo((int) (uv.y * 2), 2) - 1; if (x*y == 1) return m_brightColor; diff --git a/tools/blender/mitsuba/operators/__init__.py b/tools/blender/mitsuba/operators/__init__.py index b5898216..c9f87135 100644 --- a/tools/blender/mitsuba/operators/__init__.py +++ b/tools/blender/mitsuba/operators/__init__.py @@ -186,7 +186,7 @@ class EXPORT_OT_mitsuba(bpy.types.Operator): try: process = subprocess.Popen( [mtsimport_binary, '-r', '%dx%d' % (width, height), - '-l', 'pngfilm', mts_dae_file, mts_xml_file, mts_adj_file], + '-n', '-l', 'pngfilm', mts_dae_file, mts_xml_file, mts_adj_file], env = env, cwd = self.properties.directory ) diff --git a/tools/blender/mitsuba/outputs/__init__.py b/tools/blender/mitsuba/outputs/__init__.py index 73a6ae07..5e194555 100644 --- a/tools/blender/mitsuba/outputs/__init__.py +++ b/tools/blender/mitsuba/outputs/__init__.py @@ -28,7 +28,6 @@ class MtsFilmDisplay(TimerThread): result = self.LocalStorage['RE'].begin_result(0, 0, int(xres), int(yres)) if os.path.exists(self.LocalStorage['output_file']): - bpy.ops.ef.msg(msg_text='Updating RenderResult') lay = result.layers[0] lay.load_from_file(self.LocalStorage['output_file']) else: diff --git a/tools/blender/mitsuba/ui/materials/__init__.py b/tools/blender/mitsuba/ui/materials/__init__.py index 35604a17..f1565d64 100644 --- a/tools/blender/mitsuba/ui/materials/__init__.py +++ b/tools/blender/mitsuba/ui/materials/__init__.py @@ -111,7 +111,7 @@ class MATERIAL_PT_preview_mts(MaterialButtonsPanel, bpy.types.Panel): def draw(self, context): if not hasattr(context, 'material'): return - self.layout.template_preview(context.material) + self.layout.template_preview(context.material, show_buttons=False) engine = context.scene.mitsuba_engine row = self.layout.row(True) row.prop(engine, "preview_depth") diff --git a/tools/windows/mitsuba.png b/tools/windows/mitsuba.png new file mode 100644 index 0000000000000000000000000000000000000000..24376407c9a43b31077b036dbed7fb63d17a0e67 GIT binary patch literal 53539 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

ifpAAP(GYY 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 literal 0 HcmV?d00001