3d-game-shaders-for-beginners README

The project's README from github.com/lettier/3d-game-shaders-for-beginners. As one markdown file: README.md.

3D Game Shaders For Beginners

3D Game Shaders For Beginners

Interested in adding textures, lighting, shadows, normal maps, glowing objects, ambient occlusion, reflections, refractions, and more to your 3D game? Great! Below is a collection of shading techniques that will take your game visuals to new heights. I've explained each technique in such a way that you can take what you learn here and apply/port it to whatever stack you use—be it Godot, Unity, Unreal, or something else. For the glue in between the shaders, I've chosen the fabulous Panda3D game engine and the OpenGL Shading Language (GLSL). So if that is your stack, then you'll also get the benefit of learning how to use these shading techniques with Panda3D and OpenGL specifically.

Table Of Contents

License

The included license applies only to the software portion of 3D Game Shaders For Beginners— specifically the .cxx, .vert, and .frag source code files. No other portion of 3D Game Shaders For Beginners has been licensed for use.

Attributions

(C) 2019 David Lettier
lettier.com

3d-game-shaders-for-beginners (lettier/3d-game-shaders-for-beginners)

Searching Database…

Что это такое?Пошаговое руководство по внедрению техник шейдинга для 3D-игр, таких как SSAO, глубина резкости, блум, normal mapping, туман и screen space reflection/refraction, в вашу собственную 3D-игру.
Это учебник или готовая библиотека шейдеров?Это письменный учебник с сопутствующим демонстрационным исходным кодом (.cxx, .vert, .frag), а не готовый движок или библиотека, которую можно просто подключить к проекту.
Как самому попробовать демо-шейдеры?Руководство проводит по разделам Setup, Building The Demo и Running The Demo, используя движок Panda3D и GLSL для компиляции и запуска примерной сцены.
Нужен ли мне Panda3D, чтобы использовать эти шейдеры?Демо-код требует движок Panda3D и GLSL для запуска в исходном виде, но письменные объяснения составлены так, чтобы вы могли перенести каждую технику в Godot, Unity, Unreal или любой другой движок.
Могу ли я свободно использовать код в своей игре?Лицензия распространяется только на исходные файлы .cxx, .vert и .frag; никакие другие части проекта (текст, изображения, шрифты) не лицензированы для повторного использования.
Для кого предназначено это руководство?Для начинающих, которые хотят освоить практические техники шейдинга для 3D-игр; всё объясняется концептуально, поэтому знания легко переносятся между движками.
Какие техники шейдинга здесь рассматриваются?Рассматриваются текстурирование, освещение Блинна-Фонга, коэффициент Френеля, rim lighting, cel shading, normal mapping, deferred rendering, туман, размытие, блум, SSAO, motion blur, chromatic aberration, screen space reflection/refraction, пену, flow mapping, обводку контуров, глубину резкости, постеризацию, пикселизацию, повышение резкости, dilation, зернистость плёнки, LUT и гамма-коррекцию.
Зачем использовать Panda3D, а не большой движок вроде Unity или Unreal?Panda3D и GLSL выбраны просто как лёгкий, открытый связующий слой для наглядной демонстрации шейдеров; сами концепции не зависят от движка и предназначены для переноса в другие среды.
Нужен ли предварительный опыт в программировании графики?Руководство написано для начинающих: каждая техника сначала объясняется концептуально, и только потом показывается реализация на GLSL, поэтому опыт работы с шейдерами не требуется.
Creator
lettier
Size
34 MB
Stars
20K
Updated
CommitAug 29
Age
7y
Commits · 90 Days