程序员

首页 » 常识 » 常识 » Github霸榜从零开始学3D着色器编程
TUhjnbcbe - 2023/10/7 16:12:00
北京哪里治疗白癜风医院 http://www.victroncapital.com/m/

新智元原创

来源:Github

编辑:元子

这篇教程是今日GitHub趋势榜第一,一天便达到了星。主要介绍了通过使用Panda3D游戏引擎和OpenGL着色语言来为3D游戏添加纹理,法线贴图,泛光,环境遮挡等等。教程内容十分丰富,动图也非常生动。

Shader,是运行在GPU上的程序,中文称为着色器。它的主要用途是对三维物体进行着色处理,对光与影进行计算,以及控制纹理颜色的呈现等,最终,将游戏引擎中的几何数据转化为屏幕上的模型、场景以及特效。

吃鸡、农药、战地、塞尔达…都离不开着色器,着色器被誉为照亮虚拟世界的魔法。着色器还可以用来做后期处理,类似PS。

着色程序是一整套编译好并链接在一起的着色器的集合。着色器shader的编写需要使用着色语言GLShaderLanguage(GLSL),GLSL的语法与C语言很类似。

着色器编程不光是对开发技能的考验,更是对程序员想象力的挑战,以至于有说法称会写Shader的程序员是站在食物链顶端的人。想成为游戏开发高手,着色器编程是必备技能。

有兴趣在3D游戏中添加纹理,光照,阴影,法线贴图,环境光遮蔽了吗?好极了!今天新智元为大家带来一个Github项目,从零开始教会大家进行3D游戏着色。

以下一系列着色技术,都是具有高可移植的技巧,无论是Godot还是Unity都将适用。通过这些技术,你的游戏视觉效果将提升到新的高度。

对于着色器之间的粘合剂,作者选择了神器Panda3D游戏引擎和OpenGL着色语言(GLSL)。

Panda3D是一个强大的渲染引擎。核心渲染模块基于C++开发。Panda3D提供了Python的脚本化实用接口。

本项目code在以下环境下测试通过。

Linuxmanjaro4.9.-1-MANJAROOpenGLrendererstring:GeForceGTX/PCIe/SSE2OpenGLversionstring:4.6.0NVIDIA.73g++(GCC)8.2.Panda3D1.10.1-1

本文只对该repo做一个大致介绍,具体代码及讲解请参阅项目

1
查看完整版本: Github霸榜从零开始学3D着色器编程