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

RELEASE CANDIDATE: v0.1.5 #73

Merged
merged 171 commits into from
Oct 1, 2024
Merged

RELEASE CANDIDATE: v0.1.5 #73

merged 171 commits into from
Oct 1, 2024

Conversation

pranavbedi
Copy link
Contributor

No description provided.

@connortbot connortbot added enhancement New feature or request help wanted Extra attention is needed labels Sep 30, 2024
@connortbot
Copy link
Member

connortbot commented Sep 30, 2024

New Features and Updates

  • Revamped path tracing integrator with support for mediums
  • Added support for boxes
  • Pixel Lambertian material now includes transparency textures

Material Improvements

  • Introduced mixture and colored isotropic mediums
  • Added CSR support to edit sky gradient
  • Replaced old dielectric, metal, and Lambertian models with improved versions:
    • Better Dielectrics (Cook-Torrance)
    • Better Metals (Cook-Torrance)
    • Better Diffuse (Oren-Nayar)
  • Layered materials

Tentative Updates

  • CSR support for direct light sampling (see bug in render.h)

Roadmap

  1. Add CSR support for remaining unsupported features (e.g better materials)
  2. Code Review
  3. Test expected image outputs: Write and run all of our existing scenes with.csr files and ensure that every material, object, outputs as expected with no errors.
  4. Test CLI
  5. Benchmarks: Compile a large list of CSR scenes and mark render times, memory usage.
  6. Finish PR
  7. Create GitHub Release!

1. Feature Checklist

  • CSR support & validation: Dielectric
  • CSR support & validation: Metal
  • CSR support & validation: Diffuse
  • CSR support & validation: Instances
  • CSR support & validation: Mixture
  • CSR support & validation: Mediums/Volumes
  • CSR support & validation: Pixel Lambertian
  • CSR support & validation: Sky Gradient Control
  • CSR support & validation: LayeredBSDF

3. Image Tests Checklist

Tests should cover everything possible with the renderer. This is the most rigorous part.

  • All tests
  • All existing materials with full ranges of properties with all existing objects
  • Extremely LARGE scenes
  • Extremely SMALL scenes
  • Low->High depth of field
  • Low->High FOV
  • Computationally taxing scenes (Many objects, lights, textures, etc.)

6. Benchmarks

Using the --verbose flag, we can write a quick .sh that can run all the csr files and output to debug.txt. Make sure you add your specs to the file.

8. Create GitHub Release

We should also make some nice, pretty renders for the gallery :)

@connortbot
Copy link
Member

results-connortbot.txt

@connortbot connortbot linked an issue Sep 30, 2024 that may be closed by this pull request
8 tasks
@connortbot
Copy link
Member

connortbot commented Sep 30, 2024

A list of specific tests to run:

  • A grid of dielectric spheres showing 0-1.0 roughness and X-X etas (dielectric_grid.csr)
  • A grid of metal spheres showing 0-1.0 roughness (rough_metals.csr)
  • A row of layered examples -> Diffuse with Glass, Glass with Glass, Metal with Glass) (layered_row.csr)
  • A row of mixture examples -> Diffuse+Dielectric, Dielectric+Dielectric, Glass+Metal, etc. (mixture_row.csr)
  • A row of dielectric with eta 1.36 (alcohol) with sheens 0, 4, 3 2 (sheen_row.csr)

3 mega portfolio images:

  • a mafia man sitting at his desk with a window behind him shining light
  • Suggestions pls :p
    Test with different DOF and FOV.

README.md Show resolved Hide resolved
connortbot
connortbot previously approved these changes Oct 1, 2024
Copy link
Member

@connortbot connortbot left a comment

Choose a reason for hiding this comment

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

Before entering stable I think that the SIMD stuff should be temporarily disabled/removed for user access because it just doesn't work and README.md needs to be updated - but this is ready for test

@connortbot connortbot self-requested a review October 1, 2024 17:37
Copy link
Member

@connortbot connortbot left a comment

Choose a reason for hiding this comment

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

LGTM (i wrote it :p)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants