Skip to content
New issue

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

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

Already on GitHub? # to your account

Time is broken #799

Closed
hollasch opened this issue Nov 7, 2020 · 1 comment
Closed

Time is broken #799

hollasch opened this issue Nov 7, 2020 · 1 comment
Assignees
Milestone

Comments

@hollasch
Copy link
Collaborator

hollasch commented Nov 7, 2020

There are a bunch of different angles to illustrate this, but here's the most clear. The animation-handling code in The Next Week samples rays randomly over a period of time in the world. In addition, primitives like moving_sphere are defined to have their centers specified over a time period.

Unfortunately, we use variable names like time0, time1, time_start, and time_end, which are ambiguous, and are used interchangeably to refer to the scene period and the primitive period. These should have been named something like scene_start, scene_end, sphere_start, sphere_end, and so forth. If you start renaming things like this, the cracks in the current implementation become very apparent.

We need to figure out how to resolve all this. I am inclined to hard-code the assumption that the scene will be sampled in the time interval [0,1], and primitives should be written to assume that. The entire intent of sampling in time is to illustrate things like motion blur, and the above is certainly sufficient for that.

@hollasch hollasch added this to the v4.0.0 milestone Nov 7, 2020
@hollasch hollasch self-assigned this Nov 7, 2020
hollasch added a commit that referenced this issue Nov 7, 2020
This ends up running into the time problem in our code. To be fully
implemented, we'd have to revisit scene time for all three codebases, as
well as update the books.

This is probably a dead-end, as we need to address time management at a
higher level (#799).
@hollasch
Copy link
Collaborator Author

See also #654, which also includes more thoughtful discussion.

hollasch added a commit that referenced this issue Feb 3, 2021
The current design of render time intervals is incomplete, so we've
decided to scale this back. Time will be mangaged only by the camera (by
specifying ray time), and by objects that respond to time (moving
sphere).

See #799
hollasch added a commit that referenced this issue Feb 8, 2021
@hollasch hollasch closed this as completed Feb 9, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

1 participant