每日科技英文16: 我的精神导师约翰卡马克

John D. Carmack (born August 20, 1970) is an American game programmer and virtual reality engineer. He co-founded id Software.

约翰卡马克.jpg

Carmack was the lead programmer of the id video games Commander Keen,Wolfenstein 3D,Doom,Quake,Rage and their sequels. Carmack is best known for his innovations in 3D graphics, such as his Carmack's Reverse algorithm for shadow volumes.

In August 2013, Carmack took the position of CTO at Oculus VR.

  • born:出生于
  • game programmer: 游戏程序员
  • virtual reality engineer: 虚拟现实工程师
  • co-founded: 做动词,但是一般翻译成名词,共同创立者
  • lead programmer: 主程
  • Commander Keed: 指挥官基恩
  • Wolfenstein 3D: 3D-重返德军总部
  • Doom(1-3): 毁灭战士
  • Quqke(1-4): 雷神之锤
  • Rage: 狂怒
  • sequels: 续集
  • be best known for one's sth: 因...而最出名
  • innovation in sth: 在...方面的创新
  • took the position of: 出任,接管,掌管等
  • algorithm for shadow volumes: 体积阴影算法(以后会聊一下光照与阴影方面的技术,蛮有深度的一个领域)


    体积阴影.jpg

3D渲染引擎中,整个渲染流程(前向渲染方式,延迟渲染有所变化,以后再聊)可分为三个部分:

  • 可见几何体(mesh或表面,可以多种称呼,但从opengl/dx的角度来看,就是顶点缓存和索引缓存以及材质的集合体)的渲染。

  • 受灯源影响的几何体(mesh或surface)的明亮着色计算(灯光计算)

  • 阴影的计算

其中最后两步处理的时间要远远大于第一步。

其实目前主流引擎,在光影效果处理上差距各有特色,差距不算太大。

但是评估一个引擎的重要指标,渲染是一个方面,还有一个核心是速度(效率)

核心问题: 如何高效的获取:

  • 可见的几何体

  • 受灯源影响的几何体

  • 能投射阴影的几何体

这个就是引擎场景管理方面的内容了!

要说一个引擎的效率高低,三个关键:

  1. 场景管理
  2. 碰撞检测
  3. 渲染批次管理

quake1引擎在当时就是完美的解决了上面提到的问题

quake3(98年)渲染器则引入了多线程渲染,基于cmd buffer记录渲染命令,然后在渲染线程中遍历cmd buffer中的内容,调用backend(opengl)进行渲染。

目前dx11,各种游戏引擎,例如cocos2d-x3.x 中的渲染器架构(由 Zynga公司设计)以及目前见到引擎,基本都是这样的架构。基于cmd buffer进行线程数据隔离,前后帧交替渲染。

quake3 引擎中渲染器分为两部分:
前台部分api,进行可见性判断,进行材质排序,进行batch,将所有数据写入cmd buffer
后台部分api, 遍历cmd buffer,进行渲染,最终屏幕呈现。

quake是宝库。那个90后期/00年代初期的程序员真的是足够强大,也是学习的好榜样!


由于年轻时候经常出差,无聊中自学c/c++,研究3D游戏之神约翰卡马克的quake系列引擎,将近5年.

研究quake以及基于quake的扩展引擎过程中,记录了将近20本笔记,涉及数据结构,渲染器,场景管理,碰撞检测,骨骼动画,多线程,计算机图形学,数学,计算几何,刚体动力学,以及服务器等等等等各个领域。一个完整的3D引擎涉及到的技术非常多,难度很大


图片发自简书App

手抄以及打印的代码,文档等。整个quake3渲染器核心代码都手抄了一遍,在飞机上,火车上,长途汽车上阅读卡马克漂亮的c代码。这些都是我最珍贵的资料。我的程序知识的源泉来自于quake引擎。


图片发自简书App

《Doom启示录》 这本书是约翰卡马克和约翰罗梅罗的传记

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,547评论 4 374
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,787评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,175评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,752评论 0 223
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,169评论 3 297
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,056评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,195评论 2 321
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,980评论 0 214
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,724评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,872评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,344评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,667评论 3 264
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,379评论 3 245
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,202评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,992评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,189评论 2 286
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,987评论 2 279

推荐阅读更多精彩内容