企业网站教程 优帮云,做英文网站费用,vrchat视频转码,网站源码搭建教程【游戏引擎之路】登神长阶#xff08;十四#xff09;——OpenGL教程#xff1a;士别三日#xff0c;当刮目相看
2024年 5月20日-6月4日#xff1a;攻克2D物理引擎。 2024年 6月4日-6月13日#xff1a;攻克《3D数学基础》。 2024年 6月13日-6月20日#xff1a;攻克《3D…【游戏引擎之路】登神长阶十四——OpenGL教程士别三日当刮目相看
2024年 5月20日-6月4日攻克2D物理引擎。 2024年 6月4日-6月13日攻克《3D数学基础》。 2024年 6月13日-6月20日攻克《3D图形教程》。 2024年 6月21日-6月22日攻克《Raycasting游戏教程》。 2024年 6月23日-7月1日攻克《Windows游戏编程大师技巧》。 2024年 7月2日-7月6日攻克《雅达利2600汇编游戏开发》。 2024年 7月7日-7月11日攻克《x86/x64汇编语言》。 2024年 7月11日-7月22日学习《3D游戏编程大师技巧》阶段性。 2024年 7月14日-7月18日学习《游戏引擎架构》完成。 2024年 7月23日-7月30日攻克Python语言学习。 2024年 7月31日-8月5日攻克《3D游戏编程大师技巧》。 2024年 9月10日-9月20日攻克游戏动画绑定 2024年 10月27日-10月31日攻克《C大师教程》 2024年 10月21日-11月02日攻克《DirectX11教程》 2024年 11月02日-11月06日攻克《CMake教程》 2024年 11月06日-11月10日攻克《Vulkan教程》 2024年 11月11日-11月13日攻克《OpenGL教程》 一学习笔记 真是没有想到20多个小时的《OpenGL教程》我只花了三天就学完了。 这次的OpenGL教程讲了非常多的内容比如阴影我在之前的教程中几乎都没看到过。以前我学Shader的时候也是使用Unity预置的东西。 果然好教程就是学起来轻松愉快。当然加上OpenGL的确比其它的引擎更加容易理解。《Vulkan教程》只有5小时教程但是我学了一周当然这个是因为我每天只花半天时间学习的原因。 这段时间因为肩膀受伤不能继续建模只能休息一周恢复一下下周才开始建模。所以有整天的时间来学习《OpenGL》。没想到学得这么快。 我从前也并不是一个学习非常牛逼的人最好的成绩也只是班里面前十而已。而且是偶尔不是能够保持。 我记得年轻的时候看很多学霸他们学东西都觉得非常羡慕而且觉得不可思议。他们怎么能够学那么多东西的 后来步入社会被社会上那些庸俗的理念影响说什么人35岁之后学习能力就不行了而且正好那时候我是抑郁症最严重的时期所以觉得世界一片昏暗。 我觉得我改变思维的方式是从“烧水学习法”开始的。当然这可能有其它名称或者某个著名的学习法演化过来的但是我是从“烧水学习法”才开始学习“学习”。 没错“学习”本身也是一种需要学习的东西。而再也没有什么比“学习”这样技能掌握纯熟之后给人带来这么大的变化。 “对标”这个概念从那时候起就刻在我的心里面我任何时候都用对标的思维去思考去学习。 事情就是这样的学习在我看来就是这样如果你用错误的学习方法去学习你只会得到无限的痛苦。而用正确的方法去学习你不仅学到了东西而且也学到了学习。 你的技能和知识体系是相互作用的。你学得越多你就学得越快。这前面一个学是指你的知识后面一个学是指你的学习能力。 其实从5月到现在差不多刚好半年。但我感觉这半年学的东西比我过去三年加起来还要多。 二为什么要学习基础 我现在如痴如狂地学习3D游戏的基础把一切需要掌握的知识都有教无类地学习虽然这个成语不是这么用的但我就觉得好用把自已的心态转化一下你选择学什么其实就是你做为老师要教给你自已什么别管你以前是什么人比如说你是程序员难倒就不能学建模吗。 回忆起我几年前做Unity的时候的确是一种“眼高手低”的状态。举个例子我当时做打击系统的时候还给自已的受击部位做了材质比如说金属木材这些东西被打击的时候会有不同的反应音效很合理也很牛逼。但是我当时的技术水平并不足以驾驭这些酷炫的东西。 现在我只想做一个普普通通的动作游戏能打架能探索总之就是很普通。但是我却花了很多很多心思来钻研底层的技术甚至自已去做引擎。自已做引擎倒不一定是得用自已的引擎只是这个学习的过程对于夯实自已的基础太有用了。 希望我这条路会有它的价值。 三不要犯以前的错误了 做Unity的时候我犯下一个大错导致我的软件工程灾难这个在我做引擎的时候不能再犯了。 就好比我们想象这样一个场景如果我的引擎是要同时支持DirectX12和Vulkan那么我在做这个项目的时候是不是要考虑以后兼容性的问题所以在一开始的设计之中我的系统就应该支持而不是像牛仔一样编程。比如说我会考虑使用中性的glm库而不是使用DirectXMath库。 如果自已的类过多依附于DirectX那么以后兼容就会有问题。 但是要实现这个的前提是你对于两个系统以及你做的系统要有充分的了解。 我以前用了十年的Java我对于我要做的东西都非常清楚所以我在做Unity的时候把Java中系统构架的惯性思维都用到了Unity的开发中给自已构架了一个自以为健壮当创造之后就具备工业生产能力的系统。我在和朋友聊天的时候还吹嘘自已不会像其它独立游戏开发者一样返工因为我做的系统就是“Productivity Ready”的。 但是我没有想到Unity里面全是坑。如果就是做点小游戏或者说在Unity的“舒适区”做游戏也许没什么问题。但是一但想要做点跳出这个舒适圈的东西大坑就一个接着一个来。我自以为“无敌”的系统全部都是破绽。 我想做一个开放世界真正的牛逼的开放世界 。 我不是想做一个那种别人一看就是模板的二流游戏不想让别人说你这游戏拿XX引擎的素材一拼就能做出来。 所以我痛定思痛转过身来打自已的基础甚至自已学建模。我其实最初也没想过自已做引擎的但是这真的就像是《阿甘正传》里面的故事你都跑了这么远了何不跑得更远一点呢 但是我不能再犯以前的错误了。以前我在Java中能做的事情是因为我有10年的Java经验。但是没有经验的领域就是牛仔编程或者说好听点极限编程。系统构架那套行不通只能步步为营。 真正的系统工程里的确是以架构换时间但对于新的领域要以时间换架构