Reddit mentions: The best rendering & ray tracing books

We found 80 Reddit comments discussing the best rendering & ray tracing books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 26 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

1. OpenGL Superbible: Comprehensive Tutorial and Reference (7th Edition)

    Features:
  • Pearson Addison Wesley Prof
OpenGL Superbible: Comprehensive Tutorial and Reference (7th Edition)
Specs:
Height9.15 Inches
Length7.05 Inches
Weight3.66849203968 Pounds
Width2.15 Inches
Number of items1
▼ Read Reddit mentions

2. Foundation Actionscript 3.0 Animation: Making Things Move!

Friends of ED
Foundation Actionscript 3.0 Animation: Making Things Move!
Specs:
Height9 Inches
Length7.5 Inches
Weight2.3368999772 Pounds
Width1.28 Inches
Number of items1
▼ Read Reddit mentions

4. Practical Rendering and Computation with Direct3D 11

    Features:
  • AK Peters
Practical Rendering and Computation with Direct3D 11
Specs:
Height9.3 Inches
Length7.8 Inches
Weight2.94978506556 Pounds
Width1.4 Inches
Number of items1
▼ Read Reddit mentions

5. Digital Lighting and Rendering (3rd Edition) (Voices That Matter)

Used Book in Good Condition
Digital Lighting and Rendering (3rd Edition) (Voices That Matter)
Specs:
Height9.25 Inches
Length7.75 Inches
Weight2.0282528104 Pounds
Width1 Inches
Number of items1
▼ Read Reddit mentions

6. Mazes for Programmers: Code Your Own Twisty Little Passages

Pragmatic Bookshelf
Mazes for Programmers: Code Your Own Twisty Little Passages
Specs:
Height9.25195 Inches
Length7.51967 Inches
Weight1.12876678144 Pounds
Width0.6043295 Inches
Number of items1
▼ Read Reddit mentions

7. Adobe Premiere Pro CC Classroom in a Book (2017 release)

    Features:
  • Adobe Press
Adobe Premiere Pro CC Classroom in a Book (2017 release)
Specs:
Height9 Inches
Length7.3 Inches
Weight2.14068856402 Pounds
Width1 Inches
Number of items1
▼ Read Reddit mentions

8. Beginning XNA 3.0 Game Programming: From Novice to Professional (Beginning From Novice to Professional)

Apress
Beginning XNA 3.0 Game Programming: From Novice to Professional (Beginning From Novice to Professional)
Specs:
Height9.25 Inches
Length7 Inches
Weight1.7416518698 Pounds
Width1.01 Inches
Number of items1
▼ Read Reddit mentions

9. OpenGL Insights

    Features:
  • Used Book in Good Condition
OpenGL Insights
Specs:
Height9.6 Inches
Length8 Inches
Weight0.00220462262 Pounds
Width1.3 Inches
Number of items1
▼ Read Reddit mentions

12. Real-Time Shadows

    Features:
  • Used Book in Good Condition
Real-Time Shadows
Specs:
Height9.4 Inches
Length7.4 Inches
Weight2.1164377152 Pounds
Width1 Inches
Number of items1
▼ Read Reddit mentions

13. Real-Time Rendering, Fourth Edition

    Features:
  • Designed by: theawkwardyeti
  • Shirt.Woot Original Design
  • Lightweight, Classic fit, Double-needle sleeve and bottom hem
Real-Time Rendering, Fourth Edition
Specs:
Height9.4 Inches
Length7.7 Inches
Weight0.00440924524 Pounds
Width1.9 Inches
Release dateAugust 2018
Number of items1
▼ Read Reddit mentions

14. Learn OpenGL: Beginner's guide to 3D rendering and game development with OpenGL and C++

Learn OpenGL: Beginner's guide to 3D rendering and game development with OpenGL and C++
Specs:
Height9.25 Inches
Length7.5 Inches
Weight0.81 Pounds
Width0.47 Inches
Release dateAugust 2018
Number of items1
▼ Read Reddit mentions

18. Realistic Ray Tracing, Second Edition

Used Book in Good Condition
Realistic Ray Tracing, Second Edition
Specs:
Height8.88 Inches
Length5.81 Inches
Weight0.7495716908 Pounds
Width0.55 Inches
Release dateJuly 2003
Number of items1
▼ Read Reddit mentions

19. Advanced Global Illumination

    Features:
  • New
  • Mint Condition
  • Dispatch same day for order received before 12 noon
  • Guaranteed packaging
  • No quibbles returns
Advanced Global Illumination
Specs:
Height9.1 Inches
Length6.1 Inches
Weight1.3999353637 Pounds
Width0.9 Inches
Number of items1
▼ Read Reddit mentions

