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

Images: Images in books have artifacts #179

Closed
trevordblack opened this issue Sep 5, 2019 · 7 comments
Closed

Images: Images in books have artifacts #179

trevordblack opened this issue Sep 5, 2019 · 7 comments

Comments

@trevordblack
Copy link
Collaborator

Many of the pictures in the html files have obvious signs of artifacts.

There are compression artifacts, maximization artifacts.

Near as I can tell, none of these artifacts produce a wrong-looking or misleading image, but the image quality is occasionally noticeably poor.

@hollasch
Copy link
Collaborator

hollasch commented Sep 5, 2019

Agreed. I've always planned on revisiting the images, but never got around to creating an issue; thanks.

Need to determine desired general image resolution. Some images (like surface acne) might show better as blown-up PNGs.

@hollasch hollasch added this to the post-v2 milestone Sep 6, 2019
aras-p added a commit to aras-p/raytracing.github.io that referenced this issue Sep 7, 2019
… artifacts (RayTracing#179).

I ran PNGs through pngquant+Zopfli to produce smallest possible sizes, but each image is a kilobyte or two larger than the previous JPG still.

The diffuse images are produced with the diffuse fix (RayTracing#181).
aras-p added a commit to aras-p/raytracing.github.io that referenced this issue Sep 7, 2019
…tifacts (RayTracing#179).

I ran PNGs through pngquant+Zopfli to produce smallest possible sizes, but each image is several kilobytes larger than the previous JPG.

The images are produced with the diffuse fix (RayTracing#181).

Also fixed the example in chapter 9 to compile (metal does not have fuzz parameter yet), and use a similar red color as in the image, instead of blue.
aras-p added a commit to aras-p/raytracing.github.io that referenced this issue Sep 7, 2019
…rtifacts (RayTracing#179).

The first ("totally wrong") image had no source for it, so I could not reproduce it to exact match.
aras-p added a commit to aras-p/raytracing.github.io that referenced this issue Sep 7, 2019
@trevordblack trevordblack self-assigned this Sep 8, 2019
@trevordblack
Copy link
Collaborator Author

We are aware of the problem.
This (#179). #155, and #145 are all probably going to make the next release (2.1.0 or 2.0.1).
We are in no position to merge anything for the next few weeks.

@hollasch
Copy link
Collaborator

Aras P fixed most of these issues for book1. See PR #230.

@hollasch hollasch added the Punt? label Dec 12, 2019
@hollasch hollasch modified the milestones: v3, Future Jan 16, 2020
@hollasch hollasch removed the Punt? label Jan 16, 2020
@hollasch hollasch modified the milestones: Future, v3+ Jan 16, 2020
@trevordblack
Copy link
Collaborator Author

The images should probably be generated at some large texture (e.g. 1000x500, 2000x1000) and some high sample count (e.g. 100+). The src outlined in the book has people printing at lower resolutions and sample counts. Might need to add a slight blurb explaining the increased fidelity.

@hollasch hollasch modified the milestones: v3+, v3.0.1 Mar 23, 2020
hollasch added a commit that referenced this issue Mar 24, 2020
An incremental improvement to styling for rendered images. Smoothed
images don't match actual renderings, and tend to hide single-pixel
artifacts that may be important.

To achieve this, wrap Markdown image includes with `<div
class="render">`. Note that the div open and close tags must be
separated with blank lines from the `![...](...)` Markdown directive.

See #179
hollasch added a commit that referenced this issue Apr 1, 2020
An incremental improvement to styling for rendered images. Smoothed
images don't match actual renderings, and tend to hide single-pixel
artifacts that may be important.

To achieve this, wrap Markdown image includes with `<div
class="render">`. Note that the div open and close tags must be
separated with blank lines from the `![...](...)` Markdown directive.

See #179
@hollasch hollasch modified the milestones: v3.0.1, v3.1.0 Apr 1, 2020
@hollasch
Copy link
Collaborator

hollasch commented Apr 8, 2020

Current plan for rendered images:

  1. Initial PPM image will be 256×256 for easier reading of the output PPM file.
  2. General render size to be 384×216, up from 200×100. Still tolerable for performance, easier to view the result. It also yields a 16:9 aspect ratio instead of the previous 2:1.
  3. Image parameters now work with an explicit aspect ratio, which drives the vertical resolution. This makes it easier for readers to quickly change the output image size according to their immediate needs.
  4. The virtual image window will be computed automatically, without a bunch of hard-coded arithmetic values for various components.

@hollasch
Copy link
Collaborator

hollasch commented Apr 8, 2020

Also note that we want to present actual renders (rather than high-quality ones), so the reader can compare their results against our resulting images.

@hollasch hollasch removed this from the v3.1.0 milestone May 1, 2020
hollasch added a commit that referenced this issue May 24, 2020
- Reduced code duplication in dielectric::scatter()
- Change standard render dimensions to 400x225
- Change image 6 to a before-and-after pair to show antialiasing
- Refactored material and geometry declarations (multiple listings)
- Refactored assignment of `etai_over_etat`
- Fix multiple listing highlighting misses
- Fix multiple listing include errors
- Add missing `double t` member of struct `hit_record`
- Add missing scene code changes at various points
- Show final scene render parameters plus highlighting

See #179
Resolves #547
Resolves #548
Resolves #549
Resolves #550
Resolves #551
Resolves #552
Resolves #553
Resolves #554
Resolves #555
Resolves #556
Resolves #557
Resolves #560
Resolves #561
Resolves #562
Resolves #563
Resolves #564
Resolves #565
Resolves #566
@hollasch
Copy link
Collaborator

This has forked out into individual issues.

hollasch added a commit that referenced this issue May 28, 2020
See #179
Resolves #547
Resolves #548
Resolves #549
Resolves #550
Resolves #551
Resolves #552
Resolves #553
Resolves #554
Resolves #555
Resolves #556
Resolves #557
Resolves #560
Resolves #561
Resolves #562
Resolves #563
Resolves #564
Resolves #565
Resolves #566
hollasch added a commit that referenced this issue May 29, 2020
See #179
Resolves #547
Resolves #548
Resolves #549
Resolves #550
Resolves #551
Resolves #552
Resolves #553
Resolves #554
Resolves #555
Resolves #556
Resolves #557
Resolves #560
Resolves #561
Resolves #562
Resolves #563
Resolves #564
Resolves #565
Resolves #566
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants