Ian Chamberlain
65941f671c
Major refactor of projection API
...
Finally, something that I don't think totally sucks. Pick some sane
defaults for some fields, and use generics to split between
orthographic and perspective implementations. It's still not perfect but
I think this looks a lot more ergonomic to use vs what I had before (and
compared to the C APIs).
1 year ago
Ian Chamberlain
2b1e1db28b
Refactor matrix API and add doctests etc
...
Also add some doc aliases for citro3d functions. We could probably stand
to add more aliases to other wrappers too.
1 year ago
Ian Chamberlain
dcab5508f9
Use a simple trait for binding uniforms
...
It's not much but it should be extensible enough to apply for other
uniform types. We might want a generic impl for &[u8] or something
as well to support custom uniform types, but that gets trickier.
1 year ago
Ian Chamberlain
974ee2b742
Consolidate matrix construction API
1 year ago
Ian Chamberlain
7084a22764
Minor docs and error handling cleanup
1 year ago
Ian Chamberlain
2301e5022c
Start porting <c3d/maths.h>, vectors and matrices
1 year ago
Ian Chamberlain
97f4835c17
Include gcc libdir when building
...
Assume devkitARM ships with only a single version, so then find the
first entry matching `${DEVKITARM}/lib/gcc/arm-none-eabi/*/include` and add it
to the -isystem includes.
1 year ago
Ian Chamberlain
a06dc14a86
Actually use test_runner::run_gdb (I forgor)
1 year ago
Ian Chamberlain
b712e8a68f
Generate bindings with build.rs at compile time
...
Effectively:
- Move the previous bindgen script into build.rs
- In lib.rs, include the file generated at build time
- Compile inline statics with devkitARM toolchain
- Remove now-unneeded reimplementations of inline statics
- Use doxygen_rs to clean up the docs of the generated bindings.
Nice! This cleans up the repo a lot and also ensures we are using the
canonical implementations of those inline functions, which should help
prevent mistakes as well.
1 year ago
Ian Chamberlain
333860ef86
Merge pull request #25 from rust3ds/feature/ci
1 year ago
Ian Chamberlain
cb43d185ca
cargo fmt
1 year ago
Ian Chamberlain
157bdbc1b1
Add CI workflow copied from ctru-rs
1 year ago
Ian Chamberlain
ff380cfae8
Merge pull request #22 from rust3ds/feature/pica200-proc-macro
1 year ago
Ian Chamberlain
4e5c916782
Fix doc link to stdlib include_bytes
1 year ago
Ian Chamberlain
b21727fe18
Merge branch 'main' into feature/pica200-proc-macro
1 year ago
Ian Chamberlain
76eb36c1c3
Merge pull request #19 from rust3ds/fix/gfx-updates-3d-example
1 year ago
Ian Chamberlain
c19876af66
Even more error handling improvements
...
Use map_err everywhere to add context / file paths when possible. Also
add some basic compile_fail doctests for missing / bad syntax shader
sources.
1 year ago
Ian Chamberlain
4752c65f41
Rename to citro3d-macros
...
Export as pub mod macros, add tests, and refactor error handling a bit
to make the logic simpler.
1 year ago
Ian Chamberlain
f69f9e4e95
Merge branch 'main' into fix/gfx-updates-3d-example
1 year ago
Ian Chamberlain
0d02484f1f
Merge pull request #23 from tamara-schmitz/fixcompileissue
1 year ago
Tamara Schmitz
daea4e4245
fix triangle example
1 year ago
Tamara Schmitz
827fc7b983
update module and symbol names to match ctru-rs
1 year ago
Ian Chamberlain
7d5cd29c5e
Add pica200::include_shader macro using picasso
1 year ago
Ian Chamberlain
795a9d93d9
Merge pull request #16 from rust3ds/feature/buffer-safe-wrapper
1 year ago
Ian Chamberlain
e47c414069
Use proper stereo perspective projection
...
Read + use the OS 3D slider value when projecting left+right eyes, and
use a mono perspective projection for the bottom screen.
2 years ago
Ian Chamberlain
5eaab0760a
Add a ton more docs where missing
2 years ago
Ian Chamberlain
f65da50b68
Add attrib docstrings and update some names
2 years ago
Ian Chamberlain
b05a1e3ff3
Fix up a few remaining clippy errors
2 years ago
Ian Chamberlain
fb182e4e4c
Merge branch 'fix/gfx-updates-3d-example' into feature/buffer-safe-wrapper
2 years ago
Ian Chamberlain
009b7eb94f
Update to 2021 resolver by default
2 years ago
Ian Chamberlain
4fa59ada84
Update example for 3D and new gfx APIs
2 years ago
Meziu
2e46d587e8
Merge pull request #18 from rust3ds/fix/licensing
...
Fix licensing
2 years ago
Andrea Ciliberti
0ed4ec11a9
Fix licensing
2 years ago
Ian Chamberlain
c4e1287d36
Try to rework buffer info to be less error-prone
2 years ago
Ian Chamberlain
ceacc3387d
Minor naming cleanups
2 years ago
Ian Chamberlain
a645ba14df
Move draw call to Instance
...
Also add some notes about error handling for adding VBO data
2 years ago
Ian Chamberlain
ec91f7d2fe
Use the lifetime of the input VBO data
...
We can return a "handle" that stores the index + size of the VBO data,
as well as keeping a phantom borrow on the original data. By requiring
this handle as input during the call to draw arrays, we ensure the VBO
data lives long enough for the draw call.
2 years ago
Ian Chamberlain
704f6e58b7
First pass of safe buffer info API
2 years ago
Ian Chamberlain
429c80f1cc
Merge pull request #4 from rust3ds/render-target-screen-lifetime
...
Add mutable ref to `Screen` in `render::Target`
2 years ago
Ian Chamberlain
3a2b3f4ffe
Address review comments
2 years ago
Ian Chamberlain
1f8c5b3bc7
Convert VBO data to use `ctru::linear` allocator
2 years ago
Ian Chamberlain
b699208f8e
Merge branch 'main' into render-target-screen-lifetime
2 years ago
Ian Chamberlain
f8e8542f92
Minor fixes + clippy
2 years ago
Ian Chamberlain
824f817090
Update old repo references to rust3ds instead
2 years ago
Ian Chamberlain
2012f390d6
Merge pull request #10 from rust3ds/fix/binding-conflicts
2 years ago
Ian Chamberlain
e26d01f782
Don't generate <sys/...> bindings
...
Also fix some minor clippy lints + document the helper script a bit
more.
2 years ago
Ian Chamberlain
748e34e5f1
Minor example updates / address comments
2 years ago
Ian Chamberlain
894eb66806
Update ctru-rs APIs based on split screen PR
2 years ago
Ian Chamberlain
02a9d40fdb
Use bindgen library to generate bindings
...
This allows us to use a custom callback for marking some types as Copy,
which bindgen otherwise pessimistically assumes cannot.
2 years ago
Ian Chamberlain
340a38489c
Update citro3d to use upstream ctru_sys types
2 years ago