20. Adobe Premiere Pro CC Classroom in a Book (2019 Release)

Adobe Premiere Pro CC Classroom in a Book (2019 Release)
Specs:
Height9.1 Inches
Length7.4 Inches
Weight2.20462262 Pounds
Width1.3 Inches
Release dateMarch 2019
Number of items1
▼ Read Reddit mentions

🎓 Reddit experts on rendering & ray tracing books

The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where rendering & ray tracing books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
Total score: 22
Number of comments: 2
Relevant subreddits: 1
Total score: 16
Number of comments: 4
Relevant subreddits: 1
Total score: 9
Number of comments: 2
Relevant subreddits: 1
Total score: 6
Number of comments: 2
Relevant subreddits: 1
Total score: 6
Number of comments: 2
Relevant subreddits: 1
Total score: 4
Number of comments: 3
Relevant subreddits: 2
Total score: 4
Number of comments: 2
Relevant subreddits: 1
Total score: 4
Number of comments: 2
Relevant subreddits: 1
Total score: 3
Number of comments: 2
Relevant subreddits: 2
Total score: 2
Number of comments: 2
Relevant subreddits: 1

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

Shuffle: random products popular on Reddit

Top Reddit comments about Rendering & Ray Tracing:

u/PM_ME_YOUR_PIXELART · 3 pointsr/cscareerquestions

Thank you for the really insightful post!

I was thinking of taking GLFW and start doing projects with it since it seems to have a lot of support behind it (and also has gamepad capability, so games would be really fun), I'm also really tempted to buy the OpenGL Super Bible, I really like to understand things from scratch, do you think that book is a good place to learn alongside? As of Linear Algebra, I found this channel (from teachyourselfcs.com that seems to cover it pretty well, I'm planning to get the book he recommends as well).

I know that Vulkan is the future but I've heard/read a lot about how dificult it is right now to implement things, write a lot of code to get small results, is that true? I plan on learning D3D in the future as well, but since openGL has a lot more tutorials (that i've found) I'd like to start with it.

I have almost 3 years until I graduate, my university is not very good in some areas like graphics programming as i'd like to, that's why I came to reddit for help, I felt kind of lost when they only had a book on 3D Graphics that was from 2003 or something like that in the library.

Currently for C++ I'm taking a few courses on LinkedinLearning and reading C++ Primer

As of Game Engine programming as i've mentioned, Game Engine Architecture by Jason Gregory seems pretty awesome, but I don't have the money to buy that one right now, so i'm staying with the most important ones first.

I went through a lot of websites and found some really cool resources, I want to leave it here so that people with the same interests can take a look at them:

  1. https://wickedengine.net/ (Wicked Engine is an open source engine, but the dev has an amazing blog that explains a lot of stuff in detail)
  2. https://thebookofshaders.com/ (The book of shaders, I really want to learn shaders in the future as I learn openGL and found a lot of people recommending it online)
  3. http://graphicscodex.com/projects/projects/ (This guy has an amazing engine that has ray tracing, it's open source and has some tutorials using the engine, it's a little weird the way you download it/get it to work, but if you're used to the tools he provides it might be a great learning resource)
  4. http://www.pbr-book.org/ This is the PBR Book completely free, you can buy it on amazon to support the authors or read it online for free,

    If you have any more resources that could help me I'd be really thankful!

    I'm sorry for the long post, I hope you can read it and relieve some of my doughts since you're the first person that answered that seems to have a lot of insight of 3d programming, could you tell me if i'm going on the right direction?
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/spaghettu · 3 pointsr/gamedev

If you're planning on pursuing this as a career, there are tons of incredible opportunities for people experienced with lower-level 3D APIs. Making your own engine serves as a fantastic learning experience, and would be a huge investment in your future.

Below are some of my favorite books/resources right now that may help you along the way. These might not be immediately useful to you right now, depending on where you're at, but together they have more than enough knowledge for you to go far in 3D Computer Graphics.

  • Game Engine Architecture touches at least a little on all of the knowledge necessary to build a bare-bones 3D engine. It goes over the components of modern 3D engines, and how they work. It even has introductory Linear Algebra and Object-Oriented programming concepts. I think this book is pretty approachable for beginners.
  • The OpenGL SuperBible offers great insight and examples on using OpenGL optimally. Depending on when you start, however, you may want to consider a Vulkan book instead. I think this book is the best way to learn OpenGL as a beginner. There are plenty of free tutorials online on websites like learnopengl.com and open.gl as well.
  • Real-Time Rendering is a fantastic book that dives deep into different algorithms and techniques for modern 3D rendering. It's pretty advanced, but it's a very well-known book and exposes very valuable information on complicated effects found in modern 3D engines.
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/iUserError · 1 pointr/VideoEditing

