Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions packages/examples/src/examples/afterBurner/ExampleAfterBurner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,19 @@ const createGame = async () => {
// pitches, so this example opts out of the application default
// (which ships `true`).
castGroundShadow: false,
// 4x MSAA. The jet, enemies and terrain props are low-poly models
// with long straight edges, which alias badly as they recede — and
// this scene composites through post effects, so it relies on
// capture targets being multisampled too (#1556); without that the
// scene would rasterize into a single-sampled capture and the
// smoothing would be thrown away before it reached the canvas.
antiAlias: true,
// OFF, deliberately. The low-poly models do alias as they recede,
// and `antiAlias: true` would smooth them (4x MSAA, and #1556 keeps
// it alive through this scene's post-effect chain) — but the flag
// drives two other things as well: the default texture filter goes
// linear, and the canvas gets `image-rendering: auto`, so under
// `scale: "auto"` the whole 1024x576 frame is bilinear-filtered on
// the way to the screen. That trades this example's crisp, blocky
// look for smoother model edges, which is the wrong trade here.
//
// `textureFilter` already separates the texture half. The
// presentation half is not separable today, so there is no way to
// get MSAA'd silhouettes AND a hard-edged upscale — hence off.
antiAlias: false,
});
await app.init();
if (!app.renderer.supportsDepthBuffer) {
Expand Down
Loading