pbrt-v3
RustCrypto
pbrt-v3 | RustCrypto | |
---|---|---|
17 | 10 | |
4,828 | 643 | |
- | 2.5% | |
2.3 | 7.6 | |
8 months ago | 13 days ago | |
C++ | Rust | |
BSD 2-clause "Simplified" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pbrt-v3
-
Ask HN: Any good books on ray tracing?
Physically Based Rendering[0] was an excellent textbook when I read it ages ago and conveniently enough it looks to have been updated with a new edition last year.
[0]: https://pbrt.org/
- Spectral Ray Tracing
-
Is it possible and realistic to learn independent of an API?
Physically Based Raytracing
-
C++ Project to Put On Resume
Both of these books are free, and both are written in C++, but they can be done in any language. The first book, a raytracer in a weekend, is part of a series, you can find it here: https://raytracing.github.io/ And, if you get to the third book in that series, or you need a reference book, the PBRT book covers the math in more depth and discusses the latest theory, you can get the last edition of the book (5 years out of date) for free though: https://pbrt.org/
-
(Why) is a toy password manager a too complex summer project?
Making a “complete” one is a never-ending rabbit hole you can spend a lifetime on and is a very active area of research covering more advanced geometry, probability, optics, machine learning etc etc. A great introduction to that is https://pbrt.org
-
Suggestions for some best books on computer vision
This isn't the highest priority but if you haven't already, learn how computer graphics works. Get a working knowledge of the camera matrix, real time graphics (say, OpenGL but threeJS is an option), and photorealistic graphics. PBRT is the go-to for photorealistic graphics. The first two books of Foundations of Game Engine Development are way more useful than they have any right to be (and my favorite textbooks I've ever read, 10/10).
-
Org Mode Gripes
Org-mode strength though is in working with different languages in a same source file, which I am not sure if Knuths version does. Anyway, to see how the original idea looks like, check the Wikipedia article, or to see it in real-life see some of books that are written in the literate style, like Physically Based Rendering, which seems to be available for free nowadays or C Interfaces and Implementations.
- Ask HN: What is the coding exercise you use to explore a new language?
- Path Tracer Project
-
Physically Based: A Database of PBR Values for Real-World Materials
I contributed a tiny bit to pbrt[1], and one of the things I loved was that if you just plugged in physical values you almost always got great results with minimal tweaking.
The Octane data seems most complete at first glance (with complex IOR etc), but for things like milk and blood I expected at the very least some absorption coefficient for the translucency or similar.
[1]: https://pbrt.org/
RustCrypto
-
(Why) is a toy password manager a too complex summer project?
I would say a toy (or personal-use-only) password manager is a relatively simple project. If we are to forget about the GUI parts, you need to determine serialization of your password database (bincode + serde should be enough) and how to encrypt it. For the latter you need only two algorithms: a password hash for deriving encryption key from password and optional salt (the latter is usually randomly generated and stored as a "key file"), and an AEAD algorithm for encrypting and decrypting serialized database. There are certain pitfalls with encryption (e.g. you should not reuse nonce with the same key, especially with modes like GCM) and with properly erasing sensitive data from memory, as well as preventing it from leaking to things like swap, but learning about those is part of the learning experience.
-
Announcing street-cred 0.1.1 - My first Rust crate
FYI: the rust-crypto crate is unmaintained. Take a look at https://github.com/RustCrypto/AEADs instead
-
Help using ring to decrypt encrypted bytes using AES key (using AEAD).
For AEAD with AES, you may want to use RustCrypto (https://github.com/RustCrypto/AEADs.git) instead
-
Dexios - a secure command-line encryption tool.
Dexios is a secure command-line encryption tool, that uses audited crates provided by the RustCrypto Team.
-
Idiomatically initializing and using a variable with two different types
This is in relation to RustCrypto/AEADs#421 - myself and another user are having the exact same issue.
-
SafeCloset, a Secret Safe - Why and how I made it in Rust
I choose an AEDS crate from the RustCrypto group: AES-GCM in its SIV variant (the SIV variant isn't really needed but it doesn't cost much).
-
Crate for AES256 - which one to choose? Questions about block cipher modes and AEAD too.
Use RustCrypto's aes with one of its block modes (https://docs.rs/block-modes/latest/block_modes/) or AEAD algorithms (https://github.com/RustCrypto/AEADs). There's a lot of modular stuff in RustCrypto, just need to browse a little 😉.
-
Sodiumoxide has been deprecated
crypto_secretbox: https://github.com/RustCrypto/AEADs/tree/master/xsalsa20poly1305
-
What encryption crates do you guys recommend, especially one with support for streams
I'd recommend https://github.com/RustCrypto/AEADs. RustCrypto's crates are high quality, widely used and some have even been audited. Unfortunately they don't provide a read/write interface.
- How to implement a simple password-based encryption with ring?
What are some alternatives?
the_raytracer_challenge_repl - A WebAssembly (WASM) based REPL interface for my Raytracer Challenge in Rust project
ring - Safe, fast, small crypto using Rust
mitsuba3 - Mitsuba 3: A Retargetable Forward and Inverse Renderer
rustls - A modern TLS library in Rust
odin_rosettacode - Odin examples for Rosetta Code
sodiumoxide - [DEPRECATED] Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)
RiftRay - Step into the worlds of Shadertoy with an Oculus Rift.
rust-crypto - A (mostly) pure-Rust implementation of various cryptographic algorithms.
tray_rust - A toy ray tracer in Rust
orion - Usable, easy and safe pure-Rust crypto [Moved to: https://github.com/orion-rs/orion]
spotless - Keep your code spotless
Ockam - Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications – at massive scale.