<html>

乱斗西游NeoX引擎的开发经验

NeoX眼下支持了OpenGL ES和Metal两套API。同一时候支持多线程渲染的特性。

这里写图片描写叙述


  • 逻辑和渲染拆分成两个独立的线程。更好的运用多核运算(缺点:饥饿。死锁,Crash)
  • 创建共享GL上下文来实现OpenGL的多线程渲染(!OpenGL ES上下文并不保证线程安全
  • 通过线程ID映射GLContext。每一个渲染线程独占一个GL Context
  • RenderQueue使用一个LockFree的RingBuffer运行渲染命令
  • 使用Double-Buffer(空间换时间)避免锁的使用。

注意事项:不论什么线程都能创建GPU资源,使用OpenGL时结束调用要调用glFlush(每一个GLContext都有一个CommandQueue);GPU资源销毁的操作必须在渲染线程中运行。

推荐參考BGFX库的实现



《无尽战区》渲染迭代经验

风格化的渲染在近期開始流行起来,比方Valve的Team Fortress军团要塞2、暴雪的守望先锋以及Epic的Kite Demo

军团要塞2

守望先锋


卡通风格渲染


卡通风格渲染一般具备下面特点:

  • 动漫贴图画法和着色
  • 描边处理
  • 风格化处理

TF2的解决方式是使用了:

  • Modified Lambertian Terms
  • Warping Function
  • Rim Lighting
  • Spatially-varying Directional Ambient

这里写图片描写叙述

f(x)=kd[a(n⃗ )+i=1Lciw((α(n⃗ l⃗ i)+β)r)]

Warping Function(核心) :12(n⃗ l⃗ )+12

这里写图片描写叙述

在他们的分享中也提到了线性工作流(Linear WorkFlow)的重要性,以及模型美术资源外包制作的一些坑。

这里写图片描写叙述

这里写图片描写叙述


Cloud GI(离线渲染LightMap )

关键词:Data-Parallel Octree, Radiosity, Point Cloud, Surfel

Cloud GI

CloudGI Editor

GI Result

GPU上的八叉树构建和编码

Octree Build

大致方案:

  • 全局光照算法(Point Cloud Based GI)的思路參考Point-Based Approximate Color Bleeding论文. (RenderMan使用的全局光算法)
  • 八叉树(管理点云,每一个节点记录颜色和球谐系数)高速构建算法的实现參考了Data-Parallel Octrees For surface Reconstruction论文
  • Light Map裂缝处理使用了Gutter方法

《天谕》大世界的渲染方案

资源控制

Budget系统:
全部资源都有优先级,不再用的资源尽可能换出。


LOD

  • 贴图LOD(缩略图-原图-大图):
    • 自己主动Stream大图
    • Device Lost的时候直接删除原图
    • D3D9使用DEFAULT POOL管理贴图
    • 贴图权重定义
      • 法线贴图>漫反射贴图>高光贴图
      • 离镜头越近权重越高
      • 包围盒越大权重越高?

合并DrawCall

使用Proxy系统合并模型焊接顶点以降低DrawCall。


…待续

版权声明:本文为博主原创文章。未经博主同意不得转载。 举报
  • 本文已收录于下面专栏:

相关文章推荐

网易游戏2015年暑期实习生面试经历-游戏研发project师

首先。我还是先介绍一下网易游戏吧,引用别人的一段话 作者:王选易,出处: http://www.cnblogs.com/neverdie/ 欢迎转载 ,也请保留这段声明。假设你喜欢这篇文章,请点【...

211小本的求职之路拿到腾讯阿里人人网易游戏offer

企鹅   笔试: 由于武汉的笔试是第二批城市。所以參加笔试之前,就先看了下第一批城市的笔试题。出的既有难度又有广度,涉及了方方面面。可是第二批城市的笔试题却略水。预计这应该就是企鹅简...

[面试经历]那几个月在找工作(百度,网易游戏,华为)

转自http://www.nowcoder.com/discuss/3196  九月二十多号停止了忙碌找工作的脚步。回家呆了两个礼拜。在家打算总结下自己的校招,留个纪念也攒点人品,可是回家了好吃...
  • LT163
  • LT163
  • 2016-03-19 17:56
  • 3430

2014.1 网易游戏平台开发实习面试总结

非常早就在系统上投递了简历,可是好几周厚才由回复。首先是电话联系确认了一个面试时间,之后就是简单的笔试加面试。因为之后就要回家。所以他们在时间上安排的非常紧凑。笔试+1面+2面两个小时所有搞定。第一次这么...

网易游戏技术岗在线编程题(一)

题目来源:牛客网-网易2016年研发project师编程题。1.小易的升级之路小易常常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,...

[Vulkan教程] 一: 创建VkDevice

这个系列的文章是写给对已有的D3D11和GL比較熟悉并理解多线程、资源暂存、同步等概念但想进一步了解它们是怎样以Vulkan实现的读者。

文章并不追求通俗易懂,里面有非常多术语(为了解里面的晦涩内容,建...

GDC2015(游戏开发人员大会)资料链接汇总

GDC2015 资料汇总

30分钟入门Vulkan

这篇文章是写给对已有的D3D11和GL比較熟悉并理解多线程、资源暂存、同步等概念但想进一步了解它们是怎样以Vulkan实现的读者。因此本文会以Vulkan概念之旅结束。

文章并不追求易懂(为了解里面的...

【Metal API 教程:第二讲】编写Metal Shader并渲染3D模型(上)

本文不讲述图形变换的理论(可參考计算机图形学和线性代数),图形编程(场景物体剔除、光照等)涉及到非常多的数学基础。本文直接从Shader语法阐述怎样用Metal API渲染3D物体。

【Metal API 教程:第一讲】用XCode6.1创建并调试Metalproject

2014年開始。3D图形API開始变革,逐渐開始适应新的GPU硬件特性。以苹果的Metal为首,AMD的Mantle、MS的DX12。以及SIGGRAPH期间Khronous Group发起的Open...
  • 微博
    微信
    QQ
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多仅仅同意输入30个字)

posted @ 2017-08-15 09:33  zsychanpin  阅读(238)  评论(0编辑  收藏  举报