Commit Graph

21 Commits

Author SHA1 Message Date
46d0ef3b28 More parsing code cleanup and better error messages. 2020-05-01 16:08:37 +09:00
331b0229b0 More parsing code cleanup and some better error messages.
Still more to do, but this is some decent progress.
2020-05-01 16:08:37 +09:00
c1f8d21814 Refactored data tree code to present a slightly nicer API. 2020-05-01 16:08:37 +09:00
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
2998bbe7ce WIP refactor for new scene data layout.
All rendering code is commented out for now.  It will need to be
largely rewritten after this refactor is done, most likely.

This commit gets the basic new scene parsing working, with the basic
new data structures.
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
e23fe4bb36 Fix deprecation warnings from rustc. 2019-11-23 10:21:16 +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
8e109efed5 Fixed compiler warnings. 2018-12-28 11:09:17 -08:00
53754b956c Blackbody colors are now parsed, and PsychoBlend has support as well. 2018-12-28 00:23:02 -08:00
caa4ea3e44 Replaced SurfaceClosure trait with a SurfaceClosure enum.
Also moved surface closures to using Color internally for color
specification.
2018-12-27 22:57:44 -08:00
5add4cfdb1 Implementing Color as a simple enum rather than as a trait.
There's really no reason for it to be a Trait, and this will simplify
a lot of things down the road.
2018-12-27 16:09:03 -08: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
caeb1d9c67 Added GGX glossy material, and simplified surface closure API. 2018-08-09 00:42:17 -07: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
ad55aa4f6d Materials are now working in both Psychopath and PsychoBlend.
Except that Emit is still not properly supported, because it needs
special handling.
2017-08-03 20:32:07 -07:00
516803e78a Got basic material parsing and rendering working.
Currently only Lambert is supported.
2017-08-03 19:31:58 -07:00