Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Correlated Multi-Jittered Sampling #28

Closed
CaffeineViking opened this issue Jan 14, 2019 · 1 comment
Closed

Implement Correlated Multi-Jittered Sampling #28

CaffeineViking opened this issue Jan 14, 2019 · 1 comment
Assignees
Labels
Priority: High Project: Raytracer Issues relating to the Embree-based raytrace. Type: Feature Something new and shiny is being requested.

Comments

@CaffeineViking
Copy link
Owner

CaffeineViking commented Jan 14, 2019

In order for us to more easily compare with ground-truth once we've implemented e.g. "Phone-Wire AA", we should multi-sample each raytraced pixel by using a unbiased sampling pattern, such as CMJ as in the paper:

vec2 cmj(int s, int m, int n, int p) {
    int sx = permute(s % m, m, p * 0xa511e9b3);
    int sy = permute(s / m, n, p * 0x63d83595);
    float jx = randfloat(s, p * 0xa399d265);
    float jy = randfloat(s, p * 0x711ad6a5);
    vec2 r = vec2((s % m + (sy + jx) / n) / m,
                  (s / m + (sx + jy) / m) / n);
    return r;
}
@CaffeineViking CaffeineViking added Type: Feature Something new and shiny is being requested. Priority: High Project: Raytracer Issues relating to the Embree-based raytrace. labels Jan 14, 2019
@CaffeineViking CaffeineViking self-assigned this Jan 14, 2019
@CaffeineViking CaffeineViking changed the title Implement Correlated Mutli-Jittered Sampling Implement Correlated Multi-Jittered Sampling Jan 14, 2019
@CaffeineViking
Copy link
Owner Author

Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High Project: Raytracer Issues relating to the Embree-based raytrace. Type: Feature Something new and shiny is being requested.
Projects
None yet
Development

No branches or pull requests

1 participant