Create Beautiful Realtime Renders Using the Xoliul Viewport Shader in 3ds Max

In this video tutorial, specifically made for game artists working with 3DS Max, Laurens Corijn will show you how to use his ever popular Xoliul viewport shader to display your work in realtime, and also how to set up fancy viewport effects such as shadows and SSAO. Apart from being a more correct way to display your videogame art than standard software rendering, this method is also much faster to set up and get your work looking good.

Final Effect Preview


You can download a copy of the shader from Laurens’ website at: http://www.laurenscorijn.com/viewportshader

Full Video

Download

Note: click the ‘Monitor’ icon to view tutorial in full-screen HD.

Don’t miss more CG tutorials and guides, published daily – subscribe to Cgtuts+ by RSS.

Add Comment

Discussion 36 Comments

  1. mohamed says:

    thank you man ,its awsome,and very very helpful ,thanks alot … we are waiting for other tutorials ;)

  2. Rob says:

    great overview, thanks!

  3. Alan says:

    Really great tutorial. Thanks for taking the time out to make it and for also taking the time to make an excellent shader!

    I look forward to more of your tutorials!

  4. Georgi "Vrednia" Zahariev says:

    you are my hero dude thanks this will give me the push i needed to start with the low poly stuff

  5. patrick riley says:

    That explains why some video games have a whitish fringe around the characters!

    Ive got the swine fly btws

  6. nour el-islalm says:

    Thanks brother you are the best of the best. but i need the better…

  7. Web 2.0 says:

    you are dangerous man… just joking! great work…

  8. david says:

    this doesn´t work in max 2010?? it says error loading file
    it´s a really nice tutorial but is imposible for to follow because of the error

    thanks

  9. Overtrack says:

    Nice tuts, thank you.

    I’ve got a question : I have the same problem than you at 24:05. The viewport bugs when i’m recording my screen. How can we fix that? This is very annoying…

  10. nour el-islam says:

    nice tuts are you angry

  11. nour el-islam says:

    1.2.3 vive l’algerie

  12. nour el-islam says:

    good morning mer. are you fine…

  13. mo says:

    very nice, thanks for the effort :)

    2 notes though:

    didn’t you forget to check the glossymap-box?

    and: you probably should think about getting a better microphone ;)

    keep up the good work :)

    • Laurens says:
      Author

      You don’t need to check glossmap button to get it to work with reflections, but I should check, I might have :)
      And yeah … microphone… It’s a decent headset already, maybe I should look into getting something better. You’re the first to mention it though.

  14. Joey says:

    Wonderful tutorial. Well explained and everything. Thumbs up.

  15. kony says:

    thanks you
    great overview!
    cool dx shader

    thks thks thks ;)

  16. kYo says:

    great tut! since im using your shader too and lovin it im sure this will help the right people out, especially beginners. highly to recommend.

  17. arnel says:

    this is crazy good but i would also recoment cgwhatl there are some good tutorials for 3d

  18. Nixon says:

    this was very informative and the models looked awesome using your shader!!
    indeed no need to render out at such a quality level in the viewport already …
    i wonder what kinda of machine this was recorded since the overall quality suggests that theres some decent hardware needed ..
    I might be wrong so I’m eager to find out:)
    Great tutorial, really liked the output of the shader and the proper maps of course too!
    Best regards
    Nixon

  19. lucas says:

    Nice scorpion!

  20. Turel0397 says:

    I use your shader quite often,millions of thank’s.

  21. oleksys says:

    Can I have result like this on shaders ver. 2.0?

  22. spitty says:

    hey, this is a great tutorial and great shader you made, but where can i get better .dds cubemaps? ive tried to convert HDR’s but no help, thanks

  23. Alex says:

    I follow your tutorial only to receive the following error when adding the directx shader:

    error X3086: DX9-style ‘compile’ syntax is deprecated in strict mode

    What is strict mode and how do I get out of it?

  24. eddy says:

    This means that you don’t need to create lightmap anymore? Please excuse my poor knowledge, I’m still learning

  25. Overport says:

    hey, just wondering if you could upload the script where you hide the timeline ?
    Many thanks!

  26. Nic says:

    Thx for the tutorial, really helpful.
    You said you like to do cars? I was wondering wich technic you use to model your highpoly cars?

    Nurbs,smoothed polys,box modeling, spline, other?

  27. zino says:

    nice tutorial , i just want to ask you is this shade using HLSL language or something else i want to learn how to programme shaders if you can give me some direction on how to do so thank you.

  28. msulim says:

    Great work, but excellent accuracy in the work
    I do not say is thank you
    thankssssss you

  29. Erik says:

    Great Shader and modeling! Is there a way of anti-aliasing viewport renders?

  30. unit102 says:

    hi,

    I have a quick question,

    how can I render my result to be equal to the view port please? (i tried rendering my scene but I see the different results.

    thanks.

  31. FTG says:

    I’m sorry for this amateur question, but those textures you used, they come from a high-poly model, which you baked and used in this lower-poly version? And the shader doesn’t support reflections of other objects?

    Anyway, this tutorial was awesome, I’ve always wanted to see real-time reflections like games inside 3ds MAX, and you were the only one who explained it. Thanks. And by the way, where did you learned to create a shader?

Add a Comment

To add a code snippet to your comment, please wrap your code like so: <pre name="code" class="html">YOUR CODE</pre>. You can replace the class name with "js," "css," "sql," or "php." If there are any "<" or ">" within your code, please search and replace them with: &lt; and &gt; respectively.