Top products from r/raytracing

We found 2 product mentions on r/raytracing. We ranked the 2 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/raytracing:

u/FeepingCreature · 1 pointr/raytracing

> You'll need a renderer, acceleration structure, scene manager, main class, and object loader at the very least.

Strictly speaking imo you just need render loop and scene graph.

struct Ray { Vector3f start, direction; }
class SceneObject { RenderHit trace(Ray&); }

and

SceneObject& world = ...;
for (y = 0; y < 480; y++) {
for (x = 0; x < 640; x++) {
auto ray = pixel_to_ray(x, y);
auto hit = world.trace(ray);
PutPixel(x, y, hit.emissive_color);
}
}

Then doing acceleration is as simple as adding a BoundingBox object. You can add a scene loader, but you don't really need to; you can just build your scene manually. (This strongly depends on if you want to load existing .objs and the like or build your scene manually, PoVRay style.)

Re BRDFs, just use diffuse to start, it looks reasonable and is trivial. Just get something pretty rendering, then iterate.

If you want a dirt simple scene description format that's trivial to parse, I've had good experiences with something Forth based. You just need identifiers and numbers, there's basically zero high-level grammar to parse. S-expressions are also easy, they're basically just nested arrays or identifiers. Or you can just grab a library and use JSON or XML.

Forth example:

skyground.sky = Y 0- Y 10 plane V1 shine V0 color
skyground.ground = Y V0 plane 0.6 0.4 0.4 vec3f 0.4 0.4 0.6 vec3f checker
skyground = ( -- obj ) sky ground group

Lisp (S-expression) example:

(let
((scene
(group
(plane +Y -Y)
(sphere (vec3f 0 0 5) 1)
(color black (shine white (plane -Y (
100 Y))))))
(scene' (fuzz (pathtrace 10 scene))))
(render scene')))


Also if you have a lot of money to splurge, Physically Based Rendering: From Theory To Implementation has everything.

Oh by the way: path tracing is trivial to implement and makes your image look a lot better. (Also render a lot slower, but them's the breaks.) Just add random rays in addition to your shadow rays.

u/solidangle · 1 pointr/raytracing

Realistic Ray Tracing (also by Peter Shirley) is a bit older, but still really good. It goes in a bit more detail than "Ray Tracing in One Weekend".