Totally agree... There is 0 useful information in the OP.

There need to be a Sticky in all caps at the top of the thread with guidelines for asking questions. Delete threads that don't meet them. Some moderation is needed, because it's becoming too difficult for people to find actual solutions within the subreddit due to these threads populating the search results. I can barely recommend this subreddit to anyone anymore, because they run into these dead end threads where the OP asks a question with no usable information from which a good response can be formulated, and immediately abandons it.

I'm also astonished at the people trying to use software like this (Premiere Pro), who literally don't even read the basic literature needed to find out that H.264/5 is awful for editing, how to transcode media, or how to even inspect a file to see what the actual video/audio stream is encoded as. When I was in high school there were kids fully proficient in Macromedia Flash, just from reading the Manual and Help Files, and learning while doing. I think the social media has made people too dependent on the "instant access to knowledge," to the point that they are absolutely terrible at actually learning things.

They expect to install things and have people on the internet hold their hands through every step of the process, when these things are simple and much better digested in material that isn't dependent on human response turn-arounds. People spend several months learning how to use this software proficiently. You aren't an editor just because you installed it. Slow down and learn to use it first. Worry less about imitating effects in YouTube videos.

A "for Dummies" book is actually not a bad idea. Premiere Pro CC for Dummies will actually tell people how to Transcode/Import/Ingest media into a project. This is video editing workflow 101 material. I highly suggest people get at least one decent book for the system they're using, and probably some of the other (not so simple) software they're using on the side. Many of them are Tutorial style, with projects that you work on while working through the book. This allows you to develop muscle memory and learn in a structured manner, and better commit things to long term memory.

It is much faster to simply learn these things and avoid the issues than it is to ask questions on Reddit and slam the reload button, waiting on responses. I have some suggestions below for anyone interested.

----- ----- -----

Adobe Premiere Pro 2018: Adobe Premiere Pro CC Classroom in a Book (2018 release) - $38.39 (Kindle Edition)

Avid Media Composer: Avid Editing: A Guide for Beginning and Intermediate Users - $37.96 (Kindle Edition) - Avid has their own series of books, but getting them all can be expensive.

Final Cut Pro X: Final Cut Pro X 10.3 - Apple Pro Training Series: Professional Post-Production - $43.44 (Kindle Edition) - Will probably be updated for 10.4.x, soon.

DaVinci Resolve 14: The Definitive Guide to DaVinci Resolve 14: Editing, Color and Audio (Blackmagic Design Learning Series) - $9.99 (Kindle Edition) - Largely Relevant for Latest Beta. A No-brainer if you're using this system, even the free version, at this price.

Vegas Pro: Sony Vegas Pro 11 Beginner’s Guide - $16.54 (Kindle Edition) - Still Largely Relevant for Latest Version. There are few Vegas Pro books out there, but this one is decent for beginners.

----- ----- -----

Also may be of use for some people:

macOS High Sierra: macOS High Sierra: The Missing Manual: The book that should have been in the box - $11.99 (Kindle Edition)

Windows 10: Windows 10: The Missing Manual - $18.35 (Kindle Edition)

iPhone: iPhone: The Missing Manual: The book that should have been in the box - $11.99 (Kindle Edition)

Audacity: The Book of Audacity: Record, Edit, Mix, and Master with the Free Audio Editor - 20.99 (Kindle Edition) - Still Largely Relevant for Latest Version

GIMP: The Book of GIMP: A Complete Guide to Nearly Everything - $29.99 (Kindle Edition) - Still Largely Relevant to Latest Version

------ ----- -----

Lastly, RTFM applies here. Some of these NLEs ship with amazing manuals/documentation (e.g. Resolve), have context-sensitive help files (e.g. Vegas Pro, Final Cut Pro X), or have extensive Web-Based Help/Documentation and Tutorial content (e.g. Premiere Pro, Avid). Use them.

Often, they answer your questions much quicker than cluttering up the subreddit with threads you will not monitor, lacking necessary information people need to give you a decent response.

People use their personal time to be helpful here. Make it easier for them to help you. Make it easier for yourself to potentially help others. Make it easier for others to find the help they need without making redundant threads, because useless threads have buried the good search results.

u/joeswindell · 5 pointsr/gamedev

I'll start off with some titles that might not be so apparent:

Unexpected Fundamentals

These 2 books provide much needed information about making reusable patterns and objects. These are life saving things! They are not language dependent. You need to know how to do these patterns, and it shouldn't be too hard to figure out how to implement them in your chosen language.

