5 Months Ago
CDecalSceneObject - Non renderable, holds data only but can be culled by the scenesystem Tiled Frustums ( We should make light culling use these as they are more accurate and faster ) Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView Forward+ Decals * Decals get binned by the lightbinner from OnSceneObjectVisibleInView (all lights should start using this callback too) * Tiled culling checks decals within each tiles frustum * Decal::Apply( ... ) is used to mix decal's albedo, normal, etc. into surface Apply forward+ decals as part of standard shading (recompiles needed to support this feature)