tev
raytracer-exp
tev | raytracer-exp | |
---|---|---|
2 | 1 | |
986 | 1 | |
- | - | |
7.8 | 0.0 | |
13 days ago | 2 months ago | |
C++ | Rust | |
BSD 3-clause "New" or "Revised" License | Eclipse Public License 2.0 |
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.
tev
-
Simple TCP stream library - equivalent of rust's std::net::TcpStream?
Hi. I'm a C++ newbie and want to use a simple, modern library to send over a network - specifically to use the tev image viewer's IPC protocol. I don't need anything fancy, just synchronous that I can feed arrays of bytes to. I looked briefly into asio but that seems too complicated for my needs.
-
The joy of building a ray tracer, for fun, in Rust
In the decade I spent working on RenderMan at Pixar, I learned just how immensely useful it was to have an image viewer running in a separate process talking to the renderer over a socket or pipe. (The Image Tool, or "It" is RenderMan's viewer.) Having it stay up even if you kill the render or it crashes for some reason and being able to flip back and forth to easily compare test renders across recompiles is game changing.
If I were to start writing a new renderer, the first thing I'd do is to hook it up to an external image viewer over some protocol. These days, I find myself liking TEV (https://github.com/Tom94/tev) a lot as a simple open-source image viewer that supports this. See the links in the README for Python and Rust implementations of its protocol.
raytracer-exp
-
The joy of building a ray tracer, for fun, in Rust
I took a bit of time over the summer to familiarize myself with the language by writing a (super simple) ray tracer.
https://github.com/mschaef/rust-rt
After spending as much time lately as I have in Scala and Python, my immediate reaction to Rust was quite positive. Python has performance issues from 1985 and the build ecosystem seems borderline chaotic. (Made me seriously miss Maven, etc.) Scala seems a lot like C++ - an amazing intellectual accomplishment, a great place to spend all of your time, but not so good as a part time language. (I spend a bunch of my time in Scala mentally expanding out shorthand notation the way I might be mentally macroexpanding in a Lisp.)
Rust, in contrast, seems to have struck a nice balance between expressive power and runtime performance. Expressively, it has a lot of what I like about Scala with a syntax that makes more sense to my C-style upbringing. Performance seems to be everything I'd expect from the fully compiled language that it is. (In terms of performance, there's no way Python would've let me get away with some of what I got away with in my Rust ray tracer.)
Given that the language gave such a positive initial impression, the questions I still have are more about what it feels like in the large. ie: Working with a significantly sized team jointly on a codebase that might last 1, 5, 10 or more years. (Even then, I'm pretty optimistic.)
What are some alternatives?
the-ray-tracer-challenge-racket - Racket implementations of the ray tracer found in The Ray Tracer Challenge book by Jamis Buck.
minifb - MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in
hdrToggle - Command Line Tool to turn on HDR in Windows 10
lisp-sandbox
keikan - An elegant (imo) rendering engine written in Rust.
Converseen - Converseen is a batch image converter and resizer
RayTracingWeekend.jl - Ray Tracing in a week-end, implemented in Julia
Imath - Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
the-ray-tracer-challenge-fsharp - F# implementation of the ray tracer found in The Ray Tracer Challenge by Jamis Buck