Mental Ray Problems

Source: Internet
Author: User

Install

For the SPM installation and cracking, refer to here http://cgpersia.com/2008/08/softimage-xsi-70-400.html

 

Install Mental Ray standalone 3.5.1,

 

Then, use the cracked ray.exeto replace ray.exe In the BIND directory of the installation directory.

However, ray.exe cannot be used.

 

 

Resources

Http://www.maxplugins.de/

CG references & tutorials http://www.fundza.com/

Http://www.impresszio.hu/szabolcs/MentalRay/MRResources.htm

 

Open Souce Projects

Miparser
-A Parser for Mental Ray scene files

Mrclasses
-A c ++ wrapper and Utility Classes for the Mental Ray API.

Mrliquid
-A tool for translating
Maya scenes into another Renderer's scene description. Currently it
Provides support for Mental Ray and provides a very direct level
Compatability with maya2mr.

 

Blog

Candy lab official blog

Http://www.pixero.com/

Http://cgkarl.blog.163.com/

Http://www.lvyuedong.org/projects/tech/mentalray

 

Shader collections

Http://www.alan-warren.com/tag/aov/
, Mr, RM

Http://www.djx.com.au/blog/
Zootoolbox, Mr, Maya, rendering

Http://www.pixero.com/downloads.html
Mr shaders, Maya shaders, darktree shaders

Http://www.pixero.com/downloads_mr.html
Mr shader links

Shaders_p

Shaders_p extension, used

Http://blog.candylab.co.uk/tag/shadersmentalray/

Http://be3d.republika.pl/

Http://forum.mentalimages.com/showthread.php? T = 3321

Http://en.wikipedia.org/wiki/Mental_ray
(External links)

 

FAQ

Http://www.lamrug.org/

Http://jeffpatton.net/forum/index.php/topic,4.0.html

Http://www.mymentalray.com/forum/showthread.php? T = 22

Http://forums.cgsociety.org/showthread.php? F = 183 & t = 104578

 

Why not Mr

Facts only
This posting will be updated with the latest summary of issues.

Overall Design

"Specification first, implementation next" motto is not about Mental Ray. in my opinion there was no fixed feature list or a clear marketing or invalid ical goal in the first place. so Current State of the Renderer (now at version 3.7) Looks like an iterative result of patches, enhancements, patches of enhancements and enhancements of patches. its architecture in general is unclear and has lots of "ifs" and "howevers ".

Scene Database

-Either poorly designed or some of its features, like tag/name resolution, are not used by the Renderer. hence the famous "unknown DB tag" error messages followed by fatal termination with no diagnostics whatsoever. it can only be compared to a programming language compiler segfaulting on syntax errors in source files with "there is an error somewhere" message. given the fact an average production scene consists of hundreds of millions. mi lines, this is a major issue. the "null dB tag" message with no info on at least the shader which caused that, is super annoying as well. actually A segfault in this case wocould be much more informative for a TD running Ray under debugger.

-There is no generic mechanic to attach named user attributes to Geometry hierarchies. user data block was supposed to fill the gap but it doesn' t. data blocks cannot be propagated down the Dag hierarchies which is necessary to tag groups of objects for processing applications, including but not limited to custom light linking and shader control. two types of shaders were introduced to fix it (Inheritance and traversal) but with no success at all. basically this is because of a poorly organized datablock C structure: it is a sort of singly linked list in which the datablock has the "Next" pointer inside it. so the same datablock cannot be part of more than one chain.

Parser

-Gzipped input not supported. this can be worked around with a wrapper ungzipping the input and feeding the Renderer's stdin with uncompressed text. but it is impossible to do so for the assemblies (see the API section below, dealyedreadarchive equivalent)

-Syntax errors in some cases are silently ignored by the parser. Later on that leads to a crash (null dB tag or just segfault) with no visible/detectable reason.

-Inconsistencies in Scene Description Language, like for example a material instance shocould be terminated by the "End material" line but the shader instance shouldn't.

Shading

-Concept of all samples being infinitesimal points (unlike renderman area-based samples) makes it easier to write procedural shaders, since you don't need to worry about derivatives and antialiasing. but this is excessively compensated by General ineffectiveness and texture filtering problems. the most evident thing revealing the invalid nature of point sampling coupled with adaptiveness on the eye rays is the user framebuffers. if the adaptiveness threshold is defined by the beauty image, it results in poor framebuffer antialiasing in shadows, low light, etc. if we detect contrast on all framebuffers (contrast_all_buffers), render times can increase by an order of magnqueue.

-Elliptical texture filtering is bogus: there is no way to specify boundary conditions (periodic/clamp/black): It's always periodic. so even a simple thing like bluring texture border (blured decal) is not possible. no diffuse/specular convolution kernels are available, so a simple Environment Illumination shader can easily grow into a separate software project involving R & D on texture filtering kernels, spherharmonics, etc.

API

-Micolor, their basic color class is 4-component rgba. just plain wrong. alpha is not a property of color. it's a property of layer, surface, or whatever else but not the color. it's really hard to think of alpha of light color for example. what do you do with Alphas when two colors are multiplied or added? What is the Alpha of the color representing surface transparency or shadow transparency? This is confusing for not only the regular users, but also those people working for mental images and writing Mental Ray books. How do you implement C ++ methods to multiply or add colors? The only feasible reason I wocould agree to have alpha value in color for is framebuffer handling, but in parallel cases it's not even used there (see Rasterizer section below ).

-Mi_trace_transparency () concept puts the burden of Alpha compositing on shader writers, but not for the Rasterizer mode. coupled with framebuffer control sceme it makes shader code as uugly as it's error-prone.

-One shadow map/shadow type per light limit coupled with no API facilities to write/read shadow maps. this makes plugin advanced effects impossible without a lot of programming involved to implement your own shadow map format and thread-aware facilities to read and write it.

-Purely non-oop API. I wowould forgive it in 1979 but not in 2009. there are a couple of C ++ patches like light iterator class, but for practical reasons (over-protective light caches which I need to reset sometimes) I avoid using them.

-There is no viewer to display detail shadow maps (equivalent of deep shadow maps) in mentalray's toolset. detail shadow map format is not open and there is no API to read it, so you cannot write your own viewer. thus, to check what's happening in shadow map you have to switch to standard shadow map format and render it again.

Specific problems/bugs

-Motion Blur (if not rendered as motion vectors only) cannot be used because of its dramatic effect on render times, no matter they claim it as "Improved" in version 3.7

-Motion vectors (State-> motion) do not consider camera motion in raytracer mode. This is claimed to be a feature, not a bug.

-Rasterizer: colors sent to user framebuffers gets multiplied by beauty Alpha before layer compositing if the Renderer thinks it's necessary. this kills specular framebuffer on Transparent surfaces. also the fact the framebuffer's own alpha in the micolor's 4th component is ignored in favor of the beauty's Alpha plus the fact another 4-component color transparency value cocould be provided mi_transparency_set (), makes Rasterizer Alpha compositing quite convoluted. although the "A over B" and Alpha itself are one of the simplest concepts in CGI history.

-Material phenomena with non-default shadow shader and at least one detail shadow light reliably crash the Renderer.

-OpenGL objects with displacements on them get excessively Tesselated producing thousands of polygons more than necessary even if the displacement Amplications is zero.

-Hair rendering/shading. the only mode to render hair with decent quality is Rasterizer. the only type of shadow to render hair with decent quality in acceptable time is detail shadow map. unfortunately these two limitations mean tons of serious problems. rasterizer functionality is limited in terms of user framebuffers with speculars and Reflections on transparencies. shadow maps are limited in terms of lack of "Light radius" functionality to produce sharper shadows from closer shadow casting obejcts and softer shadows from distant objects. this alone makes production rendering in Mental Ray problematic to say the least.

-Heavy assemblies seriously slow down scanline mode with no visible reason: memory consumption stays way below the limit

-Assemblies (equivalent of delayed read archives) cannot be nested

-Assemblies in raytracer mode cannot be used: mi_trace_transparent () always returns 0 So Alpha on (semi) transparent objects renders completely broken.

Maya Integration

-Switching mayatomr to "Export with full Dag hierarchy" which is necessary for many reasons produces buggy. mi files. cameras and lights get incorrect transforms and/or motion transforms in case motion blur is used.

-Mayabase shaders are not available in source code. That makes customization impossible. You basically wocould need to start writing all shaders from scratch having a lot of fun with all kinds of hidden hooks and tricks.

-There is no way to attach custom Mental Ray shader to Maya hair/fur.

-Maya light linking in heavy scenes makes mayatomr export slower by an order of magnwer

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.