Skip to content

Conversation

@JMS55
Copy link
Contributor

@JMS55 JMS55 commented Jan 10, 2026

Objective

  • Fix artifacts appearing in perfect mirrors

Solution

  • Rather than trying to hack the microfacet BRDF to work at low roughness, replace it with a separate mirror BRDF
  • The cos_theta part of the rendering equation has been moved into the BRDF, since the mirror BRDF does not use it (it cancels out)

Showcase

Before - artifacts (black lines)
image

After - no artifacts
image

@JMS55 JMS55 added C-Bug An unexpected or incorrect behavior A-Rendering Drawing game state to the screen labels Jan 10, 2026
@JMS55 JMS55 requested a review from SparkyPotato January 10, 2026 17:00
@JMS55 JMS55 added this to the 0.19 milestone Jan 10, 2026
@JMS55 JMS55 changed the title Solari: Fix mirror artifacts Solari: Fix mirror artifacts and world cache showing up in mirrors Jan 10, 2026
@alice-i-cecile alice-i-cecile added the S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged label Jan 14, 2026
@JMS55 JMS55 changed the title Solari: Fix mirror artifacts and world cache showing up in mirrors Solari: Fix mirror artifacts Jan 15, 2026
@JMS55 JMS55 added S-Needs-Review Needs reviewer attention (from anyone!) to move forward and removed S-Waiting-on-Author The author needs to make changes or address concerns before this can be merged labels Jan 15, 2026
@JMS55 JMS55 marked this pull request as ready for review January 15, 2026 00:07
Copy link
Member

@alice-i-cecile alice-i-cecile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

This is the offending artifact right? The visual difference looks good; just one small request for a maintainability comment.

@JMS55
Copy link
Contributor Author

JMS55 commented Jan 15, 2026

Yeah it fixes that artifact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Rendering Drawing game state to the screen C-Bug An unexpected or incorrect behavior S-Needs-Review Needs reviewer attention (from anyone!) to move forward

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants