很早就想写一篇3D引擎的文章,能让初学者快速的进入3D的世界。
回想起自己学习3D计算机图形学和flash以及html5的经历,真心希望当初能有一本浅显易懂的书,带我入门,像个朋友一样告诉我各种bug以及解决办法。
现在,又要开始一个新的引擎的开发计划,就用一个大故事记录下开发过程中的点点滴滴,汇集成一个入门的教程。
题目很想叫做《自己动手写一个3D引擎》,不过想想这名字被用烂了,还是文气一些,叫做《One Love Story about 3D》。
故事的主人公是一位普通的计算机大四学生(小瓜),为了追求心爱的女生(小婷),花了6个月的时间写了一个3D引擎,并做出了一个小游戏,当心爱的女生玩到游戏结局的时候,一切真相大白~
哈哈,是不是挺俗套,不过自己感觉挺有意思的,因为从来没有看到以故事书的形式来写一本技术的,特别是爱情故事~
由于我之前主要开发flash,现在刚刚研究html5和webgl,所以引擎会随着故事的进展,以两个版本并行开发:
1.基于Stage3D的as3.0版本,对于as3.0我比较熟悉,估计引擎的稳定性会稍强一些;
2.基于WebGL的js版本,刚刚开始学习js,这是我边写边研究的过程,会参考Three.js;
在GitHub上,会开放两个版本的源代码,可以查看:
瓜瓜的GitHub,love3d是as3.0版本,gua3d是js版本,由于js版本是业余时间开发,进度上会落后于love3d版本~
每周,会更新一篇博文,重点介绍一个概念,首先从3D的基础概念开始~
分享到:
相关推荐
2012年3月,维也纳大学的研究人员宣布利用二光子平板印刷技术突破了3D打印的最小极限,展示了一辆长度不到的赛车模型。 五、3D打印的应用 3D打印的应用领域相当广泛:个性化、工业设计、医疗、食品、住房、教学...
- **Android 4.0**:2012年7月23日更新中,新增了对USB摄像头(如罗技C270)的支持,包括预览和拍照功能;增加了重力感应模块的支持,适用于特定硬件配置的210开发板;内核升级至Linux Kernel 3.0.8,增强了系统稳定...
- **第3周**(2012年10月30日):光学系统属性II,涵盖各种表面类型(如球面、非球面)、光栅和衍射表面、梯度介质、基元元素、透镜属性、成像、放大率、傍轴近似和模型等。 - **第4周**(2012年11月6日):几何像差...
- **V1.20**:修订了一些描述内容,发布于2012年3月29日。 - **V1.21**:修订了USB相关的描述,发布于2012年4月6日。 - **V1.30**:修订了一些引脚描述,发布于2012年8月24日。 - **V1.40**:修订了一些特性描述,...
“Zero”QC小组成立于2012年7月14日,由6名成员组成,包括组长邓永东在内的工艺工程师们,他们的目标是通过改善生产流程,降低GX13-3D眼镜组件板的SMT生产不良率。 2. **选题理由**: LED-3D电视市场的增长和公司...
2021年8月2日更新的版本是这个集合的最新迭代,它确保了用户能够获得最新的安全补丁和性能优化。 在Windows操作系统上,许多应用程序依赖于特定的运行库才能正常工作,这些运行库包括但不限于: 1. **Microsoft ...
- V1.10:2012年3月29日,音频编解码器部分修订了一些描述。 - V1.20:2012年4月9日,USB部分修订了一些描述。 ### 2. **关键技术项概述** #### 2.1 **ARM Cortex™-A8** - **定义**:由ARM Holdings设计的一款...
- **发布时间**: 2012年8月3日,标志着该版本的正式发布日期。 - **编辑者**: John Kessenich 和 LunarG,他们负责文档的编辑工作。 - **作者**: John Kessenich、Dave Baldwin 和 Randi Rost,他们是GLSL 1.1版本的...
在2012年8月6日,Khronos Group公布了OpenGL 4.3的新规范。这一版本的重要更新之一就是增加了计算着色器(Compute Shaders)的功能。计算着色器的加入,极大地扩展了OpenGL的应用范围,使其不仅限于传统的图形渲染,还...
这个压缩包"AlphaControls v7.59 Stable Released (19.01.2012) - Full Source.7z"包含了AlphaControls的稳定版本7.59,发布日期为2012年1月19日,提供完整的源代码。 Delphi是一款由Embarcadero Technologies开发...
【驱动名称】10MOONS天敏电视精灵4(TB400)电视卡应用程序6.0版For WinXP-32/WinXP-64/Vista-32/Vista-64/Win7-32/Win7-64/Win8-32/Win8-64(2012年12月28日发布) 【驱动描述】电视卡是不少电脑用户收看电视节目的...
LedshowTW2012是一款功能强大的LED显示内容编辑与控制软件,其2012年8月1日的12.08.01.01版本,集成了诸多改进和优化,旨在提升用户的使用体验和工作效率。此软件的核心特性在于其“万能性”,意味着它能够兼容各种...
描述符 matlab 工具箱 - 包含我在网格局部特征方面的工作的工具箱:MeshScaleDoG 局部特征检测器、比例不变自旋图像描述符和局部深度 SIFT 描述符。... 108号45, 2011 年 11 月 8 日 在使用工具箱之前,请运行compile_m
OpenGL 4.3是这个库的一个重要版本,发布于2012年8月6日,由Khronos Group维护和更新。这个版本引入了许多新特性、优化和改进,旨在提升图形渲染的性能和灵活性,同时保持向后兼容性,使得开发者可以利用最新硬件的...
- **修订历史**:最初版本于2012年11月12日发布,后于2013年6月进行了视频输出规格方面的修订。 ### 二、知识产权声明 - **版权声明**:此A31用户手册属于全智科技的原创作品,未经书面许可不得全部或部分复制,...
经过数年的完善,HTML5在2012年12月18日正式完成,成为新一代的网页标准。 HTML5的核心特性包括: 1. **语义性**:增强了页面的可读性和可访问性,对SEO友好。 2. **Canvas**:提供了2D图形绘制能力,支持动态和...