You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Splitting up #4196 into smaller, more focused tasks.
While #11715 focuses on the performance aspects of fog, this issue focuses on the visual aspects of fog.
The main objective is to add a FogPipelineStage to the Model pipeline that applies fog to models far away from the camera in horizon views. I had started prototyping such an architecture in the branch .
Some details, like using czm_fog() are straightforward. However, the main difficulty comes from computing the atmosphere color. Most of the details here are documented in other issues, so see:
4196-3d-tiles-fog - a branch where I partially implemented this feature
Yesterday I was talking to @jjhembd about the difficulties with projecting a vertex to the ellipsoid surface, and he had some good insights and resources to look at. Recording them here for the future:
Approach 1: Use a local azimuthal radius of curvature
This makes use of local curvature at the camera position, using the center of the tile may be more accurate. This might be important since fog applies to tiles far in the distance
Background concepts about the azimuthal radii of curvature:
The "prime vertical radius of curvature" is a fancy name for the principal curvature in the east-west direction. diagram
The "meridional radius of curvature" is a fancy name for the principal radius of curvature in the north-south direction,
The "azimuthal radius of curvature" is an (non-linearly) interpolated radius of curvature along an direction other than north or east.
This approach compares the ellipsoidal height at the camera position and the position of the vertex. The azimuthal radius of curvature gives a height correction due to the surface being curved.
Approach 2: Convert problem to 2D and use an iterative solver
This uses the assumption that X and Y radii are equal for the ellipsoid
Splitting up #4196 into smaller, more focused tasks.
While #11715 focuses on the performance aspects of fog, this issue focuses on the visual aspects of fog.
The main objective is to add a
FogPipelineStage
to theModel
pipeline that applies fog to models far away from the camera in horizon views. I had started prototyping such an architecture in the branch .Some details, like using
czm_fog()
are straightforward. However, the main difficulty comes from computing the atmosphere color. Most of the details here are documented in other issues, so see:4196-3d-tiles-fog
- a branch where I partially implemented this featureGlobeVS.glsl/GlobeFS.glsl
for the existing fog shader code for terrain.Note that fog rendering is enabled separately from ground atmosphere, I'll open a different issue for the latter.
The text was updated successfully, but these errors were encountered: