Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualAgentC

Posted 05 April 2013 - 02:04 PM

Even though the lit object queries would be made per light, you can still build the per-object light lists from those, and don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all opaque objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For opaque objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights, Repeat until light lists for all opaque objects have been exhausted

- Transparent objects need to be rendered in back-to-front order, interleaving the first & additive passes

(ie. most distant object first pass, most distant object additive pass (if needed), second most distant object first pass...)

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


#5AgentC

Posted 05 April 2013 - 02:03 PM

Even though the lit object queries would be made per light, you can still build the per-object light lists also from those, and don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all opaque objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For opaque objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights, Repeat until light lists for all opaque objects have been exhausted

- Transparent objects need to be rendered in back-to-front order, interleaving the first & additive passes

(ie. most distant object first pass, most distant object additive pass (if needed), second most distant object first pass...)

 

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


#4AgentC

Posted 05 April 2013 - 02:03 PM

Even though the lit object queries are made per light, you can still build the per-object light lists also, and don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all opaque objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For opaque objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights, Repeat until light lists for all opaque objects have been exhausted

- Transparent objects need to be rendered in back-to-front order, interleaving the first & additive passes

(ie. most distant object first pass, most distant object additive pass (if needed), second most distant object first pass...)

 

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


#3AgentC

Posted 05 April 2013 - 01:58 PM

You don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all opaque objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For opaque objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights, Repeat until light lists for all opaque objects have been exhausted

- Transparent objects need to be rendered in back-to-front order, interleaving the first & additive passes

(ie. most distant object first pass, most distant object additive pass (if needed), second most distant object first pass...)

 

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


#2AgentC

Posted 05 April 2013 - 01:58 PM

You don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all opaque objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For opaque objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights (do not re-render ambient now.) Repeat until light list for all objects has been exhausted

- Transparent objects need to be rendered in back-to-front order, interleaving the first & additive passes

(ie. most distant object first pass, most distant object additive pass (if needed), second most distant object first pass...)

 

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


#1AgentC

Posted 05 April 2013 - 01:55 PM

You don't necessarily have to make the directional lights a special case, if you do for example the following:

 

- Render the "first pass" for all objects: use replace blend mode + render ambient&emissive + the first n lights from the object's light list, whatever your shaders can handle

- For objects whose all lights were still not rendered: switch to additive blend mode + render rest of the lights (do not re-render ambient now.) Repeat until light list for all objects has been exhausted

 

Note that in forward rendering you always have to sample the object's material textures again in each lit pass, your description above sounds like the lit passes would not sample material textures anymore, which sounds more like deferred rendering.


PARTNERS