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、景深、泛光、法线贴图、雾效以及屏幕空间反射/折射。
这是教程,还是现成的着色器库?这是一份配有演示源代码(.cxx、.vert、.frag)的文字教程,而不是可以直接导入项目使用的即插即用引擎或库。
我该怎么自己试试这些演示着色器?指南会依次讲解 Setup、Building The Demo 和 Running The Demo 等章节,使用 Panda3D 引擎和 GLSL 编译并运行示例场景。
要使用这些着色器,我需要安装 Panda3D 吗?演示代码要按原样运行,需要 Panda3D 引擎和 GLSL;但文字讲解的写法让你可以把每种技术移植到 Godot、Unity、Unreal 或其他任何引擎上。
我能否在自己的游戏中自由复用这些代码?只有 .cxx、.vert 和 .frag 源文件适用随附的许可证;项目的其他部分(文字、图片、字体)均未授权复用。
这份指南适合谁?适合希望学习 3D 游戏实用着色技术的初学者。内容从概念层面讲解,因此所学知识可以跨引擎通用。
它涵盖哪些着色技术?涵盖纹理贴图、Blinn-Phong 光照、菲涅尔系数、边缘光、卡通渲染、法线贴图、延迟渲染、雾效、模糊、泛光、SSAO、运动模糊、色差、屏幕空间反射/折射、泡沫、流动贴图、描边、景深、色阶化、像素化、锐化、膨胀、胶片颗粒、查找表(LUT)以及伽马校正。
为什么用 Panda3D,而不用 Unity 或 Unreal 这样的大型引擎?选择 Panda3D 和 GLSL 只是因为它们轻量、开源,便于清晰地演示着色器;这些技术概念本身与引擎无关,也便于移植到其他引擎。
需要有图形编程经验吗?指南面向初学者,在展示 GLSL 实现之前会先从概念上解释每种技术,因此不需要事先有着色器编程经验。
Creator
lettier
Size
34 MB
Stars
20K
Updated
CommitAug 29
Age
7y
Commits · 90 Days