u/zertech · 2 pointsr/cscareerquestions

There are lots of resources for your basic VBO,VBO and Vertex and fragment shader stuff. The lack of good resources come when you wanna start using some of the more advanced stuff. Its out there, but harder to find.
The OpenGL bible book and the red book are not really good for learning, although i think they do have a brief tutorial section but its not stuff you cant find on the net easy. Those books are basically API in book form. It can be useful though because you can flip through it and see some the api for features that you may not know exist otherwise. The openGL superbible and the redbook are kinda identical. but i think the superbible has a bit more tutorial stuff in it and explains things a bit more. I think it is worth buying but you will end up using other resources aswell.

One book i really do reccomend though is: OpenGL Insights
This book shows how you can do some pretty cool things really take advantage of OpenGLs features in interesting ways. I think its technically a series of papers by a bunch of different people but its very much worth a read in my opinion.

Here are some of the resources i found helpful.

u/SuperTallCraig · 5 pointsr/Filmmakers

Yeah, actually there are some good ones... and Amazon is a pretty good source.

After Effects: anything by Chris Meyer & Trish Meyer, such as this one: After Effects Apprentice: Real-World Skills for the Aspiring Motion Graphics Artist

The "Classroom in a Book" series is good too. They're a thorough and comprehensive reference. They have courses for each package you mentioned.

Adobe After Effects CC Classroom in a Book (2017 release) 1st Edition
-and-
Adobe Premiere Pro CC Classroom in a Book (2017 release) 1st Edition

Sure, the books will slowly become out of date in a few years as the software continues to evolve, but you will have learned it by then, and then core concepts and workflow will stay the same.

Some people feel more comfortable learning from books, I get it. You don't have to use online resources... But if you get stuck, google is your friend! Andrew Kramer is a great online resource for learning some more advanced After Effects techniques and tools, and as others have mentioned, Lynda.com has courses on everything.

Hope that helps. =)

u/TurkishSquirrel · 3 pointsr/learnprogramming

It depends a bit on what areas you're interested in. For interactive graphics you'll likely do OpenGL or DirectX or such.
Non real-time graphics usually means ray tracing or some variant like photon mapping where you want to produce physically correct images, with flexibility depending on your art direction e.g. Big Hero 6. With ray tracing you're essentially simulating how light interacts in the scene.

Here's some useful books/links for real time graphics:

  • Real-Time Rendering this is a great book covering a lot of theory/math topics behind real time graphics techniques, so it's agnostic to whatever rendering API you use. The book's website lists more graphics related resources and is quite good.
  • OpenGL Superbible good book focusing on OpenGL, written for beginners with the API.
  • open.gl very good introductory tutorials for OpenGL, I just wish it covered some more content. Should give you a solid start though.

    Here's some for ray tracing:

  • Physically Based Rendering this is basically the book for ray tracing, the 3rd edition should be coming out this spring though so if you want to save some money you could wait a bit. There's also a website for this book.

    For general math topics I also recently picked up Mathematics for 3D Game Programming and Computer Graphics which looks very good, though I haven't gone through it as thoroughly.

    As mentioned already /r/GraphicsProgramming is a good subreddit, there's also /r/opengl for OpenGL questions.
u/[deleted] · 6 pointsr/gamedev

It depends on what you want to learn. Are you planning to do this as a hobby? Looking to eventually be a professional game developer? Etc.

C++ will teach you how everything works at a low level, and gives you a lot of control. This is really cool, and a great learning experience. However, as a beginner, having to write an entire 2D rendering engine just to draw a sprite is a lot of work and probably terribly confusing. It'll also take longer to make games. If you're going in for the hobby development in your spare time type of experience, it's not the best way to go.

C#/XNA is great in that it does a lot of the legwork for you, but doesn't try and outright give you everything - you still have to learn how to write animations/etc. using it. I highly recommend http://riemers.net/ as a tutorial. XNA will also easily let you do games on Windows Phone and Xbox 360, so if making an Xbox game is appealing, it's a great choice.

