Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 5 of 5

Thread: Inferred rendering

Hybrid View

  1. #1
    Newbie Newbie
    Join Date
    Jan 2013
    Posts
    1

    Inferred rendering

    Hello everyone.

    I need to render translucent materials using OpenGL 3.3 and a deferred shading model, after a lot of research I found a technique called inferred rendering that combines both things a deferred shading and translucent materials but my question is with inferred rendering I also need a material shader that deals with the subsurface scattering or I don't need to use the subsurface scattering for implementing translucent materials with inferred lighting or rendering ?

    Thanks in advance.

  2. #2
    Senior Member OpenGL Pro
    Join Date
    Jan 2012
    Location
    Australia
    Posts
    1,106
    Inferred rendering is simple writing translucent pixels in a dither pattern so some of the pixels have the background colour. It has nothing directly to do with subsurface scattering. From the examples I have seen it can generate very bad moire.

  3. #3
    Member Regular Contributor Nowhere-01's Avatar
    Join Date
    Feb 2011
    Location
    Novosibirsk
    Posts
    251
    it's not related to subsurface scattering, but it uses DSF - filtering method to eliminate interlacing artifacts. and it's not cheap. inferred rendering has a lot of failure cases.

    some presentation

    i, personally, use a separate pass for semi-transparent objects. because i can't think much of the cases, there you actually need correct lighting for semi-transparent objects. and you can still use simple forward lighting for some objects if you really need.

  4. #4
    Senior Member OpenGL Pro
    Join Date
    Apr 2010
    Location
    Germany
    Posts
    1,099
    Another way of rendering translucent objects is to use a deep framebuffer. Search for humus and deferred shading. He (humus aka Emil Persson) has a lot of interesting material. However, you still have tradeoffs like even higher memory usage and more bandwidth.

    EDIT: I just remembered yet another approach by John Chapman.

    Anyway, deferred shading and translucency (transparency is actually incorrect because transparent objects aren't visible ) is, pardon my french, a bitch. Either accept the trade-offs or implement a forward rendering path - which I actually consider a trade-off as well. Then agaon, most trade-offs incurring memory consumption and bandwidth will be mitigated by newer hardware with more resources and computing power anyway - not to mention the increased implementation effort needed for a second render path.

    Still, think about the systems you're targeting and then make an educated decision rather than blindly following the first best suggestion.
    Last edited by thokra; 01-17-2013 at 02:12 AM.

  5. #5
    Member Regular Contributor Nowhere-01's Avatar
    Join Date
    Feb 2011
    Location
    Novosibirsk
    Posts
    251
    Quote Originally Posted by thokra View Post
    EDIT: I just remembered yet another approach by John Chapman.
    i also have seen this article. to be truthful, i didn't read it very carefully yet. i took a glimpse at it and it seems to suggest making forfard rendering pass for translucent objects in which you achieve translucency effect by sampling texture containing alredy lit opaque objects(but before post-processing) and mix it with current fragment, pased on it's opacity. and then you mix opaque and translucent results. i'm not sure about how it will handle multiple translucent objects in front of each other. but i think it will be easy to make acceptable approximization for game engine. it should be a bit more fast and robust than metod i use, because i have to store accumulated alpha value for translucent pass separately, and it bugs me a lot.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •