Menu

#324 cube environment map filtering is broken

non_fatal
closed
7
2012-09-20
2008-07-21
No

When creating the fisheye lens scene (soon to be in the content directory in svn) I discovered two ways in which the current cube environment mapping is broken.

1) It's recommended to render faces of the cube with a field of view slightly greater than 90 degrees so that filtering can occur properly. However, using "fov" 93 results in maps which don't fit together. This is because CqEnvironmentMapOld::SampleMap() doesn't correctly scale u and v by m_fov.

2) The mipmap level calculation seems to be completely broken (I have no idea why it works at all currently!): CqEnvironmentMapOld::SampleMap() calls CalculateLevel(u,v) where it should be calling CalculateLevel(du,dv) where du and dv are the filter sizes. Unfortunately the current code doesn't lend itself to computing du and dv without some refactoring (too much for the very imminent 1.4 release).

Discussion

  • Chris Foster

    Chris Foster - 2008-07-21

    Logged In: YES
    user_id=1086736
    Originator: YES

    This will be fixed when aqsistex supports environment mapping. It could be fixed before that, with some additional effort.

     
  • Chris Foster

    Chris Foster - 2008-08-13

    Logged In: YES
    user_id=1086736
    Originator: YES

    Environment filtering was moved into aqsistex between revisions 2347 and 2370, fixing this issue.

     

Anonymous
Anonymous

Add attachments
Cancel