f
f
Global SectionArticlesBookstoreDictionaryDownloadsDVDsEventsForumsGalleryJob ListingsNewsNewslettersSchools
 Advanced Search
USER: PASS:  Login  Register

Subscribe
Site Links
Home > XSI > Tutorials > Rendering > Faking micro-bevel with mentalRay > Page 1 Change background colorChange background colorChange background colorChange background color
Faking micro-bevel with mentalRay
Tutorial by Homam Bahnassi
Login to add a Bookmark 2 votes for an average rating of 4.00

Updated:   10/19/05

Works on:    Windows
XSI Versions:   4.x, 5.x
Readership Level:   Intermediate
Owner:   Homam Bahn
Author Name:  Homam Bahnassi
Homepage:   http://www.inframez.com/

Introduction
It is very rare to find perfect hard edges in the real world even on the hardest surfaces around. Actually it is something not desirable (imagine a building with a corner as sharp as a blade yikes!).
However, most 3D images are made of discrete polygons that have no sense of humor. Theyre just that! Polygons made of very sharp and clear edges. This usually contributes to a mysterious unnatural feeling about the final rendered image (ever wondered why a perfectly-rendered architectural 3D shot still looks CG?).

This problem is exaggerated more and more with materials that have a specular term added to their definition, making rendered objects look way too CG (if you know what I mean).


Micro-beveling in action

Manually fixing this issue is a very time-consuming process in most cases (find the edges, add more polygons there, adjust the normalsetc).

click for larger version
The cost of hand-made beveling

A more efficient method for achieving this is to fake it using shaders (mentalRay, or better yet, in real-time). So, we are now looking at a render-time solution to the problem.

This tutorial will be divided to two parts. The first one (this one) will cover doing this effect using mentalRay. The other part will achieve the same effect but in real-time (by using the new version of DSK|Shaderbass). So lets waste no more time


Skill Requirements

  • Good background in the mentalRay rendering system
  • Good understanding of the XSI render tree or any other equivalent system that supports mentalRay and shaders assembly
A Normal Story
Before we get our hands dirty with shader work, well first take a brief look at the main concept behind this effect. It is fairly simple; it depends on modifying the lighting interaction between the objects surface and light sources for each sample. As we all know, the surface normal is the component that controls this kind of interaction. We can experience this very easily in XSI with the normal editing add-on.


Tweaking normals

So, first turn on Normal Viewing from the camera display options and take your time to play around with your objects normals either using the normal editing add-on or by modifying the hardedges and smoothing angles.

Note how as you change the surface normal direction, the affected surfaces interaction to light changes also.

Now we will depend on this fact to customize the surface normals around the objects hard edges to give them a beveled look.

We will implement this in XSI without writing any line of code actually (most of us arent so much of programming techies).

Did you use the vector state shader node before? This magical mentalRay shader node will be of great help to us. This shader node returns a wide variety of states about the currently rendered sample in mentalRay.
So in XSI, if we grab an instance of this node and open its property editor, well see how we can specify which of the available vector states to return, so we use them in our assembled render network.


Obtaining a vector state node

Amongst the available states, we are most interested in two of them. These are the Geometry Normal Vector and the Normal VectorNormal Vector states.

Each one of these two states returns the surface normal at each sample mentalRay is rendering. But they differ in that the Geometry Normal Vector returns the unsmoothed surface normal (called face normal too) without taking into account the actual surface normals while the Normal Vector simply returns the actual normal for each sample.


Face normals and smoothed normals

Now what we need to do with these states is simple.

Well use them to render the unsmoothed normals (Geometry Normal Vector) all over the object and mask the smoothed normals (Normal Vector) only around the edges, and thats our next step in this tutorial.

.




Continue Tutorial:  1 2 next page

Login to add a Bookmark 2 votes for an average rating of 4.00

Related Learning Tools
XSI Related DVDs



Character Design & Integration-Half-Life 2 & XSI
XSI Related Books



mental ray for Maya, 3ds Max, and XSI: A 3D Artist\'s Guide to Rendering
Global DVDs



UV Mapping for Games

Top Rated XSI Tutorials

1. Faking micro-bevel with mentalRay by Homam Bahnassi (10/19/05)
2. Texture Blending using Weight Maps by Christoph Schinko (03/13/07)


Related Tips


No Results to Display


More Tutorials by Homam Bahn

1. Faking micro-bevel with mentalRay by Homam Bahnassi (10/19/05)






Sponsors

Sponsor

Contact Us | Advertise | Post Jobs | Post News | Post Events | Terms