#517 in Computers & technology books
Use arrows to jump to the previous/next product

Reddit mentions of Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1)

Sentiment score: 5
Reddit mentions: 8

We found 8 Reddit mentions of Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1). Here are the top ones.

Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1)
Buying options
View on Amazon.com
or
    Features:
  • Want a sense of security and the invaluable peace of mind from knowing you are prepared for that unexpected auto incident? Our car escape hammer can give you just that assurance
  • With a car escape tool you can help others trapped in a vehicle. Whether it be someone stuck in their car after an accident. Or children and pets locked in a hot vehicle. Either way you can easily gain access with this glass breaker
  • Want to protect your loved ones too? One of these tools is the best insurance you can buy for your loved ones. A perfect Christmas or birthday gift for any family member or friend
  • This small, handy and easy to employ tool with its pointed hammer head takes little effort to break thru a car door window. The razor sharp recessed cutter blade easily severs your seat belt webbing
  • When you order today you are protected by a 30 day, no-questions asked money back guarantee and excellent customer service!
Specs:
Release dateJanuary 2016

idea-bulb Interested in what Redditors like? Check out our Shuffle feature

Shuffle: random products popular on Reddit

Found 8 comments on Ray Tracing in One Weekend (Ray Tracing Minibooks Book 1):

u/Esfahen · 74 pointsr/space

A bit of homework, but Ray Tracing in One Weekend is legendary (and free).

Disney’s short video on pathtracing can also help explain some concepts.

Another important thing is understanding the intersection that raytracing has with rasterization, since that is what consumers are seeing now with the new Turing cores. What the difference is, why people should care, etc.

It’s funny, I have been reading a lot online and observing people’s reactions to the new cards- and most of the backlash simply comes from not understanding what raytracing is. For graphics engineers in the industry, rasterizers (as brilliant as they are) always feel like a hack at some point or another- ray tracing is “the right way”, and that has us very excited

u/Nihilus84 · 9 pointsr/GraphicsProgramming

Professional graphics programmer here with an MSc in related Comp Sci degree.

First ditch the idea of using JavaScript or any off the shelf graphics libraries like SDL. Also forget making a game. If you want to learn rendering/graphics techniques then make that your focus. The key to this plan is that you learn by doing, not just reading. I make it a point to myself that I never fully understand something unless I’ve implemented it myself from scratch.

  1. Starting from a blank c++ solution write a working offline ray tracer/pathtracer on the CPU that writes out to an image file. See https://www.amazon.co.uk/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8. This book was free online a bit ago, not sure if it still is. Writing a ray tracer will teach you fundamental rendering principles that underpin everything without the verbosity and boilerplate of the modern forward rendering pipeline used for real-time applications.

  2. Write an win32 application with a window context (a lot of helpful examples online). Then implement a simple Directx 11 forward renderer (plenty of books/tutorials out there). First get a triangle rendering in your window with vertex colours and then using some simple procedural meshes like a cube/sphere/cylinder etc get a moving camera with your matrix transforms all working using very basic vertex/pixel shaders. Then add a model/mesh loader for obj files or even you’re own format with help of a model converter/parser that is easy to write. Start to add more complex lighting in your shaders and start creating a 3D demo scene to show off your various rendering techniques:

    Blinn-phong reflectance, texture mapping and directional, point and spot lights will get you a long way. Add a sky using a cube map. Move onto static/dynamic environment mapping to create some reflections on a model. Then start implementing normal bump mapping/parallax mapping on something like a brick wall etc. Then look at shadow mapping and adding a moving directional light (sun) to showcase your shadows. Add some alpha blended transparent and alpha test materials to the scene. Maybe then also add basic animations on your meshes using simple vertex displacement techniques in the shader. From here there’s much much more you could add but you have an adequate if basic demo to add to your portfolio that shows an understanding of fundamental 3D principles (importantly from scratch in your own renderer).

    From here you could add bump mapped water with planar reflections and refraction, height mapped terrain, a particle system effect (maybe via the geometry shader), the list is endless really.

    I’ll add here that a lightweight off the shelf GUI library will help with demoing it all. Also take the opportunity to familiarise yourself with graphics capture analysis tools such as RenderDoc, Pix or intel GPA. A godsend For debugging graphics issues and used widely in industry.

  3. Look into more advanced rendering techniques such as cascaded shadow maps and implementing a deferred renderer (will allow you to showcase many hundred lights).

  4. Add post processing techniques such as bloom, HDR tone mapping, FXAA and maybe even some depth based fx such as SSAO or depth of field.

  5. More complex contemporary illumination techniques using PBR (physically based rendering) such as GGX specular model and global illumination using light/reflection probes.

    If you get anywhere near all of that in your portfolio you will easily land a graphics programmer job!

    Hopefully this was of some help 🙂.
