News for hackers. Stuff that matters.
Re:How Unreal Renders a Frame by pault on Thursday October 26, 2017 @07:59AM (#15558093)
Does anyone know of a good book or course that does a deep dive into unreal engine source? I'm trying to level up my graphics programming skills and that seems like it would be an amazing reference, but I don't currently have the knowledge to navigate it myself.
Re:How Unreal Renders a Frame by erikbye on Thursday October 26, 2017 @12:42PM (#15560544)
Don't think there is any such book specifically for UE and its source. But there's a lot of good books on realtime rendering and graphics programming in general.

GPU Gems, Shader X and GPU Pro are good series for learning specific graphics programming techniques.

https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01....

http://www.realtimerendering.com/resources/shaderx/

For a general game engine overview: Game Engine Architecture by Jason Gregory (Naughty Dog)

Game Programming Patterns: https://www.amazon.co.uk/Game-Programming-Patterns-Robert-Ny...

Realtime rendering overview: https://www.amazon.co.uk/Real-Time-Rendering-Third-Tomas-Ake...

Related math: https://www.amazon.co.uk/Math-Primer-Graphics-Game-Developme...

Other recommendations:

http://mrelusive.com/books/books.html

http://fabiensanglard.net/Computer_Graphics_Principles_and_P...

It's fun to explore the source though, and NVIDIA has some cool experimental branches of the engine with their stuff integrated. https://github.com/NvPhysX/UnrealEngine

Re:How Unreal Renders a Frame by arca_vorago on Thursday October 26, 2017 @02:31PM (#15561654)
Have you actually taken a look at it (the source code?). It's actually very well written and easy to understand even for me (a sysadmin, not a programmer). I have a side-project in ue4 that I've been trying to dev on gnu+linux only and have been working hard to avoid the issues that games like pubg have that make them unable to run on linux (mostly because Epic has not been taking care of us linux users like they promised and the marketplace assets often only work on windows, so when a dev like the pubg guys just throws a bunch of assets in, that's why they can't get things to work on linux)

My problem is I don't know much C#, but it really confuses me why Epic decided to use C# for the framework of a C++ engine...

That project is on hold while I play with vulkan directly via https://github.com/KhronosGroup/Vulkan-Hpp.

I have too many projects.

Re:How Unreal Renders a Frame by pfranz on Thursday October 26, 2017 @12:09PM (#15560178)
Like the other commenter said, game engines are a huge topic. The game engine architecture book has a nice overview (even though it's hefty), you would probably want an equal size book on each aspect of a game engine; graphics, networking, dynamics, audio, ai, etc. I haven't read it, but also heard good things about the real time rendering book. I did look at the game engine architecture book looking for info about deferred rendering and it was fairly shallow (but thats not the goal of the book). If I remember correctly--the book actually points you to more detailed resources (papers) and books.
Re:How Unreal Renders a Frame by zfedoran on Thursday October 26, 2017 @12:42PM (#15560528)
I agree, each topic in the game engine architecture book could be another book on its own. However, it does give a good introduction and briefly touches on most of the topics in this diagram https://i.imgur.com/SxydAoF.png

(diagram is from the book)

Re:How Unreal Renders a Frame by zfedoran on Thursday October 26, 2017 @09:45AM (#15558723)
I'm not sure about unreal engine, but for a general overview the "Game Engine Architecture" book is a great starting point.
Re:How Unreal Renders a Frame by hesdeadjim on Thursday October 26, 2017 @11:22AM (#15559653)
That book is great, but it’s discussion of graphical techniques is shallow (by design, it’s an overview book). Real-time Rendering was the book given to me back when I was first learning game development:

http://www.realtimerendering.com/book.html