ActionScript 3 (i.e. Flash) is actually really straightforward to use. It gives you functionality for almost everything you'll need (drawing graphics, playing sounds, an event system, etc.), and will let your games run cross-platform. I recommend FlashDevelop if you're using Windows (though getting it set up initially can be a pain due to some weird issues with Java versions, etc.). I highly recommend http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915 (though IIRC it assumes you at least know the basics of AS3 before using it - but if you have programming experience that shouldn't be hard to follow along with).

Java is pretty easy to get the hang of also, and is used for Android IIRC, so obviously games are using it.

Also, if you ever get stuck on anything or need help, feel free send me an email or something - even if it's just that you're stuck on some annoying bug or have a question on how to approach an algorithm.

u/InvisibleMan5 · 9 pointsr/gamedev

I highly recommend Real-Time Collision Detection.

This next book might not apply to your field directly, but I believe it is a good idea to be at the very least aware of what it discusses, and it is a very excellent book on its subject: The Art of Game Design: A Book of Lenses

I recommend this book as more of a reference than a tutorial; it will allow you to quickly brush up on those areas of math and physics which you will need while writing (or perhaps working with) a physics engine. I don't recommend attempting to learn the subjects through this book alone though. Game Physics

Reading 3D Math primer for Graphics and Game Development is how I learned linear algebra, although I plan on studying the subject from a textbook when I get the opportunity. I keep the book close for easy reference of the math related to 3D rendering (such as the projection and view matrices), although if you get this book you will want to read the errata document on its website. There may be better books to teach this stuff now, so please don't jump on it too hastily.

A couple books I do not own, but plan to correct that as soon as I can:
Game Physics Pearls and Real-Time Shadows

If I think of any others, I will edit this comment.

u/vblanco · 11 pointsr/gamedev

Dont listen to the people that comment about not making your engine. Making one is a great learning excersise and highly recomended to become a better developer.

I recomend you make sure your C++ is on point, and check this books:

  • Game Engine Architecture Link : Overview of more or less anything about how a entire game engine works. Written by a lead at Naughty Dog and highly educational.
  • Opengl Superbible Link : The best way to learn OpenGL (a graphics API). You can follow this book to learn how to draw stuff in 3d.
  • Real Time Rendering Link : Amazing book about GPU graphics. Its API agnostic, and very in-depth. Explains techniques and effects.

    If you dont want to do the 3d route, you can just do 2d games using the libraries SFML or SDL. SFML is easier to use, for C++, while SDL is a lot more C oriented and runs literally anywhere (including things like nintendo DS or PS4). With those you can try to make some simple games like Snake, which is a great learning project.

    If you are inexperienced, try to avoid OOP designs (do not use inheritance). It will just make things more complicated than they should.
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/ICBanMI · 3 pointsr/opengl

The guy who ripped off learnopengl is Frahaan Hussain. This is the course that Joe was talking about and here is the book that Frahaan put out. I have paged through the book, "Learn Opengl," and can verify it is a 1 to 1 copy of learnopengl. I'm not going to pay for the course, but it's looks like the one you keep quoting.

The 23 odd hour one is Ben Cook's and it is the best I've seen so far. Very straight forward, and has the best explanations for why you do things in the order you do. Gives small charts telling you the basics for doing stuff-something that learnopengl.com is bad at. The 5+ hours of theory is similar to learnopengl, but that's more because beginner opengl typically covers the same topics. It covers opengl 3.3, GLFW, GLEW, GLM, and stb_image. This one I recommend and is well worth the $5 I paid for it. Only encountered one bug in the first 14 hours, and that was because he didn't initialize a matrix to the identity matrix before using it.

There is also one by Steve Jones that I got for $5. I haven't started it, so I don't know if it's any good.

Please be specific to the names, as other people will not be.

u/Yarblek · 3 pointsr/Unity2D

I love doing procedural maps but it is an evolving art (Especially for me). I recommend that you create an interface (Programming, not user) such as IMapProvider that returns the data your game needs for a new map. That way you can iterate and improve your map generation code to your hearts content and just swap new ones in without any hassle.

Check out articles such as those on Rogue Basin and the book Mazes for Programmers.

I started with a relatively simple generator that generates a number of rooms then connects close ones with corridors until all rooms are connected. It works but is slow (Limiting map size). Later I created a new generator based on the Mazes for Programmers book that is several orders of magnitude faster and more flexible.

Also look at the blogs of people in r/roguelikedev such as the creators of spelunky and cogmind

u/phatgreen · 2 pointsr/GraphicsProgramming

https://www.youtube.com/user/ChiliTomatoNoodle/playlists

That guys youtube channel has DirectX 11 C++ tutorials. He has a beginner series, intermediate, and advanced. He still adds to the advanced occasionally, like SSE explanations and so on.

His videos are long, you really get to know him and his personality. His beginner videos teach you C++ too, he doesn't expect you to know anything going in. He swears fairly often, I thought it was funny back in high school when I watched these, but others might not.

These videos are where I started from in the very beginning, and I wouldn't be where I am programming wise if it weren't for Chilli. He has allowed me to educate myself on my own time, for free. After I had done the beginner and intermediate tutorials I went and read this.

http://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228

That will teach you the basics of 3D Programming.

http://www.amazon.com/Practical-Rendering-Computation-Direct3D-11/dp/1568817207

And that will teach you how to really understand the pipeline. Both books have their merits and both have very useful information for someone learning all this stuff. I'm currently making my own 3d game engine at the moment, so that's what understanding the information above can do for you. Takes time, though.

u/yanalex981 · 4 pointsr/computerscience

I taught myself bits in high school with "C++ for Everyone". Despite its rating, I thought it was good 'cause it has exercises, and I did a lot of them. Works really well for laying foundations. I didn't go through the whole book though, and knowing the language is only part of the battle. You need to know about algorithms and data structures as well. For graphics, trees seem really useful (Binary space partitioning, quadtrees, octrees etc).

After university started, I read parts of "C++ Primer", which was when the language really started making sense to me. You'll get more than enough time to learn the required amount of C++ by next fall, but CG is heavy in math and algorithms. If your CS minor didn't go over them (much), my old algorithms prof wrote a free book specifically for that course.

For using OpenGL, I skimmed the first parts of "OpenGL SuperBible". For general graphics, I've heard good things about "Mathematics for 3D Game Programming and Computer Graphics", and "Real-Time Rendering".

Careful with C++. It may deceptively look like Java, but honestly, trying to write good idiomatic C++ after years of Java took a major paradigm shift

u/pixeldrift · 3 pointsr/AfterEffects

A really good traditional photography course. Study the old masters (like Rembrandt, Vermeer, etc). Maybe look into a solid drawing class at your local community college. Make sure they have a good fine art program. I recommend working in charcoal.
You can find good tutorials on YouTube. Look for ones emphasizing shading and lighting. Also check out cinematography books on Amazon. There may even be some at your library if you've got a good one.


For CG specifically, this is a classic:


https://www.amazon.com/Digital-Lighting-Rendering-Voices-Matter/dp/0321928989


And more general:
https://www.amazon.com/Lighting-Cinematography-Practical-Moving-CineTech/dp/1628926929/


Try some of these for the basics:


https://www.youtube.com/watch?v=eZ5hpcn6tIM


https://www.youtube.com/watch?v=eZ5hpcn6tIM


https://www.youtube.com/watch?v=eXYfcnqorxA
https://www.youtube.com/watch?v=4-_ThOH0IOQ


https://www.youtube.com/watch?v=w_zYlc5C_FQ&t=59s


​

u/2_legit_2_quit · 1 pointr/FlashGames

I'm still trying to learn myself, but I have these two books (among a few others). I'm still working through them, so I can't give a full review, but I've seen these highly recommended from several people.

http://www.amazon.com/Foundation-Game-Design-Flash-Foundations/dp/1430218215/ref=sr_1_1_title_1_pap?s=books&ie=UTF8&qid=1394050917&sr=1-1&keywords=foundation+flash

http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?s=books&ie=UTF8&qid=1394051018&sr=1-1&keywords=foundation+actionscript


These will give you the basics to help you move on to more advanced topics. You won't be making extremely complicated games with these, but it's a start. I've tried going the online video route and youtube tutorials, and it's too scattered for me. I spent more time bouncing through different videos than I did learning. I really like the book process because it gives you a clear path of learning.

There is a more updated version of the Foundation Game Design with Flash (think it's called Game Design with ActionScript), but I heard it's not quite as good, although I haven't directly compared and contrasted them.

Also, make sure you buy these used. You'll end up spending maybe $15 total, which is way cheaper than a month watching videos on Lynda.

u/digicrush · 1 pointr/gamedev

I recommend Practical Rendering and Computation with Direct3D 11, it is not specific to game programming, but provides a good detail on how API maps to hardware and its use. This helps even if eventually end up using Unity or Unreal or other engines. Once you understand the low level architecture, it is very easy to find the corresponding API parts in OGL to accomplish similar stuff.

u/pier25 · 1 pointr/gamedev

If anyone is interested in how to actually animate objects by code, I recommend this book. It's for AS3 but the concepts hold true for any other language. Animating by code is super simple once you get the basic concepts and can become quite handy in a lot of situations.

Foundation Actionscript 3.0 Animation: Making Things Move!

u/Finoli · 1 pointr/directx

If you're really serious about getting into 3D-programming with DirectX I recommend getting a good book. A quick search on Amazon will get you the most common ones.
As for online resources my favorite is braynzarsoft.

EDIT:
My favorite books on DirectX:

Introduction to 3D Game Programming with DirectX 11

Practical Rendering and Computation with Direct3D 11

Real-Time Rendering

u/MrBushido2318 · 3 pointsr/gamedev

On the math side I read 3d Math primer for graphics and games as it was one of the only 3d math books available for the kindle. It is a pretty easy read and covers a lot of subjects. I'm considering picking up Essential Mathematics for Games and Interactive programming as a refresher if it ever gets released as an ebook since I've seen it be recommended a few times and it is a slightly more recent text.

As for the 3d programming side, it really depends on what you want to do. I chose to program in opengl and picked up the opengl superbible, which I would recommend. I've not touched directx yet, but have heard good things about Practical Rendering and Computation in Directx11 though I don't think this is intended as an introductory text for directx, but as a reference for those familiar with 3d already.

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/mrkent27 · 3 pointsr/cpp_questions

I had been working on a ray tracer for some time based on the Raytracing in One Weekend books and also Ray Tracing from the Ground Up by Kevin Suffern.

Peter Shirley's short books are a great introduction but the book by Kevin Suffern really gets into the some of the math/physics behind a ray (technically path) tracing engine.

Code is on Github. I try to follow best practices myself and the code I wrote is "pure" C++. No external libraries. It's far from being a robust engine, but for learning purposes might be simple enough to follow.

u/dWillPrevail · 1 pointr/gamedev

For a basic introduction to the concepts of 3D, Keith Peters' Foundation Actionscript 3 Animation has some really cool chapters on creating ground-up 3D and is in your native language. The AdvancED version, released afterwards, surprisingly lacked any chapters on 3D.

I followed it recently and did this (extremely simple) proof of concept following only the text in that book and sprinkling a little of my own flavor to it. If you'd like the source, PM me.

You'll have to learn how to translate it to the Molehill APIs and the new datatypes (float, float4, Vector, Matrix3D) but I highly recommend it. After doing the earlier demo, I've gotten my head around it and have been getting right into the molehill stuff.

Edit: Note that the demo above is not in molehill, nor is the book, but translating from one to the other isn't the difficult part.

u/Flafla2 · 1 pointr/Unity3D

This sounds a lot like the technique outlined in Volumetric Light Effects in Killzone: Shadow Fall in GPU Pro 5. Pretty neat!

How did you get the particles to draw to a 3D texture? I didn't think it was possible to use a command buffer or similar with shuriken particles.

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/Geemge0 · 1 pointr/gamedev

Practical D3D Rendering and Computation
Distills the API quite well and explains a lot of pitfalls with creating buffers and the pipeline usage. I'm working on just reading it so I'm familiar with D3D 11+ even though I don't use it day to day.

Real-time Rendering 3rd edition

Another fantastic reference for graphics with a more theoretical look at things, explains TONS of modern techniques and even older ones such as rasterization on CPU, etc.

u/Boboben · 3 pointsr/Filmmakers

Hmm not sure about a site but I used to have a Premiere Pro book (made by Adobe) that came with a ton of footage, basically an entire short film, to work through in each chapter. It was really helpful if you use the Adobe suite. Looks like this is the newest version

https://www.amazon.com/Adobe-Premiere-Classroom-Book-release/dp/0134665317

u/firecopy · 2 pointsr/cscareerquestions

Pleasure Reading Book (but still a little related to programming): https://www.amazon.com/Mazes-Programmers-Twisty-Little-Passages/dp/1680500554

Also, if someone can give a book recommendation about cryptocurrency, that would also be a fun read.

u/cspreddit · 2 pointsr/Cinema4D

I think that's beyond a list of common subjects clients ask for, and I'd recommend someone who is interested in "making it pop" to learn these:

u/Urik88 · 1 pointr/gamedev

Don't really know, the most complex thing I did was an RSS Reader that actually displayed the RSS Feeds using the premade Web Browser control of C# .

I read the first chapters of this book and found it quite helpful. Note that the negative reviews come from people that clearly do not have much programming knowledge.

As I said, I don't have much experience either using XNA. You're better off creating a post over here on /r/gamedev . Check this out.

u/Jephir · 10 pointsr/gamedev

Seconded, Game Engine Architecture is the best book for an overall view on engine development. I've also found these books useful for implementing engine subsystems:

u/mysticreddit · 3 pointsr/gamedev

Hey RJAG. We don't always see eye to eye but you seem to be one of the more level headed guys around here! I almost always appreciate your posts -- they usually have an interesting perspective to them -- even if they aren't well received. I probably should pay more attention to them! But enough of how reddit tends to shoot the messenger and ignore the message.

You're right -- a lot of material is total crap. Out-of-date, not explained well, piss-poor naming, poor architecture, etc.

Warning:


I first started doing professional game dev back in 1995, so I am extremely biased. I've seen the fad of programming languages, toolkits, libraries, etc., come and go. I think Boost's 1,109 lines for a simple CRC is over-engineered C++ crap compared to the ~30 lines of C/C++ you actually need to solve the real problem.

With the #include <disclaimer.h> out of the way ... ;-)

The best authors I have found are (aside from Jason obviously):

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".

u/Mofy · 1 pointr/gamedev

AS3 animation

great book on maths for animation...

u/FredFredrickson · 2 pointsr/gamemaker

I would highly recommend this book: Mazes for Programmers: Code Your Own Twisty Little Passages

I spent a few weeks working through it and it taught me a lot about iterating through grids to create mazes and paths - including an implementation or two of Dijkstra's pathfinding algorithm.

u/Natzoomy · 6 pointsr/gamedev

Ray tracing very much uses these laws to render photorealistic images, but our hardware is only just approaching the point where we can do it at interactive speeds.

Your solution would require tracing rays from all points (or a stochastic approximation of all points) on the player to the mirror- which by definition is ray tracing. The quantity of your "particles" that need to be emitted by the player needs to be a lot higher than you expect in order to converge to a quality image. Especially an image better than the lowest LOD offscreen rendering technique we use now for mirrors.

For more information on the theory behind this kind of thing, check out Advanced Global illumination

u/sadocommando51 · 3 pointsr/gamedev

I'm not a 3D programmer for very long time, but if I started today knowing what I know, I'd first go to check the basics of shader/lighting theory outside of the coding and engines, like in this book:
https://www.amazon.com/Digital-Lighting-Rendering-Voices-Matter/dp/0321928989

Then, depending on if you want to code or use material systems, there's a lot of books ant tuts online.

u/cowChewing · 1 pointr/india

then you can go with this online tutorial

or get a book 1

2

go with online tutorial then as you get comfortable go with the contents of book.

u/armadillo_turn · 2 pointsr/AskProgramming

I like the book "Mazes for Programmers" by Jamis Buck, which deals with the creation of mazes.

u/TengahMR · 2 pointsr/Revit

You might be interested in this ebook that has recently been released (I have no affiliation with the author) which may help you: https://www.amazon.co.uk/dp/B07VYBCR1X?tag=b3da0b-21

u/Theothercword · 2 pointsr/Filmmakers

Hmm I don’t have a book that I know of, haven’t used a book to learn software since Final Cut Studio was new. Premiere I learned by force since my work swapped to it and it was sink or swim, but I already was familiar with other editing software so it wasn’t so bad.

But I would imagine this kind of book is a good start:

Adobe Premiere Pro CC Classroom in a Book (2019 Release) https://www.amazon.com/dp/013529889X/ref=cm_sw_r_cp_api_i_SU1QDb9719BGK

u/saturdayplace · 1 pointr/Python

I built Python implementations of the stuff in Mazes for Programmers and it was a bunch of fun.

u/DerekVonSnitzel · 0 pointsr/vfx

That's a pretty heavy book. A more practical book would be,

digital lighting & rendering 3rd edition

u/whackylabs · 8 pointsr/opengl

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

u/adamkru · 1 pointr/3Dmodeling

When I was teaching intro 3d classes I used Jeremy Brin's book as a guide. Instead of software focus, he focused on the principals behind the technique. I don't know if there is anything newer (this was a few years ago) but you may want to start there.
https://www.amazon.com/Digital-Lighting-Rendering-Voices-Matter/dp/0321928989

u/dr_doe · 2 pointsr/Cinema4D

If you want to learn Local Illumination (the opposite of Global Illumination ;) ) you should check out this book by Jeremy Birn.


http://www.amazon.com/Digital-Lighting-Rendering-Edition-Voices/dp/0321928989/ref=dp_ob_title_bk


There is more to it than just placing some lights. E.g. making an Occlusion Sandwich, where you render a key-pass with only the light highlights, a fill pass with only the basic coloring and an Ambient Occlusion pass with AO only. You then put it back together in AfterEffects.

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/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.

u/biilly · 2 pointsr/javascript

I wrote a library Doodle.js, in the examples I ported the book code from Making Things Move - which goes into more detail about how the examples work. That should get you going.

u/jbplaya · 1 pointr/learnprogramming

I think this is the bible of Actionscript Physics, Foundation Actionscript 3.0 Animation: Making Things Move

u/flashaintdead · 2 pointsr/flash

Also, Keith Peters used be the Flash genius. Check out his Making Things Move books http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915. They maybe a bit complex for new Flash devs but you will be taught OOP from the start.