u/whackylabs · 8 pointsr/opengl

Ray tracing in a weekend would be a good start. Followed by the pbrt

u/fuzzylumpkinsclassic · 5 pointsr/gamedev

If you want a quick brush up on ray tracing, you could check out https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8

I haven't gotten around to it yet, but it seems condensed enough to realistically be able to get through

u/ArnoldRudolph · 2 pointsr/UofT

Can you do a minor in math? That would be ideal in my opinion.

Make sure to take the courses that I listed. They will be very math heavy, if you want to go in this direction then you should at minimum do MAT235 and preferably MAT237 or higher. Graphics as you may know already is very heavy with linear algebra, but you also will need concepts from multivariable calculus.

This is a very rough road and you will probably want to dedicate your life to it. There aren't that many spots to make a career out of it but there's not as much competition due to how insane this field is... and the only people who go into these areas are people who really love this stuff so that is your competition. Please make sure you are ready for this and if you're not doing much this summer then pick up OpenGL, Direct X or Vulkan (however don't do Direct X 12 or Vulkan if you're completely new unless you've got experience in rendering already).

It may be to your advantage to build a software renderer to understand everything, so you will want to begin here for graphics theory, and your practice interview for graphics should be satisfied by this for starters. If you want to build a software renderer first before jumping into OpenGL or such, this book with the later chapters only (because the first half is all assembly optimization and not that relevant anymore as our compilers are pretty good now) will help a lot. Having said that, doing a degree while studying for all of this will be quite hard, this will be a marathon and not a journey. I would skip the black book though if you find yourself swamped for time. This is also a great book for when you have a weekend to spare.

You should also be making sure you're damn good at C or C++. If you choose C++, then you've got probably 2-3 years of solid work before you're competent in the language. You should also focus on optimization, but do that after you've spent a year with the language. Yes... even the cache lines that CSC369 never covered becomes absolutely critical in at least real time graphics.

You should be doing at minimum CSC418 and maybe CSC320 as well for courses, outside of any math ones.

Finally, I hope you are ready to join the nerd ship, because there's no way in hell you're going to be doing much in your spare time for quite a while... if you have a relationship then it'll get probably a bit rocky. Doing this kind of graphics work puts you in the top tier of street credibility because this area is so vast, since your life will no longer be normal by any stretch of the imagination. Maybe later it will be when you have a job, but for the next few years you are going to be buried.

Also, if you choose to do OpenGL, please at least start at OpenGL 3.3 and use the core profile and not the crufty ancient immediate mode stuff. This site will be an amazing and wonderful tool for you and keep you modern. I know very little of DirectX so I cannot comment on that.

u/lycium · 2 pointsr/cpp

Here ya go, the best programming fun you'll ever have: https://www.amazon.com/Ray-Tracing-Weekend-Minibooks-Book-ebook/dp/B01B5AODD8

u/soundslikeponies · 2 pointsr/GraphicsProgramming

Real-time: you'll be using an API such as OpenGL or DirectX. The first 400 or so pages of this book serve as a good introduction to real-time rendering with OpenGL. The rest of it serves as a good intermediate lesson.

In real-time graphics you mostly use an API to put data (position, UV mapping, surface normals, etc) into buffers which are sent to the GPU. You then write shader programs (vertex shader, pixel shader) which run on the GPU, process the data from the buffers, and output a result. That's a the basic summary of an update loop.

Non-real-time: you can write a ray tracer or other kinds of image-producing graphics programs from scratch. Ray Tracing in One Weekend is cheap and I've heard it's a pretty solid starting point. It also has sequels if you decide you want to take things further.

A ray tracer essentially sends out a ray for each pixel of the screen. You check to see if this ray collides with any surfaces, calculate the color at the location of that collision, then set that as the pixel's color.

You can also look at image processing, as an alternative to 3D computer graphics. A lot of image processing is signal processing, similar to audio, but on a 2D plane. Filters, edge detection, image manipulation or generation can be pretty interesting topics.

u/Entropian · 1 pointr/blender

I've written a path tracer before, and I did it by modifying my ray tracer. A path tracer is really just a ray tracer that traces even more rays. The difference between them is really not that great. The same data structures can be used for either. There's a book called Ray Tracing in a Weekend, and it teaches you how to write a path tracer. The book's written by Peter Shirley, who's kind of an authority on the topic.

Nowadays, no one talks about ray tracing in the strict way that you do. People will some times refer to different things like path tracers, bidrectional path tracer, and photon mappers all as ray tracers. DirectX Raytracing is definitely not just limited to ray tracing as you described. If it was, it wouldn't be much use to anyone.