Home Technical Talk

about rendering, and shaders, and other nastys...

ngon master
Offline / Send Message
almighty_gir ngon master
ok so i'm using a skin shader in max (thanks Styles...)

it looks great, exactly the look i want. problem is, if i render using the same maps i'm using in the shader, the result is completely different.

i'm sure it's because the shader simulates subsurface scattering and other such things, but how can i do the same in my renders, and more importantly, which game engines will use the same/similar shader styles?

shader:
shadertw6.jpg

render:
renderod4.jpg

Replies

  • Eric Chadwick
    Why render? Game companies re-do their materials and usually the models too, if they want to render intro movies or promo shots.

    If you want to show off your in-game-style asset though, use the Make Preview function in the Animation menu. Renders out what's in the viewport. Set your graphics card to use AA for better results.
  • Eric Chadwick
    Borislav Petrov's old Volume Preview might still work... it would give you shadows in the Make Preview render (along with atmospheric effects).
  • almighty_gir
    Offline / Send Message
    almighty_gir ngon master
    cool, thanks. but it still doesn't answer my question about the shaders and game engines. it's pointless using this shader to get a great result in max, if i have to then completely change my texture maps and material settings to get the same result in-game.
  • Ryno
    Offline / Send Message
    Ryno polycounter lvl 18
    You pretty much have to test your stuff in the engine that you are using. Max DX display could give you a ballpark idea how things might look, but you never know exactly how it'll look until you get it in the engine. Spec value and color seems to be one of the biggest issues. You could also use a custom direct x shader that is similar to the in game display.

    Remember that most games are Direct X driven displays. That means you really need to be looking at stuff in this mode in Max, whether you are turning on DX display, or you are using a proper Direct X shader. Max's render shaders don't mean a damn thing when it comes to realtime display, and are a totally unique breed of animal for rendering purposes only.
  • Rob Galanakis
    "it looks great, exactly the look i want. problem is, if i render using the same maps i'm using in the shader, the result is completely different."
    As has been said, real-time and pre-rendered shots need completely different materials, as they serve completely different purposes and are thus rendered with quite different techniques. If your character is for a render, then feel free to set up a Max material. If you character is for real-time, then the shader on your character doesn't matter as it will use whatever you assign it to use in the engine. What does matter regarding this, though, is you want to be able to preview your work as you view it as close as possible to how the game will display it.

    "it's pointless using this shader to get a great result in max, if i have to then completely change my texture maps and material settings to get the same result in-game. "
    I don't think you understand how shaders and materials work in game.
    If you are worried about getting a 'great result' in Max, then use a Max Material. If you are worried about how something will look in-engine, then use a real-time material approximating as closely as possible your engine shader. Yes, using the JIStyles skinshader is pointless if you are worried how your material will look in game, or in a render for that matter. It is pretty for showing things off in Max but that is about it.

    Your best bet is, if you want to render something, use a standard max material. If you want to approximate what you will see in engine, you need to port an engine's shaders to Max. I did this when I started my new job (and eventually turned our entire material/shader system into a scripted material plugin in Max), and it provided a 1-to-1 WYSIWYG... the artists no longer have to worry how their stuff will look in-game after previewing it with the pretty limited (and quite... unique) Max DX Material display.
  • almighty_gir
    Offline / Send Message
    almighty_gir ngon master
    ok, i understand that, so how do i go about porting shaders? i'm no programmer, and from the sounds of it some reverse engineering will be needed.

    let's say i wanted the UE3 shaders?
  • Eric Chadwick
    Get the UE3 editor and work therein.
Sign In or Register to comment.