Commit Graph

23 Commits

Author SHA1 Message Date
6b188c4451 Parse errors now use Strings for error messages.
This allows the error messages to be more informative by including
dynamically determined information.

Also made a utility function for ensuring that nodes get closed.
2020-05-01 16:08:37 +09:00
4f564d1474 All parsing is now streaming! But lots left to do.
In particular, parsing error messages are now either terrible or
non-existent.  But it compiles and works for correct inputs!
2020-05-01 16:08:37 +09:00
e3e5c1412f WIP refactor to make psy parsing all streaming.
Does not build right now.
2020-05-01 16:08:37 +09:00
022c913757 Split out memory arena into an external crate. 2019-12-27 10:43:03 +09:00
6e555456ba Updated Nom to 5.x
This makes the code a lot simpler and cleaner, among other things.
2019-11-23 10:13:29 +09:00
28a07de456 Improve module path usage and remove extern crate declarations where possible. 2018-12-16 13:02:49 -08:00
8deb1e87bb First step transitioning to Rust 2018. 2018-12-16 12:02:20 -08:00
c73db2edbe Fix/silence a bunch of clippy warnings in the main crate. 2018-12-15 23:26:12 -08:00
6d21a30840 Formatting with newer cargo fmt.
No meaningful code change, only formatting.
2018-06-24 21:18:10 -07:00
97d3304149 Run new rustfmt on codebase. 2018-03-04 13:00:55 -08:00
05578a1240 Implemented smooth-shaded triangle meshes.
There are still some things to do to avoid light leakage and
other weird shading in some situations, but the basics are working!
2017-07-30 17:55:03 -07:00
e77d5b7576 Refactored triangle meshes in preparation for custom normals. 2017-07-30 16:56:28 -07:00
c0a26819c6 Bunch of code quality improvements based on running clippy.
None of them change behavior, just make the code cleaner.
2017-07-22 17:21:11 -07:00
f649bec585 Reformat code with rustfmt 0.9 2017-06-15 22:00:31 -07:00
922e33ec3f Reformat code with latest rustfmt and custom config. 2017-05-14 13:43:51 -07:00
6623443e2e Improved .psy file parsing error messages.
Biggest improvement: it gives you line numbers.  But also progress
on better descriptions.
2017-04-10 14:03:01 -07:00
c82c821b31 BVH and objects now use MemArena. 2017-04-09 23:33:36 -07:00
3cbb816d4b Added DistantDiskLight (a.k.a. sun light) parsing and data structures.
Also created a proper World struct in the process, to store all
infinite-extent type stuff.

Note that I goofed and did a new rustfmt pass but forgot to
commit before making these changes, so there's a lot of
formatting changes in this too.  *sigh*
2017-02-12 20:29:08 -08:00
97b5ef77f8 Code cosmetics: organize and alphabetize crate/mod/use statements. 2016-08-20 18:10:55 -07:00
e2ef44f666 Finished implementing motion blur. 2016-07-10 19:20:37 -07:00
5ec1f534cf Implemented bucketed rendering. 2016-06-05 01:27:55 -07:00
e3db7cd6ca Basic mesh parsing.
The test scene isn't rendering properly, presumably because
something isn't correct in the parsing (although it's not clear
it's in the mesh parsing).  Need to investigate.
2016-05-28 01:03:56 -07:00
99dc371a75 Beginnings of a mesh parser. Also cleaned up some unused imports. 2016-05-25 08:16:05 -07:00