Tuesday, March 16, 2010

Retrospective 22/9/2009

Now trying to get lighting working using the new Scene construct and support for n lights. Split LightScene into a write and read phase, each with their own RenderChannelStrip

The goal of this is to have the draw order for all render channels interleaved to look like this:
light1 write
light2 write
camera1 draw depth
light1 read
light2 read
camera1 draw materials

camera2 draw depth
light1 read
light2 read
camera2 draw materials

This is now done. Now there are heaps of Render Channel Strips, each describing one stage of the pipeline.

Multiple lights are not completely working, as they have no current way of utilising a separate render target (all are hard-coded to use data/lightMap1.xml)

If lightX write, lightX read can be customised to use any render target, the lighting can be performed.

OK gots this all pretty much working, for n lights. The light maps seem at least to write correctly.

The throwing of the light on the objects doesn't yet work.. and i think its because in the LightingRenderChannel it sets no states whatsoever to do with the light's view matrix - so can't be right.

lights (1 and 2) and (3 and 4) seem to be reading from each other's depth maps. but if you set 1 and 2, you get a consistent shadow map, separate from 3 and 4. But why would they influence each other?

No comments:

Post a Comment